Android基础班第二天讲的问题
------------------------------------------------------------------------
面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
* byte b1 = 3;
* byte b2 = 4;
* byte b3 = b1 + b2;
byte b3=3 + 4;
* 从两方面去回答这个题
* b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
* byte类型的变量在进行运算的时候,会自动类型提升为int类型
--------------------------------------------------------------------------------
问题来了,若是将byte换成int或者long,程序是可以运行的,但是按照上面的说法,b1和b2还是两个变量啊,‘’变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值‘’,这句话是不是不对啊 |
|