【发布时间】:2015-10-13 21:47:22
【问题描述】:
这是我目前的代码
public class Test1
{
public static void main(String[] args) {
int result = 13 - 3 * 6 / 4 % 3;
System.out.print(result);
}
}
我得到的输出是 12,但它不应该是 -13 吗?
【问题讨论】:
-
为什么应该是
-13? -
@SotiriosDelimanolis -3 * 6 是 -18,-18 / 4 是 -4(它是 int,所以它会去掉小数部分)。 -4 % 3 是 -1,-1 * 13 是 -13 不是吗?
-
说真的,如果您认为运算符优先级是错误的,至少请指定您认为的优先级应该如何......
-
为什么是
-3?这不是一元-。 -
@popovitsj 我在评论中做了一些原因,它不允许我把它放在 OP 中
标签: java operator-keyword operator-precedence