有人告诉我在java的for循环语句中的i++与++i有什么区别?
一、java的for循环语句中的i++与++i的区别
1、++i是先改变i的值即加1后再使用i的值;而i++是先使用i的值在改变它的值即加。
2、for循环内部仅形式不同:当i++循环和++i循环在for循环内部,虽然形式上明显不同,但输出结果可以一样。
3、printf()输出函数内,不仅形式不同且输出结果也不同:i++和++i,二者在形式上明显不同,且输出结果也不同,输出值分别为1和2。
另外两者的运行时间有差别,当循环此时较少没多少出入,但是当我们循环的次数上去了那么这差距就有点明显了。然后仔细探考后发现:在Java中i++语句是需要一个临时变量取存储返回自增前的值,而++i不需要。这样就导致使用i++时系统需要先申请一段内存空间,然后将值赛如进去,最后不用了才去释放。多了这么一系列操作时间当然多了啊,最后建议大家以后在写for循环且不影响逻辑的情况下多使用++i,少使用i++,这也算一定程度的系统优化
延伸阅读:
二、Java for循环语句
首先执行初始化 ( initialization )步骤,并且仅执行一次。 此步骤用于声明和初始化循环控制变量,此步骤以分号 (; )结束。接下来,计算布尔表达式 ( boolean_expression )。 如果结果为: true ,则执行循环体。 如果为 false ,则不执行循环体,控制跳转到 for 循环之后的下一个语句。在执行 for 循环体之后,控件跳回到 update 语句。 此语句用于更新任何循环控制变量。 此语句可以留空,最后是分号 (; )。现在再次评估布尔表达式 ( boolean_expression )。 如果结果为: true ,则循环执行并重复该过程 (循环体,然后是更新步骤,然后是布尔表达式)。 布尔表达式为 false 后, for 循环终止。
相关推荐HOT
更多>>
oracle和sqlserver优点是什么?
一、oracle的优点 1、高性能Oracle数据库是一种高性能的数据库管理系统,它可以处理大量数据,并在几乎任何规模的应用程序中提供高可用性。Orac...详情>>
2023-10-17 23:33:40
Windows下什么客户端支持ssh远程连接MySQL数据库?
一、Windows支持ssh远程连接MySQL数据库的客户端1、PuTTYPuTTY是一个免费、开源的SSH和Telnet客户端工具,它可以在Windows上与MySQL服务器建立S...详情>>
2023-10-17 23:02:03
有什么好用的sqlserver数据库客户端软件?
1、SQL Server Management Studio (SSMS)SQL Server Management Studio 是用于管理SQL Server基础架构的集成环境。Managemen详情>>
2023-10-17 21:55:55
为什么 Informix 数据库需要定期 UPDATE STATISTICS?
一、为什么 Informix 数据库需要定期 UPDATE STATISTICS因为Informix 数据库需要定期 UPDATE STATISTICS可以查询统计优化,对频繁插入数据的表...详情>>
2023-10-17 21:25:14热门推荐
oracle和sqlserver优点是什么?
沸Windows下什么客户端支持ssh远程连接MySQL数据库?
热spyder怎样读取sql server的数据库?
热有什么好用的sqlserver数据库客户端软件?
新为什么 Informix 数据库需要定期 UPDATE STATISTICS?
memcached、Redis缓存的数据都是key-value的形式,那缓存时,具体是key、value分别是怎样的数据呢?
plsqldev里的SQL窗口文件没保存怎么找回?
HTML5的WEB SQL Database和IndexDB的用法和区别?
在oracle中,select * from dual where ”=”为什么返回的是空?
Mysql中sum和group by联用求和为什么会计算不准确?
Linux配置开机自启动执行脚本方法有哪些?
jmeter性能测试步骤?
TCL语言都能做什么?
运算符->*是什么意思?
技术干货






