目录
一、前言
在实际生活中经常会将同一件事情重复做很多次;例如一元换为1、2、5分的硬币,有多少兑换方法,在做眼保健操的第四节轮刮眼眶时,会重复的动作等。在java中有一种特殊的语句称为循环语句,可以将一段代码重复执行。循环语句分为while循环语句、do...while循环语句和for循环语句3种。
二、1.while循环语句
while循环语句与选择结构语句类似,都是根据判断条件决定是否执行大括号内的执行语句。
在上面的语法结构中,{ }中语句称为循环体,循环体是否执行取决于循环条件。当循环条件为true时,循环体就会执行。循环体执行完毕,程序继续判断循环条件,如果条件为true,则继续执行循环体,直到循环条件为false时,整个循环过程才会结束。
示例:
public calss Demo {
public static void main(String[] args){
int i = 1; //变量用于存储项
int sum = 0; //变量用于存储和
while(i <= 100) {
sum += i;
i++;
}
System.out.println("和为:" + sum);
}
}
2.do...while循环语句
do...while循环语句和while循环语句功能类似,语法结构如下:
在上面的语法结构中,do关键字后面{ }中执行语句是循环体。do...while循环语句将循环条件放在了循环体后面。这也就意味着,循环体会无条件执行一次,然后再根据循环条件决定是否继续执行。
示例:
public calss Demo {
public static void main(String[] args){
int i = 1; //变量用于存储项
int sum = 0; //变量用于存储和
do {
sum += i;
i++;
}while(i <= 100)
System.out.println("和为:" + sum);
}
}
上面while和do...while语句的运行结构一致,说明while和do...while循环能实现同样功能。但是在程序运行过程中,两种语句还是有差别的。如果循环条件在循环语句开始时就不成立,那么while循环的循环体一次都不会执行,而do...while循环的循环体会执行一次。
3.for循环语句
for循环语句时最常用的循环语句,一般用在循环次数已知的情况下。for循环语句的语法格式如下:
在上面的语法格式中,for关键字后面()中包括了三部分内容:初始化表达式、循环条件和操作表达式。他们之间用(;)分隔,{ }中的执行语句为循环体。
示例:
public class Demo {
public static void main(String[] args) {
int sum = 0; // 变量用于存储和
for(int i = 1;i <= 4; i++) { //i的值会在1-4变化
sum += i; //实现sum与i的累加
}
System.out.println("和为:" + sum); //打印累加的和
}
}
变量i的初始值为 1,在判断条件 i<=4 结果为 true 的情况下,执行循环体“sum+=i”;执行完毕后,执行操作表达式 i++,i的值变为2,然后继续进行条件判断,开始下一次循环,直到i=5时,判断条件i<=4 结果为false,循环结束,执行for循环后面的代码,打印“和为:10"。
上面for循环中sum和i的值:
循环次数 | i | sum |
第一次 | 1 | 1 |
第二次 | 2 | 3 |
第三次 | 3 | 6 |
第四次 | 4 | 10 |
4.循环嵌套
循环嵌套是指在—个循环语句的储环体中再定义一个循环语句的语法结构。while、do...while、for 这3种循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,其中最常见的是在for循环中嵌套for循环,格式如下:
for(初始化表达式;循环条件;操作表达式){
...
for(初始化表达式;循环条件;操作表达式){
执行语句
...
}
...
}
示例:
public class ReadProgram {
public static void main(String[] args){
int i = 1,a = 0;
for(; i <= 5; i++){
do {
i++;
a++;
} while (i < 3);
i++;
}
System.out.println("a的值为" + a + ",i的值为" + i);
}
}
解释: 代码中的循环结构分为两部分,外层循环和内层循环。 外层循环变量i从1开始,每次递增1,直到i小于等于5,即执行5次。在内层循环中,执行do-while循环,当i小于3时,内层循环继续执行。在内层循环中,i和a都递增1。当内层循环结束时,i的值为3,a的值为1。然后执行外层循环的下一个迭代,i递增1,此时i的值为4,a的值保持为1。重复上述过程,直到外层循环结束。 最后,输出a和i的值,结果为a的值为3,i的值为8。