public static void main(String[] args) {
int x = 1 + + + + + + + + + 2;
System.out.println(x);
}
我可以编译上面的方法。是否有关于允许多个“+”运算符的任何解释?
答案 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)
这是因为虽然从语法上来说似乎错误地使用了'+',但是这种一元操作正在重演。