![深入浅出Java编程](https://wfqqreader-1252317822.image.myqcloud.com/cover/969/44509969/b_44509969.jpg)
上QQ阅读APP看书,第一时间看更新
5.2 Java循环结构
生活中有很多循环的例子,比如一页一页印刷图书、绕着操场一圈一圈跑步。循环语句将根据指定的条件多次执行同一段代码(比如N次)。循环语句可以声明迭代变量,用于控制循环的次数。
5.2.1 while循环
while循环的语法是:
![](https://epubservercos.yuewen.com/A51239/23721640201031406/epubprivate/OEBPS/Images/Figure-P58_4769.jpg?sign=1738864681-DQG5Y28SaAN668NBCTkGYR69OJOzZSlM-0-4cdd6c55e2811ea2c2ce1ff57372db27)
while循环在每次循环开始前先判断条件是否成立。如果计算结果为true,就把循环体内的语句执行一遍;如果计算结果为false,就直接跳到while循环的末尾,继续往下执行。
下面使用while循环计算1到100的和,从1到100可以声明一个迭代变量。
【文件5.3】Statement2.java
![](https://epubservercos.yuewen.com/A51239/23721640201031406/epubprivate/OEBPS/Images/Figure-P59_4916.jpg?sign=1738864681-DMj9RVUrUCDUElHuBPDuqc0ethQwxpaK-0-aceeb15ab2f70a123ad46fec734630f1)
while循环语句的特点是:如果第3行处的条件不成立,则一次循环都不执行。
5.2.2 do-while循环
do-while循环会先执行一次循环代码部分再去判断。do-while与while的最大区别是do-while总会至少执行一次循环体部分的代码。
下面使用do-while求1到100的和。
【文件5.4】Statement3.java
![](https://epubservercos.yuewen.com/A51239/23721640201031406/epubprivate/OEBPS/Images/Figure-P59_4917.jpg?sign=1738864681-pXPFMmA8OraHODPQghDfa1PLuod4XRFs-0-dc370b2723e190b9e50b69893f19c0f0)
5.2.3 for循环
for循环的迭代变量声明在for语句块之内,语法为:
![](https://epubservercos.yuewen.com/A51239/23721640201031406/epubprivate/OEBPS/Images/Figure-P59_4918.jpg?sign=1738864681-R1jPuT3hiRed8kndFXCAS4eCW0LEBLUJ-0-8963a41e2761c5a8774e7c92f1b731a0)
下面使用for循环求1到100的和。
【文件5.5】Statement4.java
![](https://epubservercos.yuewen.com/A51239/23721640201031406/epubprivate/OEBPS/Images/Figure-P59_4919.jpg?sign=1738864681-26AjByxZBrp6LPKpyy3R0ch2kINQGmOF-0-05b701b6c16e614ff080c3ab7f706cb1)
循环中的初始变量只会执行一次,然后进行判断,每一次执行都会先判断一次,再执行循环体部分,最后执行迭代部分的代码。
也可以在初始化部分声明多个变量,例如:
【文件5.6】Statement5.java
![](https://epubservercos.yuewen.com/A51239/23721640201031406/epubprivate/OEBPS/Images/Figure-P60_5044.jpg?sign=1738864681-7qRu8Yj2aCoXfcIVWyE3OFj4kOAf0HZF-0-4ec06aadffe5c034287216242c88f832)
在初始化部分声明了两个变量,所以只需要在判断部分循环50次即可。
如果将for中的初始化、判断和迭代部分全部去掉,即for(;;){},则会变成永真的循环,此时应该在for循环体里面使用break停止这个循环,否则程序将会永无休止地执行下去。