请问一下下面这个Java程序错在哪啊?

来源:百度知道 编辑:UC知道 时间:2024/06/22 14:54:38
public class Test4{
public static void main(String[] args){
byte x=129;
System.out.println(x);
}
}

byte型的数据最大应该是到127

程序没错,但是要注意的是整数类型默认的都是指int类型,比如你这里的128就是一个int类型,你把它赋给一个byte必须要强制转化才行,否则就会出错。但是要记住:byte类型的范围是-128---127 超过这个范围就会溢出,我估记你就是想测试溢出对吧?所以就不细说了。
程序像下面这样:
public class Test4{
public static void main(String[] args){
byte x=(byte)129;
System.out.println(x);
}
}

public class Test4{
public static void main(String[] args){
byte x=(byte) 129; --129是int类型要强制转
System.out.println(x);
}
}

楼上说的很清楚啦
byte的取值范围是 -128~127
你可以这样写
public class Test4{
public static void main(String[] args){
byte num = 127;
System.out.println(++num);
System.out.println(++num);
}
}

byte最大值是127 byte x = 129 会提示无法把整型转换成byte型