1、while循环:
语法结构:
初始值;
while(循环条件){
//循环操作代码
//迭代部分
}
执行规律:
1)首先执行1次初识值代码;
2)判断循环条件,如果循环条件为true,就执行{}里面的循环操作代码和迭代部分的代码,迭代完之后,继续返回判断循环条件,根据循环条件的结果决定是否继续执行循环操作。
如果循环条件为false,则结束整个while循环结构,继续往下执行while循环结构之后的代码。
注意:
1)初始值代码只执行一次;
2)循环条件不管写的多么简单或者多么复杂,结果都只能是布尔值,要么为true要么为false;
3)迭代部分的作用是改变初始值,让循环条件在某一时刻不再满足,从而结束整个while循环结构。
2、do-while循环:
语法结构:
初始值l;
do{
循环操作
迭代部分
}while(循环条件);
执行规律:
1)首先执行1次初始值代码;
2)进入{}里执行1次循环操作和迭代部分,执行完之后进行条件判断,如果条件为true,返回{}里执行循环操作和迭代部分。
如果条件为false,则结束整个do-while循环结构,继续往下执行do-while循环结构后面的代码。
注意:
1)初始值只执行1次;
2)循环条件不管写的多么简单还是复杂,都只能是布尔值,要么为true,要么为false;
3)do-while循环是先执行一次循环操作,再判断循环条件,因此,如果第一次判断循环条件就不满足,循环操作也会执行一次(do-while循环里的循环操作至少会执行一次)。
3、例题:
1)老师每天检查小明的学习任务是否合格,如果不合格,则继续进行。老师给张浩安排的每天的学习任务为:上午阅读教材,学习理论部分,下午上机编程,掌握代码部分。
import java.util.Scanner;
public class Demo{
public static void main(String[] args) {
//创建Scanner类对象
Scanner sc = new Scanner(System.in);
System.out.println("小明,今天学习任务合格了吗(合格/不合格)?");
//初始值:
String answer = sc.next();
//如果不合格,要进行训练:上午阅读教材,学习理论部分,下午上机编程,掌握代码部分
while(answer.equals("不合格")){
System.out.println("上午阅读教材,学习理论部分,下午上机编程,掌握代码部分");//循环操作
//迭代
System.out.println("小明,训练过后,学习任务合格了吗(合格/不合格)?");
answer=sc.next();
}
System.out.println("恭喜你,学习任务合格了");
}
}
2)经过几天的学习,老师给小明一道测试题,让他先上机编写程序完成,然后老师检查是否合格。如果不合格,则继续编写……
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//初始值
String answer;
do{
//循环操作
System.out.println("上午阅读教材,下午上机练习编码");
System.out.println("今天学习任务合格了吗?(合格/不合格)");
//迭代部分
answer = sc.next();
}while(answer.equals("不合格"));
System.out.println("恭喜你,学习任务合格");
}
}