循环结构

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+"对");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值