慕粉3409521
2018-11-13 16:49
在这里,定义x难道不是右边的运算是一个整体吗?我是觉得40/9这个分式再对5取余是无法做到的。为什么大家的解释是先对40/9取整,然后再取余,有点看不懂
4%5=4是因为4小于5所以取的是它本身
int x = (m * 8 / (n + 2)) % m;
运算规则应该是先乘后除再取余 有括号的要先计算括号内的 计算结果要看看所求结果需要什么类型 如 int double
/取商 %取余
40/9=4
4%5=4
(8m/(n+2))%m 其实只要你理解了java中运算符的优先级问题 应该这个就很好理解了 希望能对你有所帮助
因为有括号啊,java里面括号的优先权最大。所以肯定是先计算(n+2),再按照乘除的顺序运算m*8/(n+2),最后再取余数%
如果int x = m * 8 / (n + 2)
然后int y = x % m
这样的话我就明白y的表达式是4 % 5,结果是4.但是int x这样的定义,为什么 int x = (40 / 9)% 5.为什么可以先运算对40/9取整再取余呢,难道右边的表达式不是一个整体吗
4%5取余商0。余数不就是4吗?
Java入门第一季(IDEA工具)升级版
1166312 学习 · 17590 问题
相似问题