1.程序中的循环
概念:通过某个条件,重复的执行一段逻辑代码
2.while 循环
while(布尔表达式){
//逻辑代码(循环操作)
}
2.1执行流程
①先对布尔表达式进行判断,结果为true,则执行逻辑代码
②本次执行完毕后,再次进行判断,结果为true,则再次执行逻辑代码
③直至结果为false,跳出循环,执行后续代码
2.2 while的特点
首次即有入口条件,先判断,再执行,适用于循环次数明确的情况
首次判断不满足,则一次都不执行(执行次数0~n次)
3 dou while 循环
3.1语法
do {
逻辑代码(循环操作)
}while(布尔表达式);
3.2执行流程
先执行依次循环操作之后,再进行布尔表达式的判断
Public static void main(String[] args){
Scanner input = new Scanner(System.in);
char answer;
do{
System.out.println(~~);
answer = input.next().chartAt(0);
}while(answer != 'y');
System.out.println(~~);
}
3.3 while 与 do while 的对比
while 首次即有入口条件,先判断,再执行。适用于循环次数明确的场景
do while 首次没有入口条件, 先执行,再判断。适用于循环次数不明确的场景
是否使用循环及步骤
① 明确是否需要使用循环
② 分析循环条件和循环操作是什么
③ 循环结构的选型
循环次数是否明确 ,首次是否需要入口条件
4.循环有四部分组成
4.1 初始部分:用以判断的变量
4.2 循环条件:决定是否继续循环的依据
4.3 循环操作: 单次执行的逻辑代码或任务
4.4 迭代部分: 控制循环条件改变的增量
5.for循环
5.1语法
for(1,初始部分; 2,循环条件; 4.迭代部分){
//循环操作 3
}
5.2 执行流程
首次执行初始部分(仅一次)
对布尔表达式进行判断。结果为true,则执行逻辑代码
本次执行完毕后,执行迭代部分,再次判断,结果仍旧为true ,则再次执行逻辑代码
直至布尔表达式的结果为false时,才会退出循环结构,执行后续
5.3特点
首次即有入口条件,先判断,再执行。适用于循环次数明确的情况
列(死循环)
whlie(true){}
for(;true;){}
for(;;)
6.控制流程
break; 终出,跳出switch,循环结构
for(int i=1; i<=10 ; i++){
if(i == 5){
break; <————循环执行中,遇到break则退出整个循环结构
}
System.out.println("当前循环次数: " + i);
}
System.out.println("循环结束");
continue 结束本次循环,进行下一个循环
举个例子
import java.util.Scanner;
public class TestGetAvg{
public static void main (String[] args){
Scanner input = new Scanner(System.in);
int count = 5;//人数
double sum = 0D;
boolean flag =true; //true代表合法
for(int i = 1; i <= count; i++){
System.out.println("请输入第 " + i +"位学生的成绩");
double score = input.nextDouble();
if(score < 0 || score >100){
continue;
}
/*
if(score < 0 || score > 100){
flag = flase; //存在非法字符
break;
} */
sum += score;
}
if(flag){//flag == true
double avg = sum / count;
System.out.println("平均分为:" + avg);
}else{
System.out.println("输入有误,请重新输入!");
}
}
}
例子2
人机猜拳
7.嵌套循环
7.1概念 : 在一个完整的循环当中,嵌套另一个完整的循环结构
7.2
图形: 外层控制行数,内层控制列数
其他:外层控制循环次数,内层控制单词循环操作