Java 中的模数

  1. Java 中使用 Math.floorMod() 计算两个数的模数
  2. Java 中使用%运算符计算两个数的模数

取模或取模运算符返回除法后两个整数的余数。它用于简单的任务,例如确定数字是否为偶数,以及更复杂的任务,例如跟踪圆形阵列中的下一个写入位置。

Java 中使用 Math.floorMod() 计算两个数的模数

Math.floorMod(a,b) 函数接受两个可以是 int 或 long 类型的参数。在函数中,a 是被除数,而 b 是除数。它返回传递给函数的两个参数的下限模数。say ab 的 mod 将产生大于或等于 0 且小于 b 的结果。

在下面给出的代码中,变量 num1 可以被 num2 整除;因此余数为 0。对于第二种情况,我们有相同符号的 num3num4,并且仅给出相同符号的余数。

但是,如果我们考虑被除数 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

相关文章 - Java Math

  • 在 Java 中获取双精度值的平方
  • Java 中负数的模
  • Java 中的帕斯卡三角形
  • 在 Java 中计算对数