Java原始声明

时间:2013-04-22 11:12:32

标签: java syntax operators declaration primitive

给出以下代码片段:

int i = 0;

int y = + ++i;

System.out.println(y);

结果是1.为什么这是一个有效的声明?谁能解释什么是= +?

4 个答案:

答案 0 :(得分:7)

int y = + ++i;

此行中的第一个+只是一元+运算符(请参阅:Assignment, Arithmetic, and Unary Operators)。它什么都不做。它类似于一元-运算符。上面的行相当于:

int y = ++i;

i为增量,然后将i的新值分配给y

答案 1 :(得分:2)

这里+表示该值是正的,即。 unary运算符,如果您将值更改为-,那么答案将为-1。即int y = - ++i;将提供-1

答案 2 :(得分:2)

等号后面的第一个加号是值的符号。 所以这意味着它是一个正数。

int y = - ++i;会返回-1

答案 3 :(得分:0)

Java guarantees将对其进行评估left-to-right。具体来说,++有higher precedence而不是+。所以它首先绑定那些,然后它将左右的加法操作联系起来