循环结构
1. 什么是循环?
1.1 生活
我们上班、上学、甚至是一些回复都是循环的过程。
循环:反复地连续做某事。
周而复始,有规律性,重复的内容。
1.2 程序
public class Demo1 {
public static void main(String[] args) {
System.out.println("好好学习,天天向上,上学期间,不搞对象,关起门来都是一家人,搞对象那是乱伦。");
System.out.println("好好学习,天天向上,上学期间,不搞对象,关起门来都是一家人,搞对象那是乱伦。");
System.out.println("好好学习,天天向上,上学期间,不搞对象,关起门来都是一家人,搞对象那是乱伦。");
System.out.println("好好学习,天天向上,上学期间,不搞对象,关起门来都是一家人,搞对象那是乱伦。");
System.out.println("好好学习,天天向上,上学期间,不搞对象,关起门来都是一家人,搞对象那是乱伦。");
System.out.println("好好学习,天天向上,上学期间,不搞对象,关起门来都是一家人,搞对象那是乱伦。");
System.out.println("好好学习,天天向上,上学期间,不搞对象,关起门来都是一家人,搞对象那是乱伦。");
System.out.println("好好学习,天天向上,上学期间,不搞对象,关起门来都是一家人,搞对象那是乱伦。");
System.out.println("好好学习,天天向上,上学期间,不搞对象,关起门来都是一家人,搞对象那是乱伦。");
System.out.println("好好学习,天天向上,上学期间,不搞对象,关起门来都是一家人,搞对象那是乱伦。");
System.out.println("好好学习,天天向上,上学期间,不搞对象,关起门来都是一家人,搞对象那是乱伦。");
System.out.println("好好学习,天天向上,上学期间,不搞对象,关起门来都是一家人,搞对象那是乱伦。");
}
}
2. while循环
while:当、在…期间、在…时候、直到…
很多语言中,见到while想到的就是循环。
while (循环条件) {
循环体/循环操作
}
---
if (条件表达式) {
条件成立时执行的内容
}
// 使用循环来实现输出内容10次
/*
* 思路分析:
* 1.根据需求可知需要采用 while 循环
* 2.分析循环的要素
* (什么时候可以执行循环操作)循环条件:输出的次数 <= 10
* (要循环执行什么内容)循环操作:输出内容
* 3.套入 while 语法
* 1.初始化 循环变量
* 2.循环条件
* 3.循环操作
* 4.循环出口(更新循环变量)
* 4.检查循环是否能正常结束
*/
// 1.初始化 循环变量
int i = 1;
// 2.循环条件
while (i <= 1000) {
// 3.循环操作
System.out.println("第" + i + "遍:好好学习,天天向上");
// 4.循环出口(更新循环变量)
// i ++; // i = i + 1
i += 1;
}
// 打印50份试卷
/*
* 思路分析:
* 1.要采用循环
* 2.分析循环的要素
* 循环条件: <= 50
* 循环操作:打印每份试卷
* 3.套入 while 语法
* 4.检查循环是否能够正常结束
*/
// 1.初始化 循环变量
int i = 1;
// 2.循环条件
while (i <= 50) {
// 3.循环操作
System.out.println("正在打印第" + i + "份试卷");
// 4.循环出口(更新循环变量)
i ++;
}
3. do-while循环
do:做…事
do {
循环体/循环操作
} while (循环条件);
do-while 循环至少会执行一次循环操作。
/*
* 思路分析:
* 1.应该采用循环
* 2.分析循环的要素
* 循环条件:检测不合格
* 循环操作:进行理论学习,进行上机编程
* 3.套用do-while语法
* 1.初始化 循环变量
* 2.循环操作
* 3.循环出口
* 4.循环条件
* 4.检查是否能正常结束循环
*/
// 1.初始化 循环变量
String result;
Scanner input = new Scanner(System.in);
do {
// 2.循环操作
System.out.println("进行理论学习!");
System.out.println("进行上机编程!");
// 3.循环出口(更新循环变量)
System.out.print("老师检测是否合格(y/n):");
result = input.next();
} while ("n".equals(result)); // 4.循环条件
System.out.println("考核通过!");
我们前期用的比较多,因为它的执行思路和生活中业务大多类似。
4. for循环
for 循环非常简洁,它的结构与 while 和 do-while不同,它是直接将循环4要素都安排好了位置,可以避免遗失出口等问题。
for 循环只能用于固定次数的循环场景。
在后期,用的非常多!基于它还有一个变种:增强for循环(foreach)
for (1.初始化循环变量; 2.循环条件; 3.循环出口) {
4.循环操作
}
语法中
;
号是必须的。
// 使用for循环改造打印50份试卷
public class Demo1 {
public static void main(String[] args) {
// for循环只能用于固定次数的循环场景
// 循环条件:<= 50
// 循环操作:打印每份试卷
for (int i = 1; i <= 50; i++) {
System.out.println("正在打印第" + i + "份试卷!");
}
}
}
5. 三者区别
执行次序的区别:
- while 循环是先判断再执行
- do-while 循环是先执行再判断,第一次循环条件不成立,do-while也会执行一次操作
- for 循环是先判断再执行
应用场景:
- while和do-while 适合于各种场景
- do-while 往往用于一些先执行操作的情况,模拟生活案例时一般都用它
- for 循环往往用于固定次数判断的情况