java中 ++i 和 i++ 的区别,在for循环中又有什么不同

java中 ++i 和 i++ 的区别,在for循环中又有什么不同,第1张

java中 ++i 和 i++ 的区别,在for循环中又有什么不同
  1. 普通运算中
	i++ :先赋值 后进行+1
	++i :先进行+1 后赋值
	------------------------
	int i = 0;
	i = i++;
	System.out.println(i);//结果为0
	------------------------
	int i = 0;
	i = ++1;
	System.out.println(i);//结果为1
	------------------------
	
  1. i++ 的底层实现
	int i = 0:
	------------------
	_temp = i;//0
	i = i + 1;//1
	return _temp;//0
	-------------------
	所以在运行
	i = i++; 时
	相当于i = _temp;将内存中i = i + 1;//1;进行了覆盖
	最终i = i++ 的值还是0
  1. 在for循环中
    两者的作用一致,因为循环体的逻辑为:
	 for (option1; option2; option3)
	 执行顺序为:
	 
		 option1;
		 option2;
		 循环体内容
		 option3;
		 
	因此两者运行结果相同
  1. ++i 比 i++ 的运行速度更快
	Java中 i++语句是需要一个临时变量(上文中的_temp)存储返回自增前的值
	而++i不需要。这样就导致使用i++时系统需要先申请一段内存空间,然后将值添加进去,
	最后不用了才去释放
	
	因此++i效率更高,执行速度更快

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/786500.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-05
下一篇2022-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存