结合运行结果: x=4,表示不理解

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

Sep8

2014-11-10 17:11

m=5,n7

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

结合运行结果: x=4,表示不理解


写回答 关注

21回答

  • 16_szez谋事在人_成事在天
    2014-11-11 11:23:13
    已采纳

    因为 40/9=4.4 因为int类型取整是4  %是求余符号  4÷5 余数 4

    慕斯卡308... 回复蓝色虎蛞蝓

    余数取的是能被这个数整除剩下的余数 比如 31除5 = 5*6+1 而1就是31的余数 又如 58除9 = 9*6+4 4就是58这个数的余数

    2018-05-03 19:34:53

    共 22 条回复 >

  • 慕圣351674
    2018-06-07 07:55:12

    40/9=4.4而int要取整,并且不管是40/9=4.4还是9/2=4.5都是取4即去除后面的小数而不是四舍五入。

  • 墨泽先森
    2018-03-21 19:52:57

    其实我最开始也不理解,经过群内大神讲解

    因为JAVA只去整数,所以40/9结果为4,4%5,相当于4/5,但是商必须是整数,所以就直接是4了,4/5可以除尽,但是小数,而且这样就无法取余了,初三狗为了放弃游戏正在努力JAVA,同时提升一些罗辑思维和单词量

  • wangcunc
    2017-09-20 16:24:51

    4取余5商0余4啊。

  • qq_时光_71
    2017-04-15 15:43:40

    我的理解:

    求余号% 前面的数除后面的数,取余数,和我们小时候算余数一样:9除以4余数是1,9%4 == 1

    浮点数的求余差不多,不在后面补零的余数(5.2%4.1 == 1.1),

    但浮点数的求余计算会有数据精度问题,5.2%4.1可能结果会是1.1000000005

  • 0821
    2016-12-05 23:10:43

    n+2=9;取和

    m*8=40;求积

    40/9=4;求商

    4%5=4.取模


  • 源远流长d
    2016-11-04 19:34:21

    无语了,建议先学C语言入门

  • 小可爱dd
    2016-10-31 18:53:51

    20/7×1/5,约分后相当于4/7.但是4除不了7,所以就把4落下来喽

  • 慕粉1725046274
    2016-10-28 15:54:44

    4余5不是0吗?怎么是4呀?大神?

    qq_时光_...

    4除以5,不够除,4直接成余数,

    2017-04-15 15:47:34

    共 3 条回复 >

  • wwww_
    2016-08-07 18:49:29

    ()的优先级最高,所以先算n+2=9,再算(m*5/9)=40/9,因为类型为整型故40/9的商取整数4,最后算4%5,得商0余4,故最后结果为4

  • 一万个为什么
    2016-01-07 12:11:37

    woqu ,有点逆天

  • 慕姐3542930
    2015-12-30 11:44:20

    4%5为什么余4呢

    徐离酱

    4%5得0余4 取余数4

    2016-10-11 10:04:20

    共 1 条回复 >

  • 白玦
    2015-12-05 00:09:21

    这些运算符默认都是取整操作

  • 致远163
    2015-10-10 16:10:26

    只是最后的结果要求是int类型赋值给x,怎么理解计算过程中40/9的结果也取int类型呢?

    重返艾泽拉斯 回复悟道参禅

    。。int类型怎么能算这段数字

    2017-07-02 18:55:27

    共 2 条回复 >

  • Conn丶兮兮
    2015-07-29 15:21:33

    40/9 得4 余4,因为是int类型,所以取4就行,然后4%5 得0余4,所以取余为4.

    qq_行在天... 回复慕粉32

    我想是的

    2016-10-09 16:15:54

    共 3 条回复 >

  • 残暴之血
    2015-07-17 15:45:54

    总感觉40/9之后还没有完成赋值运算,实际上赋值应当是40/9%5才对啊,为什么在40/9的时候就要取整了?

    MZS199...

    括号 亲 (40/9)%5

    2015-08-11 18:17:44

    共 1 条回复 >

  • 跑步的感觉
    2015-06-23 15:53:52

    取整,取整,取整,重要的事情说三篇。仅仅是取整,千万不要四舍五入

  • 寒衫骨半夜乌啼
    2014-12-18 18:36:32

    运算符优先级问题,()是最优先,所以先算最内层()中的内容(n+2),然后就变成了(5*8/9)%5,依然先算()内的内容,从左到右依次计算,结果取int型,变成了4%5,商为0,余4。取余为4。

  • HappyHacking
    2014-11-16 15:18:37

    首先先写成容易看的:int x = (5 * 8 / (7 + 2)) % 5;

    运算过程:

    int x = (5 * 8 / 9) % 5;

    int x = (40 / 9) % 5;// 40 / 9 = 4

    int x = 4 % 5;// 4 除以 5取余

    int x = 4;

    慕粉1474...

    int是整形。如果有1个double型。才会把int型转为double型。

    2016-09-29 22:53:15

    共 3 条回复 >

  • twocold
    2014-11-10 17:29:17

    40/9=4,都是int类型只取整数部分。

    4%5=4,4对5取余数

  • Sep8
    2014-11-10 17:12:51

    40/9%5 ??

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

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

1165171 学习 · 17581 问题

查看课程

相似问题