java 里的i++和++i的区别

++i如下:

int i = 2;    //定义一个int类型的变量
int j = 0;    
j = ++i;      //++i的出的新的值赋值给j
System.out.println(j);    //打印出j的值

根据上面的代码输出的结果 j的值为3

i++如下:

int i = 2;    //定义两个int类型的变量
		int j = 0;
		j = i++;    //i++的值赋值给j
        System.out.println(j); //打印出j的值

根据上面的代码输出的结果 j 的值为2

明明代码都差不多可是j的值不一样,而唯一的区别就在于++对于i的左右位置不同

++i : 在这里表示被执行前+1

i++ : 在这里表示执行后i的值+1

带着这个思路来尝试着猜一下下面这行代码的运行结果

int i = 1;    //定义三个int类型的变量
int j = 0;
int c = 2;
j = i++;    //i++执行后i的值发生改变,但此时i的值还是初始值,j的值为i的初始值为1
i = i+1;    //此时i的值2,i+1的值重新赋值给i,此时赋值过后i的值则为3
c = ++i;    //++i执行前值+1,所以c的值为4
System.out.println(i);    //打印i
System.out.println(j);    //打印j
System.out.println(c);    //打印c

输出的结果为

一句话总结:i++: 先调用,后+1 ++i:先+1,后调用

经验分享 程序员 微信小程序 职场和发展