关于类型提升(byte->int)的一点疑惑 byte b;b=4;b=b*5;//错误b*=5;//正确b=(byte)(b*5);//正确System.out.println(b);请问为啥b*=5正确呢,和b=b*5不是一个意思吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 up, 我也有类似的问题:http://community.csdn.net/Expert/TopicView1.asp?id=5141997也请大家看看 b=b*5;//错误这个错误是因为,在表达式中的常量5的类型是int的,所以b*5是进行int乘法,结果也是一个int的数,所以必须强制类型转换才行;b*=5;//正确这个正确是因为在这种缩写的表达式中,自动会把等式右边的常量5转换成等式左边的类型一致,所以是做byte乘法,所以是正确的;其它类似的b+=5;也是正确的 myeclipse导入包的问题,还是解析json的问题? 函数能这么写吗? 精简代码的问题 Java有哪些应用领域? 请问大家我想知道目前我所编写的.java文件的包路径和名称,请问如何实现,谢谢 向一个DefaultTableModel插入一行数据为何失败??? jb9正式版下载 有谁熟悉上海格尔软件公司?请谈谈 请问JAVA类似MFC CFileDialog的类是哪个? 有没有人用过Jcreator 同一段JSP程序为何在不同的文件夹下执行会有不同的结果? File类
这个错误是因为,在表达式中的常量5的类型是int的,所以b*5是进行int乘法,结果也是一个int的数,所以必须强制类型转换才行;b*=5;//正确
这个正确是因为在这种缩写的表达式中,自动会把等式右边的常量5转换成等式左边的类型一致,所以是做byte乘法,所以是正确的;其它类似的b+=5;也是正确的