为什么java编译这个等式:78/10*10+10-78等于2?

7nbnzgx9  于 2021-07-06  发布在  Java
关注(0)|答案(3)|浏览(476)

这个问题在这里已经有答案了

java中的整数除法[重复](7个答案)
上个月关门了。
我一直在试图理解java操作符的优先级,但我无法理解别人给我的这个等式。我自己加括号得到(((78/10)*10)+10)-78,但这不应该等于2。有人能给我解释一下吗?谢谢

ru9i0ody

ru9i0ody1#

78 / 10 = 7
7 * 10 = 70
70 + 10 = 80
80 - 78 = 2

记住int/int就是int
float/int将是一个float,因此您可以执行以下操作:

(float)78 / 10 * 10 + 10 - 78 or 78.0 / 10 * 10 + 10 - 78
kiz8lqtg

kiz8lqtg2#

78 / 10 * 10 + 10 - 78 评估如下:

78 / 10 = 7
7 * 10 = 70
70 + 10 = 80
80 -78 = 2

快速演示:

public class Main {
    public static void main(String args[]) {
        System.out.println(78 / 10);
    }
}

输出:

7
mwkjh3gx

mwkjh3gx3#

因为在整数数学中78/10是7,而不是7.8
然后:

7 * 10 = 70
   + 10 = 80
   - 78 =  2

相关问题