有关Java语句的说明

时间:2010-05-11 04:05:54

标签: java

public static void main(String[] args) {
    int x = 1 + + + + + + + + + 2;
    System.out.println(x);
}

我可以编译上面的方法。是否有关于允许多个“+”运算符的任何解释?

6 个答案:

答案 0 :(得分:11)

这是补充,然后unary plus运算符重复。它等同于以下内容:

int x = 1 + (+ (+ (+ (+ (+ (+ (+ (+ 2))))))));

答案 1 :(得分:3)

原因是+可以作为一元operator,类似于如何 - 可以是否定运算符。你只是将一堆一元运算符链接在一起(最后添加一个二进制数)。

答案 2 :(得分:2)

评估为1 + (+ ... (+(+(+2))) ... ) = 1 + 2 = 3

答案 3 :(得分:0)

我认为他们将所有这些加为同一个+。因为输出是3,所以这里没有任何魔力

答案 4 :(得分:0)

你没有任何例外,它运作正常。你会得到输出3。

答案 5 :(得分:0)

这是因为虽然从语法上来说似乎错误地使用了'+',但是这种一元操作正在重演。