循环结构
while循环
while是循环语句,也是条件判断语句。当事先不知道循环该执行多少次时,就要用到while循环。while循环的格式如下;
while(循环条件判断){
语句1;
语句2;
……
语句n;
循环语句更改;
}
当while循环主体有且只有一个语句时,可以将大括号省去。在while循环语句中只有一个判断条件,它可以是任何表达式。当判断条件的值为真,循环就会执行一次,再重复测试判断条件,执行循环主体,直到判断条件的值为假,才会跳离while循环。while循环的执行的流程:
(1)第一次进入while循环前,必须先为循环控制变量(或表达式)赋起始值。
(2)根据判断条件的内容决定是否要继续执行循环,如果条件判断值为真(true),继续执行循环主体;若条件判断值为假(false),则跳出循环执行其他语句。
(3)执行完循环主体内的语句后,重新为循环控制变量赋值,由于while循环不会自动更改循环控制变量的内容,所以在while循环中为循环控制变量赋值的工作要由设计者自己来做,完成后再回到步骤(2)重新判断是否继续执行循环。
流程图如下:
使用while循环进行累加操作:
class WhileDemo{
public static void main(String[] args) {
int x = 1;
int sum = 0;
while(x <= 10){
sum += x;
x++;
}
System.out.println("1到10的累加结果为:" + sum);
}
}
运行结果:
1到10的累加结果为:55
do…while循环
do…while循环也是用于未知循环执行次数的情况,而while循环及do…while循环最大的不同就是进入while循环前,while语句会先测试判断条件的真假,再决定是否执行循环主体,而do…while循环则是每次都是先执行一次循环主体,然后再测试判断条件的真假,所以无论循环成立的条件是什么,使用do…while循环时,至少都会执行一次循环主体。do…while循环的格式如下:
do{
语句1;
语句2;
…
语句n;
循环条件改变;
}while(循环条件判断);
当循环主体只有一个语句时,可以将左、右大括号省去。第一次进入do…while循环语句时,不管判断条件是否符合执行循环的条件,都会执行循环主体。循环主体执行完毕才开始测试判断条件的值。如果判断体条件的值为真,则再次执行循环主体,如此重复测试判断条件,执行循环主体,直到判断条件的值为假,才会跳离do…while循环。执行流程:
使用do…while循环完成累加操作:
class DoWhileDemo{
public static void main(String[] args) {
int x = 1;
int sum = 0;
do{
sum += x;
x++;
}
while(x <= 10);
System.out.println("1到10的累加结果为:" + sum);
}
}
运行结果:
1到10的累加结果为:55
从程序的运行结果可以发现while和do…while的操作结果是一样的。但do…while与while循环不同的是do…while操作中就算条件不满足,也会至少执行一次。而while如果条件不满足,则一次也不会被执行。
while循环
while是循环语句,也是条件判断语句。当事先不知道循环该执行多少次时,就要用到while循环。while循环的格式如下;
while(循环条件判断){
语句1;
语句2;
……
语句n;
循环语句更改;
}
当while循环主体有且只有一个语句时,可以将大括号省去。在while循环语句中只有一个判断条件,它可以是任何表达式。当判断条件的值为真,循环就会执行一次,再重复测试判断条件,执行循环主体,直到判断条件的值为假,才会跳离while循环。while循环的执行的流程:
(1)第一次进入while循环前,必须先为循环控制变量(或表达式)赋起始值。
(2)根据判断条件的内容决定是否要继续执行循环,如果条件判断值为真(true),继续执行循环主体;若条件判断值为假(false),则跳出循环执行其他语句。
(3)执行完循环主体内的语句后,重新为循环控制变量赋值,由于while循环不会自动更改循环控制变量的内容,所以在while循环中为循环控制变量赋值的工作要由设计者自己来做,完成后再回到步骤(2)重新判断是否继续执行循环。
流程图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/61667a6c1734cd3d46b8fa986692f5db.png)
使用while循环进行累加操作:
class WhileDemo{
public static void main(String[] args) {
int x = 1;
int sum = 0;
while(x <= 10){
sum += x;
x++;
}
System.out.println("1到10的累加结果为:" + sum);
}
}
运行结果:
1到10的累加结果为:55
do…while循环
do…while循环也是用于未知循环执行次数的情况,而while循环及do…while循环最大的不同就是进入while循环前,while语句会先测试判断条件的真假,再决定是否执行循环主体,而do…while循环则是每次都是先执行一次循环主体,然后再测试判断条件的真假,所以无论循环成立的条件是什么,使用do…while循环时,至少都会执行一次循环主体。do…while循环的格式如下:
do{
语句1;
语句2;
…
语句n;
循环条件改变;
}while(循环条件判断);
当循环主体只有一个语句时,可以将左、右大括号省去。第一次进入do…while循环语句时,不管判断条件是否符合执行循环的条件,都会执行循环主体。循环主体执行完毕才开始测试判断条件的值。如果判断体条件的值为真,则再次执行循环主体,如此重复测试判断条件,执行循环主体,直到判断条件的值为假,才会跳离do…while循环。执行流程:
![](https://i-blog.csdnimg.cn/blog_migrate/7d0a0e2f87569870151b5e731e1e38d4.png)
使用do…while循环完成累加操作:
class DoWhileDemo{
public static void main(String[] args) {
int x = 1;
int sum = 0;
do{
sum += x;
x++;
}
while(x <= 10);
System.out.println("1到10的累加结果为:" + sum);
}
}
运行结果:
1到10的累加结果为:55
从程序的运行结果可以发现while和do…while的操作结果是一样的。但do…while与while循环不同的是do…while操作中就算条件不满足,也会至少执行一次。而while如果条件不满足,则一次也不会被执行。