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