有关Java语句的说明

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

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

这是补充,然后一元加运算符重复。 它相当于以下内容:

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

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

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

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

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

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