java中的取余运算和取模运算的区别是什么?

java中的取余运算(remainder)和取模运算(modulus)的区别是什么?

java取余取模
2
211
小课
小课2022-08-15 16:23
1 个回答

首先要知道的是在Java中,%操作符是取余运算,如果做取模运算,可以使用Math.floorMod(a, b)方法。

result = a % b                   //取余
result = Math.floorMod(a, b)     //取模

如果a和b的正负相同,则取余运算和取模运算的结果是一致的,比如

int a = 10, b = 3;
System.out.println(Math.floorMod(a, b));  // 1
System.out.println(% b);                // 1

int a = -10, b = -3;
System.out.println(Math.floorMod(a, b));  // -1
System.out.println(% b);                // -1

如果a和b的正负不相同,取余运算的结果的正负与a一致,取模运算的结果正负与b一致。

int a = -10, b = 3;
System.out.println(Math.floorMod(a, b));  // 2
System.out.println(% b);                // -1

int a = 10, b = -3;
System.out.println(Math.floorMod(a, b));  // -2
System.out.println(% b);                // 1
2
小课
小课2022-08-15 16:56
你的回答

内容