在 Java 中,我們經常會涉及到 % 和 / 兩個運算符,這兩個運算符雖然在計算中都是用于計算余數的,但是它們還是有一些比較重要的區別。
% 運算符
% 運算符是用于計算余數的,它的使用方式比較簡單:
int a = 10; int b = 3; int c = a % b; // 計算 a 除以 b 的余數 System.out.println("a % b = " + c); // 輸出結果為 1,因為 10 除以 3 的余數為 1
其中,% 運算符的運算規則是:
如果 a 和 b 都是正數或者都是負數,那么 % 運算的結果也為正數。
如果 a 是正數,而 b 是負數,那么 % 運算的結果為正數。
如果 a 是負數,而 b 是正數,那么 % 運算的結果為負數。
如果 a 和 b 中有一個為 0,那么 % 運算的結果為 NaN。
/ 運算符
/ 運算符是用于計算除法的,它的使用方式也非常簡單:
int a = 10; int b = 3; double c = a / (double)b; // 計算 a 除以 b 的結果 System.out.println("a / b = " + c); // 輸出結果為 3.333...
其中,/ 運算符的運算規則是:
如果 a 和 b 都是正數或者都是負數,那么 / 運算的結果也為正數。
如果 a 是正數,而 b 是負數,那么 / 運算的結果為負數。
如果 a 是負數,而 b 是正數,那么 / 運算的結果為負數。
如果 a 和 b 中有一個為 0,那么 / 運算的結果為 Infinity 或 -Infinity。
需要注意的是,為了避免整數除法產生的誤差,我們通常會將其中一個數強制轉換為浮點型,例如上面的代碼中,我們將 b 轉換為了 double 類型,這樣就能夠得到正確的結果了。
下一篇java 0和1