2014-09-25 58 views
3

我最近註冊了一個Java類,並且我有一個關於模分的問題。Modulus Division

我在教科書得到一個例子:

(100 - 25 * 3 % 4) = 97 

請問這個等於97?我嘗試了每一種可能性,但我似乎無法弄清楚。

有人可以請這麼友善地爲我分解它。

在此先感謝。

+0

%是模數... 25 * 3 = 75,75%4 = 3和100-3 = 97。( *具有更高的優先級) – 2014-09-25 10:54:48

回答

9

運算符優先級

(100 - ((25 * 3) % 4)) = 97

25*3=75

75 MODULO 4=3

100-3=97

就是這樣。

如果您不確定運營商的優先級,那麼在任何地方都會加上括號。

+1

因此,括號中會出現(100 - ((25 * 3)%4))= 97? – 2014-09-25 10:55:50

+3

是的,看看這個頁面:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html *和%具有相同的優先級,它們從左到右進行評估,首先是*,然後是%,最後是 - 。 – StephaneM 2014-09-25 10:59:43

+0

謝謝Stephan爲您解答!欣賞它! – DaBruh 2014-09-25 12:12:42

1

運算符*,/和%被稱爲乘法運算符。它們具有相同的優先級,並且在語法上是左聯合的(它們從左到右分組)。

所以每當有一個OP1乙OP2 C和兩個OP1和OP2是*,/或%它相當於

(A OP1 B)OP2Ç

25 * 3 % 4 -> a * b % c 
    (25*3)%4->(a*b)%c 

( - )運算符是從右向左。因此 - 操作員在右側表達完成後執行計算。 所以答案是 100-(25 * 3)%4 = 100-3 = 97