共同点:都是取余计算
区别1:二者对于商的取整方式不同
- %,商向0取整,即商大于0时向下取整(1.67 -> 1),商小于0时向上取整(-1.67 -> -1)
- floorMod,商始终向负无穷方向取整,即商大于0时向下取整(1.67 -> 1),商小于0时向上取整(-1.67 -> -2)
System.out.println("-5%3 结果是:" + -5%3 + ",运算过程:-5 - (-1) * 3 = " + (-5 - (-1) * 3));
System.out.println("5%3 结果是:" + 5%3 + ",运算过程:5 - 1 * 3 = " + (5 - 1 * 3));
System.out.println(" ");
System.out.println("Math.floorMod(-5,3) 结果是:" + (Math.floorMod(-5, 3)) + ",运算过程:-5 - (-2) * 3 = " + (-5 - (-2) * 3));
System.out.println("Math.floorMod(5,3) 结果是:" + (Math.floorMod(5, 3)) + ",运算过程:5 - 1 * 3 = " + (5 - 1 * 3));
执行结果