黑马程序员技术交流社区
标题:
那个是正确的,我答的对吗
[打印本页]
作者:
任黎明
时间:
2014-6-4 11:27
标题:
那个是正确的,我答的对吗
2.以下代码那个是正确的?为什么?
* 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;
* 答案:
* a正确
* b错误,byte类型的 b和1进行数学算法操作时会引发自动类型提升,结果是int型的,只有进行强制类型转换才能赋值给byte型的b
* c中b=b+=1可简化为b+=1,原语句编译、运行均没有错误
* d有一个警告,b=++b;赋值给变量b没有影响,可优化为++b;
作者:
我叫MT
时间:
2014-6-4 15:30
c,d你没有答出它有一个隐式的转换,尤其是c答的很不好,这题本意就没想让你编译运行,需要了解其原理
作者:
饥渴ing
时间:
2014-6-5 16:22
c和d也是正确的。只不过是写了些没有意义的赋值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2