博客
关于我
java for循环的这种写法怎么理解:for (; ; ) {},
阅读量:324 次
发布时间:2019-03-03

本文共 652 字,大约阅读时间需要 2 分钟。

无限循环是一种常见的编程结构,允许程序在特定条件下无限次执行代码。在C语言及其衍生物中,最常见的无限循环写法是使用空语句的for(;;)循环,或者在for循环中省略条件判断部分。这种写法虽然简洁,但需要谨慎使用,因为它可能导致程序不终止、资源耗尽等问题。

for循环的结构

for循环的基本结构为:

for (a1; a2; a3) {    // 循环体}

其中:

  • a1:表示初始化,可以省略。
  • a2:表示判断条件,可以省略。
  • a3:表示循环后,变量的变更,可以省略。

当省略条件和变更部分时,for循环变为:

for (;;){    // 循环体}

此时,循环会一直执行,除非循环体中有显式的break语句或其他终止机制。

与while循环的区别

while循环通过条件判断来决定是否继续执行:

while (true){    // 循环体}

for(;;)循环相比,while循环更直观,因为它明确地展示了条件判断逻辑。

与do循环的区别

do循环与while循环不同,它将循环体放在条件判断之前:

do{    // 循环体}while (1);

do循环的特点是循环体一定会执行一次,条件判断用于决定是否继续循环。

注意事项

无限循环虽然便于某些特定场景的需求,但也可能带来严重问题,如资源耗尽、程序不响应等。因此,在使用for(;;)或类似结构时,必须确保循环体中有有效的终止条件或break语句。

总之,无限循环是一种强大的编程工具,但需要谨慎使用,结合具体场景选择最合适的循环结构。

转载地址:http://osgl.baihongyu.com/

你可能感兴趣的文章
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement profile
查看>>
sql查询中 查询字段数据类型 int 与 String 出现问题
查看>>
org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
查看>>
org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
查看>>
sqlserver学习笔记(三)—— 为数据库添加新的用户
查看>>
org.apache.http.conn.HttpHostConnectException: Connection to refused
查看>>
org.apache.ibatis.binding.BindingException: Invalid bound statement错误一例
查看>>
org.apache.ibatis.exceptions.PersistenceException:
查看>>
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
查看>>
org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
查看>>
org.springframework.boot:spring boot maven plugin丢失---SpringCloud Alibaba_若依微服务框架改造_--工作笔记012
查看>>
SQL-CLR 类型映射 (LINQ to SQL)
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
查看>>