while循环结构
-
程序中的循环:
概念:通过某个条件,重复的执行一段逻辑代码
语法:
while(布尔表达式) {
//逻辑代码(循环操作)
}
执行流程:
先对布尔表达式进行判断,结果为true,执行代码块;结果为false后,跳出结构
public class TestWhile {
public static void main(String[] args) {
int i = 1;// 1. 初始部分
while(i <= 3) {// 2. 循环条件
System.out.println("HelloWorld" + i);// 3. 循环操作
i++;// 4. 迭代部分(增量)
}
System.out.println("程序结束");
}
}
public class TestCalcSum {
public static void main(String[] args) {
int i = 1;// 1. 初始部分
int sum = 0;
while(i <= 3) {// 2. 循环条件
System.out.println(i);// 3. 循环操作
//求和
sum += i;
i++;// 4. 迭代部分(增量)
}
System.out.println(sum);
}
}
-
while的特点
首次即是入口条件,先判断、再执行,适用于循环次数明确的情况。
public class TestWhile2 {
public static void main(String[] args) {
/* 求1~100的奇数和
int i = 1;
int sum = 0;
while(i <= 100) {
sum += i;
i += 2;
}
System.out.println(sum);
*/
int i = 1;
int sum = 0;
while(i <= 100) {
if(i % 2 != 0) {
sum += i;
}
i++;
System.out.println(sum);
}
}
}
3.do while循环结构
语法:
do{
逻辑代码(循环操作)
} while (布尔表达式);
执行流程:
先执行一次循环操作之后,再进行布尔表达式的判断
如果结果为true,则再次执行循环操作
如果结果为false,才会退出循环结构,执行后续代码
特点:首次没有入口条件,先执行,再判断
应用场景:适用于循环次数不明确的情况
import java.util.Scanner;
public class TestDoWhile {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//Tom同学写作业,如果完成的不好,则重新抄写一遍,
//如果完成的好,则结束
char answer;//初始部分
do {
System.out.println("抄写一遍");
System.out.println("老师给予评价:");
answer = input.next().charAt(0);// 迭代部分
}while(answer != 'y');
System.out.println();
}
}
总结:
while循环适用于循环次数明确的场景;do while适用于循环次数不明确的场景