问答详情
源自:3-8 Java中运算符的优先级

运算问题困扰

int m = 5;

int n = 7;

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

运行结果如下:

m:5   n:7    x:4

这个X怎么算出来是4呢?

提问者:慕用8015125 2017-08-26 14:55

个回答

  • 慕设计2363192
    2018-07-15 14:12:31

    简单点说40/9,/是除以的意思,40除以9除不尽为止,取4,最后就是4%5,%是取余的意思,取余的算法=a-(a/b)*b,需要注意的是(a/b)取整数,所以结果余数就为4.

  • 我真的想学习
    2017-10-09 20:58:47

    因为 40/9=4.4 

    因为int类型取整是4  

    %是求余符号 

     4%5 余数 4

  • 慕数据8018003
    2017-08-26 15:13:56

    m*8=40;

    n+2=9;

    (m*8/(n+2))=40/9=4;

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

  • 小_山哥
    2017-08-26 15:11:24

    ( m * 8 / ( n + 2 ) ) = 40/9取模 4;

    4%5取余数4;

    参考:http://blog.csdn.net/wanlixingzhe/article/details/7359809