![深入浅出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=1738826497-6POoB4Qq4juvAK4c7N493r4vmPZ9LJBm-0-da7ec973fc1253aea8aace112857ecb8)
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=1738826497-yP1eFPPLsu6KzU3GgQVE9SVRecqmSbRH-0-17bf21fe0a94bb631f2a4a2a7372bc8a)
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=1738826497-liHUyDsdUVB8ySuWTojDQJDNcdDUr8dK-0-96458ec108a1015749c42a31108be088)
5.2.3 for循环
for循环的迭代变量声明在for语句块之内,语法为:
![](https://epubservercos.yuewen.com/A51239/23721640201031406/epubprivate/OEBPS/Images/Figure-P59_4918.jpg?sign=1738826497-QDJam1T4703dgH6mL4OuAOfWJcsgNKEd-0-32aa483dda0440a2693c3100c9aecbb8)
下面使用for循环求1到100的和。
【文件5.5】Statement4.java
![](https://epubservercos.yuewen.com/A51239/23721640201031406/epubprivate/OEBPS/Images/Figure-P59_4919.jpg?sign=1738826497-3lFvprByIUr1wsiVTGx6LFnbiawRWymr-0-c782fbcdf05679593123ff787789275f)
循环中的初始变量只会执行一次,然后进行判断,每一次执行都会先判断一次,再执行循环体部分,最后执行迭代部分的代码。
也可以在初始化部分声明多个变量,例如:
【文件5.6】Statement5.java
![](https://epubservercos.yuewen.com/A51239/23721640201031406/epubprivate/OEBPS/Images/Figure-P60_5044.jpg?sign=1738826497-nwD4FItRN4doSNwtWyOwsO8P2nX3RfLD-0-762afed0a9d5936455dd576627bc37f1)
在初始化部分声明了两个变量,所以只需要在判断部分循环50次即可。
如果将for中的初始化、判断和迭代部分全部去掉,即for(;;){},则会变成永真的循环,此时应该在for循环体里面使用break停止这个循环,否则程序将会永无休止地执行下去。