这两天重新看了下java的基础知识,发觉了一个问题,代码如下:public class PackageCharacter{
public static void main(String[] args){
byte b1 = 45;
byte b2 = 34;
byte b3 = b1 + b2;
byte b = 22;
}
}我想问的是为什么b3通过不了,而b通过了。甚至我改成byte b = (int)22也通过了
public static void main(String[] args){
byte b1 = 45;
byte b2 = 34;
byte b3 = b1 + b2;
byte b = 22;
}
}我想问的是为什么b3通过不了,而b通过了。甚至我改成byte b = (int)22也通过了
byte b = 22;直接使用常数赋值时,只要这个数能被byte表示(-128~+127)就是合法的,不需要强制转换。