/**
* 第1题:以下代码哪个是正确的?为什么?
* a. byte b = 1 + 1;
* b. byte b = 1; b = b + 1;
* c. byte b = 1; b = b += 1;
* d. byte b = 1; b = ++b;
* @author 刘德旺
* 答:选项a是对的,定义b为byte型,且值为2。
选项b是错的,b+1的结果默认转换为int型,int型不能直接转换为byte型,需强制转换。
应改为:byte b=1;b=(byte)(b+1);
选项c是对的,b+=1包含了一个隐藏的类型转换,相当于 b=(byte)(b+1);
选项d是对的,b=++b也包含了一个隐藏的类型转换。
|