Java:用括号添加整数

时间:2015-01-18 23:36:34

标签: java addition operations

考虑以下两行代码:

System.out.println((1 + (1 - 1)) / 2);
System.out.println(1 + (1 - 1) / 2);

这是我得到的输出:

0
1

为什么会这样? Java算术是否遵循PEMDAS规则?

3 个答案:

答案 0 :(得分:2)

我没有看到问题,您的代码确实遵循PEMDAS。唯一的问题是你没有得到0.5因为你正在使用整数除法。试试这个:

System.out.println((1 + (1 - 1)) / 2.0);
System.out.println(1 + (1 - 1) / 2.0);

答案 1 :(得分:1)

是的,它遵循PEMDAS规则,它也会截断答案(在小数点后切除数字而不进行舍入)。

答案 2 :(得分:0)

第一个只是(1 + 0)/2 = 1/2,因为你正在处理整数,所以它会给你0

第二个是1 + 0/2 = 1 + 0 = 1,它会为您提供1