while循环
语法结构:
初始值;
while(循环条件){
循环操作;
迭代部分
}
执行规律:
(1)执行1次初始值操作
(2)判断循环条件,如果循环条件满足,执行循环操作代码,循环操作执行完,进行迭代,迭代后再次去判断循环条件是否满足,循环条件不满足,则结束整个循环结构的执行,继续执行循环结构之后的代码。
注意:
(1)初始值只执行1次
(2)循环条件为布尔值,要么为true,要么为false
(3)迭代部分的作用是改变循环条件的变量值,从而让其在某一时刻不满足循环条件,结束循环结构,如果没有迭代部分,容易出现死循环,要尽量避免使用死循环。
//使用while循环结构输出100遍“好好学习,天天向上”
//初始值
int i =1;
while(i<=100){//循环条件
System.out.println("第"+i+"遍:好好学习,天天向上!");//循环操作
i++;//迭代部分:改变i的值,让i在某一时刻不满足循环条件,结束循环结构
}
System.out.println("程序执行完毕");
do-while循环
语法结构:
初始值;
do{
循环操作代码
迭代;
}while(循环条件);
执行规律:
(1)执行一次初始值代码
(2)先执行一次循环操作和迭代,然后判断循环条件是否满足,如果循环条件满足,则继续执行循环操作和迭代 , 如果循环条件不满足,则结束整个do-while循环结构,执行do-while循环结构后面的代码
注意:
do-while循环结构,是先执行一次循环操作,再判断循环条件,也就是说do-while循环至少会执行一次循环操作
while循环结构,是先判断循环条件,再根据循环条件的结果决定是否执行循环操作,如果第一次循环条件就不能满足,循环操作就一次都不执行
//使用do-while循环求1-100之间所有偶数之和
int sum = 0;
//初始值
int i=1;
do{
//对i进行偶数判断
if(i%2==0){
//是偶数就进行累加
sum+=i;
}
i++;
}while(i<=100);
System.out.println(sum);
for循环
语法结构:
for(初始值;循环条件;迭代部分){
//循环操作代码
}
执行规律:
(1)先执行一次初始值代码
(2)判断循环条件是否满足,如果循环条件为true,则执行循环操作代码,执行完循环操作,进行迭代,迭代完再次进行循环条件判断,根据循环条件判断结果决定是否继续执行循环操作,如果循环条件为false,则结束整个循环结构,继续往下执行循环结构后面的代码
注意: for循环也是先判断循环条件再决定是否执行循环操作。如果循环条件第一次就不满足,循环操作一次都不会执行
// 循环输入某同学S1结业考试的5门课成绩,并计算平均分
Scanner input = new Scanner(System.in);
System.out.println("输入学生姓名:");
String studentName = input.next();
// 声明一个变量用来存储学生成绩之和
double sum = 0;
for (int i = 1; i <= 5; i++) {
System.out.println("请输入5门课中第" + i + "门课的成绩:");
double score = input.nextDouble();
sum += score;
}
// 计算平均分
double avg = sum/5;
System.out.println(studentName+"的平均分是:"+avg);
跳转语句
break语句
作用场景: 在switch选择结构中和循环结构中
作用:
在switch选择结构中遇到break,结束整个switch选择结构,执行switch选择结构后面的代码
在循环结构中遇到break,结束循环后续所有操作,跳出整个循环结构,执行循环结构后面的代码
注意:
(1)break语句只能作用在switch选择结构和循环结构中
(2)break语句一般结合条件语句一起使用,因为结束某个代码是需要条件
for(int i =1;i<=20;i++){
//循环输出1-20,在输出完10以后,就不想在输出
System.out.println(i);
//在输出一个数之后,判断这个数是不是10,
//如果是10,就不再进行后续操作了,直接结束整个for循环
if(i==10){
break;
}
}
System.out.println("程序执行完毕");
continue语句
作用场景:循环结构中
作用:遇到continue,结束当前(本次)循环后续代码,继续执行下一次循环操作
//循环输出1-20,在输出到10时,跳过10继续输出
for(int i =1;i<=20;i++){
//在输出一个数之后,判断这个数是不是10,
//如果是10,就不再进行后续操作了,直接进入下一次循环,循环并不中断
if(i==10){
continue;
}
System.out.println(i);
}
System.out.println("程序执行完毕");