java / =运算符中的操作优先级

时间:2017-11-05 21:08:01

标签: java math operators

我在java中有以下代码,我明白/ =的目的是什么。 我的问题是为什么代码在分割之前首先执行4-1。

int a = 20;
a /= 4-1;

如果我写出a = a/4-1;我得到4,上面的代码给出了6.

1 个答案:

答案 0 :(得分:2)

这是因为Java中的assign运算符“=”的优先级。让我们重写它以使其清楚:

p

可能是:

int a = 20;
a /= 4-1; 

与...不同:

int a = 20;
a     = a / (4-1); 

如果您愿意,也可以使用“+ =”:

int a = 20;
a     = (a / 4) -1; 

这里的第一个是:

int a = 20;
a     += 3*2; 

而不是:

int a = 20;
a     = a + 3*2;