int a = 0;
a++;
内部执行
int temp = a;
temp = temp + 1;
return temp;
在以下代码中:
int num = 0;
for(int i=0;i<5;i++){
num = num++;
}
System.out.println(num);
最终打印输出结果为0。
先赋值num = num;//num = 0
{
int temp = 0;
temp = temp + 1;//temp = 1
return temp;//返回temp
}
返回值并没有被num接收,因而num仍等于0,后续循环仍然执行相同的过程,最终结果num为0。
反之,若换为num = ++num;
则执行过程如下:
{
int temp = num;
temp = temp + 1;
return temp;//temp值返回给num
}
num = num;
最终输出结果为5。
上述结果仅限于Java,C++中两种方式结果都是5。