Java原始声明

Pet*_*zki 1 java syntax primitive declaration operators

给出以下代码段:

int i = 0;

int y = + ++i;

System.out.println(y);
Run Code Online (Sandbox Code Playgroud)

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

Jes*_*per 7

int y = + ++i;
Run Code Online (Sandbox Code Playgroud)

+这一行中的第一个只是一元运算+符(参见:赋值,算术和一元运算符).它什么都不做.它类似于一元运算-符.上面的行相当于:

int y = ++i;
Run Code Online (Sandbox Code Playgroud)

然后递增i,然后分配ito 的新值y.