Java面试题02_15(第一阶段基础)

02.15_Java语言基础(面试题之变量相加和常量相加的区别)(掌握)

 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
* byte b1 = 3;
* byte b2 = 4;
* byte b3 = b1 + b2;		//有问题
	* 从两方面去回答这个题
	* b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
	* byte类型的变量在进行运算的时候,会自动类型提升为int类型 

![在这里插入图片描述](https://img-blog.csdnimg.cn/20181110233420651.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JpbmdlX2tvbmc=,size_16,color_FFFFFF,t_70)

* byte b4 = 3 + 4;		//可以
	* 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了 

猜你喜欢

转载自blog.csdn.net/binge_kong/article/details/83934477