while循环
while基本框架:
while(循环条件){
循环操作
}
示例:实现打印50份试卷
int i=1;//初始化
while(i<=50){//循环条件
System.out.println("第"+i+"次打印试卷");//循环操作
i++;//更新循环变量
}
运行:
流程图
do-while循环
do-while基本框架
do{
循环操作
}while(循环条件);
示例:老师检查是否合格 如不合格 张浩继续上机测试
Scanner input = new Scanner(System.in);
boolean isNotPass=false;
do{
System.out.println("张浩上机测试");
System.out.println("老师检查是否合格:合格:false 不合格true");
isNotPass = input.nextBoolean();
}while(isNotPass);
运行:
流程图
比较while和do-while循环
1、语法不同
2、执行次序不同
while:先判断,后执行
do-while:先执行,后判断
3、初始情况不满足循环条件时
while:一次都不执行
do-while:至少执行一次
for循环
for循环的语法和执行顺序
for(1、参数初始化;2、判断条件;4、更新循环变量){
3、循环操作
}
示例:输出加法表
Scanner input = new Scanner(System.in);
System.out.print("请输入一个值:");
int num=input.nextInt();
System.out.println("根据这个值可以输出以下加法表:");
for(int i=0;i<=num;i++){
System.out.println(i+"+"+(num-i)+"="+num);
}
运行:
for循环常见错误
1、编译错误,变量i初始化
for(;i<10;i++){
System.out.println("这是 "+i);
}
2、缺少循环条件,死循环
for(int i=0;;i++){
System.out.println("这是 "+i);
}
3、循环变量不发生变化 ,会导致死循环
for(int i=0;i<10;){
System.out.println("这是 "+i);
}
4、循环中缺少必要的循环控制,会导致死循环
for(;;){
System.out.println("这是测试");
}
总结
需要多次重复执行一个或多个任务的问题考虑使用循环来解决
无论哪一种循环结构,都有4个必不可少的部分:初始部分、循环条件、循环体、更新循环变量
有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对? 分析:兔子的规律为数列,1,1,2,3,5,8,13,21
//方法一
int a=1;
int b=1;
for(int i=3;i<=12;i++){
//奇数时所得和给a
if(i%2!=0){
a+=b;
}else{
b+=a;
}
}
System.out.println("12个月能繁殖"+b+"对");
//方法二
int a=1;
int b=1;
for (int i=3;i<=12;i++){
a+=b;
//所得和给a 并且和b交换
int temp =a;
a=b;
b=temp;
//i=3时 a=1 b=2
}
System.out.println("12个月能繁殖"+b+"对");