Java语言i = i ++ 的问题,(个人理解)

it2023-06-21  65

Java语言中的 i = i ++ 的问题

通常情况下

int i=0; int j=i++; System.out.println(i);
得到的结果肯定是 : 1;
但是当我们遇到的是 i = i++ 时候:
int i=0; i=i++; System.out.println(i); 情况就不一样了输出的结果是 0 ,; 首先要清楚这不是数学的问题, 如果是数学那么答案肯定是 1在 Java 语言中,i = i++ 并不等效于 i++ ;在 Java 中i = i++ 等效于如下的代码 : int i = 0; //等效代码 int temp = i; //就是 temp=0; int i = i+1; //此时i是变成了 2 ; //然后Java在输出之前又将之前存储的 temp=0 赋值给了 i; i = temp // 即 i = 0; //所以当我们输出的时候就会发现 i=i++ 的数值还是 i; System.out.println(i);

ps: 在C语言中 i=i++ 是等效于 i++ 的

如有错误请各位大神指点,叩谢了!!!

最新回复(0)