一条没看懂的语句!

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

JE_DK

2017-06-28 21:48

 ""x""为什么结果显示为"4"主要是这条语句""int x=(m*8/(n+2))%m;"没看明白"

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);

}

}


写回答 关注

5回答

  • 慕圣8424433
    2017-06-29 16:44:36

    int m = 5;

    int n = 7;

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

    有括号先算括号里的内容,和数学里的算法顺序一样。先算(n+2)=9,再算m*8=40,再算m*8/(n+2)=4,除法取商;再算(m*8/(n+2))%m=4,%表示除法取余数。

  • 慕娘1434312
    2017-06-28 22:40:33

    m*8=40

    40/9=4(取整)

    4%5=4(求余数)

  • 孤单看客
    2017-06-28 22:08:50

    /是取商

  • 慕粉3398068
    2017-06-28 22:01:37

    m*8=40;

    40/9=4;取整

    4%5=4;取余


  • 明天何其多
    2017-06-28 22:01:24

    5*8/9)%5=(40/9)%5=4%5=4
    40/9=4.4444,因为定义的是整数型所以运算结果只取4整数。
    4%5=0余4,所以运算结果是4.

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

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

1165172 学习 · 17581 问题

查看课程

相似问题