Java別說取餘(%)運算簡單,你真的會嗎?

Java別說取餘(%)運算簡單,你真的會嗎?

一,直擊現場

下面我來丟擲幾道題:
說明m是商,n是餘數;
(1)正數%正數
3%2=m…….n
2%3=m…….n
(2)正數%負數或者負數%正數
-3%2=m…….n
3%-2=m…….n
-2%3=m…….n
2%-3=m…….n
(3)負數%負數
-3%-2=m…….n
-2%-3=m…….n

二,驗證時刻

下面的結果沒有商m只有餘數n;有沒有全部答對呢?沒有的話來看總結吧
這裡寫圖片描述

三,總結

(1)
3%2=1…….1
2%3=0…….1
正數除以正數:

商正餘正

(2)
-3%2=-1…….-1
3%-2=-1…….1
-2%3=0…….-2
2%-3=0…….2
除數或者被除數其中之一為負數:

先按正數計算,商負餘同被除數

(餘數和被除數同號)你可能對結果0有疑問,你可以把它當成負0,因為被除數=除數*商 餘數,所以被除數是希望商乘以除數的結果是接近它的(如最後一組數被除數2是希望-3乘以0後的結果是接近它的,所以可以理解為0是負0,這樣就普遍適用了)
(3)
-3%-2=1…….-1
-2%-3=0…….-2
兩個數都是負數:

先按正數計算,商正餘負

(對於第二組可理解為0是正0,解釋同上)