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循环执行流程
相关文章
-
java中a=a+b和a+=b真的一样吗?
这是一道笔试题,说实话我就是再复习两年,也不会复习到这个题。 既然遇到了,就了解清楚吧:
NEW个对象 2025-01-13
-
链表反转
链表反转
NEW个对象 2025-02-12
-
有哪些数据安全的方案?
1、锁 2、单线程,比如:redis 3、不共享变量,比如:ThreadLocal 4、原子操作,比如:AtomicInteger 5、不可变模式,比如:一旦创建不能修改,修改就会再次创建一个新的对象,String 6、读写分离,写时复制,比如:CopyOnWriteArrayList
NEW个对象 2025-02-11