我是一名java学习的初学者,我涉及到数据类型转换时有一个点把我难住了。
①当要把数据范围大的数据类型赋值给数据范围小的类型的时候需要强制类型转换。
所以就出现了类似 --》 int a = (int) 99.9;等表达式,那byte类型的数据范围比int类型的数据范围小,为何在赋值时不时 --》byte a = (byte)10;?而是直接的 --》 byte a = 10;呢?
我是一名java学习的初学者,我涉及到数据类型转换时有一个点把我难住了。
①当要把数据范围大的数据类型赋值给数据范围小的类型的时候需要强制类型转换。
所以就出现了类似 --》 int a = (int) 99.9;等表达式,那byte类型的数据范围比int类型的数据范围小,为何在赋值时不时 --》byte a = (byte)10;?而是直接的 --》 byte a = 10;呢?
int b=2;
byte b1=b;//b为int变量,无法直接赋值给byte
byte b2=2;//整数型常量且在byte范围内,编译自动默认为byte,通过
byte b3=288;//超出byte范围编译不通过
如果把一个较小的整数型常量(在byte或short范围内)赋值给byte或short,系统在编译时会自动将这个整数型常量当作byte或short来处理