Java 求余
字数
359 字
阅读时间
2 分钟
1 % & Math.floorMod
在 Java 中,% 运算符和 Math.floorMod 方法都可以用来进行模运算,但是它们处理负数的方式不同。(% -> fix => 0 ,Math.floorMod => -∞)
%运算符:这是 Java 中的取余运算符。当被除数和除数都是正数时,它的行为和我们通常理解的模运算是一样的。但是,当被除数是负数时,它的结果也会是负数。例如,-10 % 3的结果是-1。这是因为-10除以3的商是-3,余数是-1,所以-10 % 3的结果是-1。
java
int result = -10 % 3; // result 的值为 -1Math.floorMod方法:这是 Java 8 中新增的一个方法,它用来进行数学意义上的模运算。无论被除数是正数还是负数,它的结果都是正数。例如,Math.floorMod(-10, 3)的结果是2。这是因为-10除以3的商是-4,余数是2,所以Math.floorMod(-10, 3)的结果是2。
java
int result = Math.floorMod(-10, 3); // result 的值为 2在凯撒密码的加密和解密过程中,我们需要进行循环偏移,这就需要用到模运算。当我们需要处理负数时,Math.floorMod 方法会比 % 运算符更加方便,因为它可以保证结果总是正数。