java中a=a+b和a+=b真的一样吗?
byte b=233,byte a=233,b= a+b,与b+=a的区别。
因为 a 和 b 是 byte 类型,而在 Java 中,所有小于 int 的整数类型(byte、short 和 char)在参与算术运算时会被自动提升为 int 类型。
所以a+b的类型是int,b是char,所以为报编译错误。
b += a 是复合赋值运算符的写法,等价于 b = (byte)(b + a),因为b=233,a=233,所以存在溢出风险。
上一篇:sleep与wait的区别
下一篇:for循环执行流程
相关文章
-
如何创建线程池?
1、通过ExecutorService,
NEW个对象 2025-02-19
-
java异常分类
java异常分类
NEW个对象 2025-01-18
-
OOM问题排查过程?
OOM问题排查过程? 1、分析内存的使用情况 jstat -gc pid 1000,查看内存使用情况
NEW个对象 2024-10-26