Java 中的模數

Rupam Yadav 2023年10月12日
  1. Java 中使用 Math.floorMod() 計算兩個數的模數
  2. Java 中使用%運算子計算兩個數的模數
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
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

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

相關文章 - Java Math