问答详情
源自:3-8 Java中运算符的优先级

运算符优先级算出来的结果不一样,请问我哪里错了

public class HelloWorld {

    public static void main(String[] args) {

int m = 5;

int n = 7;

int x=(m*8/(n+2))%m;

System.out.println("m:" + m);

System.out.println("n:" + n);

System.out.println("x:" + x);

}

}

课程给的答案,x=4

可是我自己算不来不一样,请高人解答一下

int x=(m*8/(n+2))%m

我自己计算出来是x=(5*8/(7+2))%5

第一步计算7+2=9

第二步计算5*8/9=3

第三步计算3%3=0

x=0

但课程告诉我x=4,懵圈了,没弄明白

提问者:慕粉13567666019 2016-06-26 16:05

个回答

  • weibo_Cc_Maiden月_03594558
    2016-07-08 11:14:16

    第二步计算的话是取模:5*8/9=40/9=4

    第三步计算的话是取余:4%5=0余4,所以取4

    x最后赋值为4

  • 慕粉3294353
    2016-06-26 16:15:26

    第二步是5*8/9=4

    第三步是4%5=4

    然后x=4