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

来源:3-8 Java中运算符的优先级

慕粉13567666019

2016-06-26 16:05

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,懵圈了,没弄明白

写回答 关注

2回答

  • 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

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165601 学习 · 17587 问题

查看课程

相似问题