cattyllo1 2022-05-05 21:30 采纳率: 0%
浏览 32

找出错误语句,及其原因

public class Test {

   public static void main (String args[ ]){

           byte b = 'a';    //A

           int n = 100;

           char c = 65;    //B

           b = b;    //C

           b= b + 1;    //D

   }

}

  • 写回答

1条回答 默认 最新

  • 溪风沐雪 2022-05-05 21:38
    关注

    真正不能编译的只有最后一句,因为b是byte类型,可以+1,但是+1后是按整形计算的,不能直接赋值给byte类型,需要强制转换,倒数第二句不算错,但是没有意义,我加了打印语句,题主可以看一下结果

    public class Test {
        public static void main (String args[ ]){
                byte b = 'a';    //A
                int n = 100;
                char c = 65;    //B
                System.out.println(b+", "+ n + " ,"+c);
                b = b;    //C
                b = (byte)(b + 1);    //D
                System.out.println(b+", "+ n + " ,"+c);
      
        }
     }
    
    

    img

    评论

报告相同问题?

问题事件

  • 修改了问题 5月5日
  • 创建了问题 5月5日