小白问题二

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

慕粉1204256817

2017-03-25 22:13

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

n=5
m=7
x=4

我就不明白x为毛是4

求教各位?

写回答 关注

5回答

  • frece
    2017-03-26 12:05:12

    题目:

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

    n=7
    m=5

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

              =(40/9) % 5

              = 4%5          //   计算40 / 9 = 4.444  取整之后为 4

             = 4                

    除法运算是:(被除数 - 余数) ÷ 除数 = 商  也就是  商 x 除数  + 余数 = 被除数,

    所以,4除以任何一个比4大的数n 都是商0余4,  这样 0 x n + 4 = 4  这个逻辑才是正确的,不然楼主以为结果是几,代进去试试就会发现问题了

  • qq_顿首_0
    2017-03-26 00:04:19

    写反了的话,值应该是4呢;对于%运算,如果分子小于分母,则商为0,余数为分子;/运算,商有整数部分则取整数部分,无则为0 

  • PerFecter_Q
    2017-03-25 22:30:16

    /是取整数,%是取余数

    PerFec... 回复慕粉1204...

    5*8=40 7+2=9 40/9=4 4%5=4 分子大于分母,或者分子为零,那么余数就是分子 即,4/5=0;4%5=4

    2017-03-26 01:57:05

    共 2 条回复 >

  • PerFecter_Q
    2017-03-25 22:29:03

    7*8=56

    5+2=7

    56/7=8

    8%7=1

    按照你给出的定义,X是等于1的。在eclipse上运行后,结果也是1。

    慕粉1204...

    n和m值写反了,抱歉,这应该是多少?

    2017-03-25 22:31:38

    共 2 条回复 >

  • 王小小明
    2017-03-25 22:25:59

    m的值为7,7*8=56,n的值为5,5+2=7,56除7=8,8%7=1,不是4 ,伙计,不知道你是怎么得出的4.

    慕粉1204... 回复慕瓜9932...

    3是不对的,你算错了把?

    2017-03-25 22:53:56

    共 4 条回复 >

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

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

1165559 学习 · 17587 问题

查看课程

相似问题