目录
前言
在Java语言中顺序结构的程序语句只能被执行一次;如果想要同样的操作执行多次,就需要使用循环结构。
Java中的循环控制语句有while循环、do-while循环和for循环等,循环结构的特点是在给定条件成立时,反复执行某程序段,直到条件不成立为止。
循环主要由4个部分组成
初始部分:设置循环的初始状态。
循环体:重复执行的代码
循环条件:判断是否继续循环的条件。
迭代部份:改变循环条件的值。如果没有迭代部分,会出现死循环。
while循环
语法格式
变量初始化
while(循环条件){
循环体
迭代部分
}
—>关键字while后的小括号中的内容是循环条件。
—>循环条件时一个布尔表达式,它的值为布尔类型true或false。
—>大括号中的语句统称为循环操作,又称循环体。
执行规律
- 首先执行一次初始值代码
- 判断循环条件
- 如果循环条件为true,执行{}中的循环操作代码块,执行循环操作代码块后,执行迭代部分,改变初始值,然后继续去判断循环条件,再根据条件结果决定是否执行{}中的代码
- 如果循环条件为false,结束整个while循环结构,继续往下执行while循环结构后面的代码。
注意事项
1.while语句是先判断循环条件再执行循环体,如果第一次判断条件为假,循环将一次也不执行。
2.循环操作内要有迭代部分,不然会出现死循环。
下面是while的实例代码:
public class Test {
public static void main(String[] args) {
// 使用while循环实现打印50分试卷
//初始值
int i=1;
while(i<=50){//循环条件
System.out.println("打印第"+i+"份试卷");//循环操作
//迭代部分:改变初始值,从而改变条件
i++;
}
System.out.println("试卷打印完毕");
}
}
do-while循环
语法格式
变量初始化
do{
循环体
迭代部分
}while(循环条件);
—>do-while循环以关键字do开头。
—>大括号括起来的是循环体。
—>最后的while关键字和紧随其后的小括号括起来的是循环条件。
执行规律
- 执行一次初始值操作
- 执行循环操作代码,然后执行迭代部分,执行迭代完之后,判断循环条件
- 如果循环条件为true,继续执行do后面的{}中的代码;
- 如果循环条件为false,结束整个do-while结构后面的代码。
注意事项
- do-while循环以分号结尾,分号非常重要,不能省略。
- do-while语句先执行循环体再判断循环条件,所以循环体至少执行一次。
下面是do-while的实例代码
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
/*
* 经过几天的学习,老师给张浩一道测试题,
* 让他先上机编写程序完成,然后老师检查是
* 否合格。如果不合格,则继续编写……
*/
//创建Scanner类对象
Scanner sc = new Scanner(System.in);
String answer;
do{
System.out.println("上机编程.....");
System.out.println("成绩是否合格(合格/不合格):");
answer = sc.next();
}while(answer.equals("不合格"));
System.out.println("继续努力");
}
}
for循环
语法格式
for(表达式1;表达式2;表达式3){
循环体
}
或更直观地表示为:
for(变量初始化;循环条件;修改循环变量的值){
循环体
}
—>for循环以关键字for开头
—>大括号括起来的是循环体
—>表达式1、表达式2、表达式3分别用来实现
变量初始化、判断循环条件和修改循环变量的值
执行规律
- 首先执行表达1,一般是进行变量初始化操作。
- 然后执行表达式2,即对循环条件进行判断。
- 如果结果为真,则执行循环体。
- 循环语句执行完毕后执行表达式3,改变循环变量的值,再执行表达式2,如果结果为真,继续循环
- 如果结果为假,终止循环,执行后面的语句。
注意事项
- 无论循环多少次,表达式1只执行一次。
- for语句是先判断循环条件再执行循环体,如果第一次判断循环条件为假,循环将一次也不执行。
下面是for循环的实例代码:
public class Test {
public static void main(String[] args) {
//使用for循环输出100次好好学习,天天向上
for(int i=0;i<100;i++){
System.out.println("第"+(i+1)+"次:好好学习,天天向上");
}
}
}
多重循环
(1)多重循环指一个循环语句的循环体中再包含循环语句,又称嵌套循环。
(2)循环语句内可以嵌套多层循环。
(3)不同的循环语句可以相互嵌套。
语法格式
while(循环条件1){
循环语句1
while(循环条件2){
循环语句2
}
}
do{
循环体
do{
循环体
}while(循环条件);
}while(循环条件);
for(表达式1;表达式2;表达式3){
循环体
for(表达式1;表达式2;表达式3){
循环体
}
}
while(循环条件1){
循环语句1
for(循环条件2){
循环语句2
}
}
—>外面的循环称为外层循环。
—>里面的循环称为内层循环。
执行规律
- 外层循环每循环一次,内层循环从头到尾完整的执行一遍。
- 外层循环控制行数,内层循环控制列数。
下面是多重循环的实例代码:
public class Test {
public static void main(String[] args) {
//利用双重循环结构输出九九乘法表
//外层循环变量控制行数,外层循环变量变化1次, 内层循环变量变化1遍
for(int i =1;i<=9;i++){
//内层循环变量控制每一行的列数,每一行的列数最大值跟行号相同
for(int j =1;j<=i;j++){
//输出每一个乘法算式
System.out.print(j+"×"+i+"="+(i*j)+"\t");
}
System.out.println();
}
}
}
Java循环结构对比
语法格式不同
每一种循环结构都有其独特的语法格式,各有其特点,可以根据其具体使用场景选择合适的循环结构。
执行顺序不同
- while循环:先判断循环条件,再执行循环体。如果条件不成立,退出循环。循环操作有可能一次不执行。
- do-while循环:先执行循环体,再判断循环条件,循环体至少执行一次。
- for循环:先执行变量初始化部分,再判断循环条件,然后执行循环体,最后进行循环变量的计算。如果条件不成立,跳出循环。循环操作有可能一次不执行。
适用情况不同
- 循环次数确定的情况,通常选用for循环。
- 循环次数不确定的情况,通常选用while循环和do-while循环。