核心内容摘要
企业级JDK三大突破:分布式系统性能优化实践指南
Java操作符进阶算术与移位操作符解析
算术操作符Java的算术操作符用于基本数学运算int a 10, b 3; System.out.println(a b); // 13 System.out.println(a - b); // 7 System.out.println(a * b); // 30 System.out.println(a / b); // 3 (整数除法截断) System.out.println(a % b); // 1 (取模)注意点整数除法会丢弃小数部分取模运算结果符号与被除数一致浮点数运算存在精度问题double c
1, d
2; System.out.println(c d); //
30000000000000004
移位操作符移位操作符直接操作二进制位左移低位补0相当于乘2的n次方int x 8; // 二进制: 1000 System.out.println(x
; // 32 (二进制:
带符号右移高位补符号位相当于除2的n次方向下取整int y -8; //
..1000 (补码) System.out.println(y
; // -2 (保留符号位)无符号右移高位补0无符号处理int z -8; System.out.println(z
; // 1073741822 (高位补
0)
综合应用// 快速乘2的幂次 int num 7; int doubled num 1; // 14 // 提取特定位 int flags 0b1101; int thirdBit (flags
1; // 1 // 高效实现2^n int power 1 10; // 1024
四、
注意事项移位超过数据类型长度时实际位移数为n % 32int或n % 64long浮点数不能直接使用移位操作符复合赋值操作符如可提升代码简洁性重要公式左移等价乘法$$ a n a \times 2^n $$右移等价除法$$ a n \lfloor a / 2^n \rfloor $$通过深入理解位操作可显著提升算法效率和底层控制能力。
建议通过二进制转换工具验证实际位变化。