Java 中的模数
取模或取模运算符返回除法后两个整数的余数。它用于简单的任务,例如确定数字是否为偶数,以及更复杂的任务,例如跟踪圆形阵列中的下一个写入位置。
Java 中使用 Math.floorMod()
计算两个数的模数
Math.floorMod(a,b)
函数接受两个可以是 int 或 long 类型的参数。在函数中,a
是被除数,而 b 是除数。它返回传递给函数的两个参数的下限模数。say a
和 b
的 mod 将产生大于或等于 0 且小于 b 的结果。
在下面给出的代码中,变量 num1
可以被 num2
整除;因此余数为 0。对于第二种情况,我们有相同符号的 num3
和 num4
,并且仅给出相同符号的余数。
但是,如果我们考虑被除数 num5
为正而除数 num6
为负的第三种情况,余数将带有除数的符号。同样,在最后一种情况下,num7
仍然是负数;结果只带有正除数的符号。
import java.lang.Math;
public class Main
{
public static void main(String[] args) {
int num1 = 20, num2 = 4;
System.out.println(Math.floorMod(num1, num2));
int num3 = 113, num4 = 30;
System.out.println(Math.floorMod(num3, num4));
int num5 = 113, num6 = -30;
System.out.println(Math.floorMod(num5, num6));
int num7 = -113, num8 = 30;
System.out.println(Math.floorMod(num7, num8));
}
}
输出:
0
23
-7
7
Java 中使用%
运算符计算两个数的模数
余数%
运算符也用于余数运算。模数和余数之间存在细微差别。如上所述,a 和 b 的模的结果总是大于或等于 0,并且小于 b(除数)。
如果我们参考下面使用 num1 % num2 给出的示例,我们将确定 num1
是偶数还是奇数。如果 num1 % num2 的余数等于 0,则该数字为偶数,否则为奇数。在 % 运算中,结果带有被除数的符号,如果我们取 num3 % num2
,这是可见的。等式 -23 % 2
等于 -1,因此是红利的符号。
同样,如果被除数为正,则所得余数为正。例如 num1 % num4
结果为正余数。等式 17 % -3
等于 2。
public class ModTest {
public static void main (String args[]) {
int num1 = 17;
int num2 = 2;
boolean result = false;
if(result = (num1 % num2) == 0){
System.out.println("Number "+num1 + " is even");
}else{
System.out.println("Number "+num1 + " is odd");
}
int num3 = -23;
int num4 = -3;
System.out.println("Remainder1: " + num3%num2);
System.out.println("Remainder2: " + num1%num4);
}
}
输出:
Number 17 is odd
Remainder1: -1
Remainder2: 2
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn