为啥x=4?有大佬解释下吗?

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

qq_慕虎233714

2019-03-28 22:05

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

写回答 关注

4回答

  • 慕盖茨3258004
    2020-12-02 11:14:10

    你可以自己变化下代码,就会发现只有m和n都为int的时候会得到4的结果。如果m或n任意一个为double,结果就不是4,而是4.XXXXXXXXXX。。。

    说明只有所有运算数字都是int,那么运算结果就会是int。如果任意一个不是int,则得出来的结果也不是int。

  • 洛笙厌璃
    2020-01-07 11:46:19

    按照优先级顺5*8/9是同级,从左到右即可,按照数据类型取整,结果等于4,4%5=4,如果除数比被除数大,余数就为被除数,(前者为被除数)。

  • 幕布斯5352958
    2019-06-20 10:24:14

    “/”这个是整除,结果取整数

  • 慕前端2361318
    2019-03-29 00:48:17

    int m=5,n=7;

     int x =(m*8/(n+2))%m;可以看成

    x=(5*8/(7+2))%5

    x=(40/9)%5

    //40除以9因为两个数都为integer,所以结果也是integer,只取整数等于4,

    //4向5取余得4


    qq_慕标2...

    //4向5取余得4 如果4的余数大于五 那x就等于5了吧?

    2020-01-07 08:57:13

    共 1 条回复 >

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

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

1165172 学习 · 17581 问题

查看课程

相似问题