C/C++中%只能是对整数取余,而java中%还可以对浮点数取余。![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tPN1FYgs-1658898825731)(C:\Users\19271\AppData\Roaming\Typora\typora-user-images\image-20220727110426516.png)]](https://1000bd.com/contentImg/2022/07/30/211907814.png)
1.左移<<:左边舍掉,右边补零
2.右移>>:右边舍掉,左边补符号位
3.无符号右移>>>:右边舍掉,左边补0
另:没有所谓的无符号左移,产生效果与左移相同,没有存在的必要性
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3HAE7KxG-1658898825733)(C:\Users\19271\AppData\Roaming\Typora\typora-user-images\image-20220727121352939.png)]](https://1000bd.com/contentImg/2022/07/30/211908107.png)
使用像+=这样的增量操作符,对于不同类型的操作数进行运算时,(C/C++、java)都可以自动产生强制类型转化的结果。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vYE523hx-1658898825735)(C:\Users\19271\AppData\Roaming\Typora\typora-user-images\image-20220727123926277.png)]](https://1000bd.com/contentImg/2022/07/30/211908248.png)
这里会Java结果为10,而C/C++结果为11。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8f81rHVm-1658898825736)(C:\Users\19271\AppData\Roaming\Typora\typora-user-images\image-20220727102517599.png)]](https://1000bd.com/contentImg/2022/07/30/211908393.png)
一般而言,我们是把它看作位运算符的。但是在它左右两边都是表达式的时候,它可以做逻辑判断,但是没有短路规则。
java和C/C++中都是这样的。但不一样的点是java要求此运算符左右必须是结果为布尔型的表达式。

