栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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效率更高,执行速度更快
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/840743.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号