Java中 ++i 和 i++

i++:是先把i拿出来使用,然后再+1;

++i :是先把i+1,然后再拿出来使用;

故 a = i++是 先把原来的i赋值给a,i再自加1
a = ++i 是 先把i自加1操作,然后将结果赋值给a

需要琢磨的一个东西:

a = a ++;// a还是没变
a = ++ a; // a加了1

下面的程序用于展示

	public static void main(String[] args) {
		int i = 1;
		System.out.println(i++ + i++);// 3
		System.out.println("i=" + i);// i=3
		System.out.println(i++ + ++i);// 8
		System.out.println("i=" + i);// i=5
		System.out.println(i++ + i++ + i++);// 18
		System.out.println("i=" + i);// i=8
	}

分析:
1、先取i的值为1,然后i自加1为2,取i的值为2,相加得到3,i自加1为3
2、先取i的值为3,然后i自加1为4,然后i自加1为5,相加输出8
3、取i的数值为5,i自加1为6,取i的数值为6,i自加1为7,取i的数值为7,i自加1为8,整体5+6+7=18

发布了58 篇原创文章 · 获赞 0 · 访问量 1011

猜你喜欢

转载自blog.csdn.net/Mason97/article/details/104318539