Chp4-循环

目录

作用

for循环

流程控制

break

continue

区别

while循环

与for的关系

do-while

嵌套循环

使用


作用

可以在满足条件的情况下使内部的操作语句反复且连续的执行

for循环

for(循环初始值;循环条件;迭代语句){
   //操作语句
}

循环条件:布尔表达式,声明了什么条件下循环可以继续执行

迭代语句:初始值的变化规律

//想让路奇坤绕着操场跑100圈
        for (int i = 1; i <= 100; i++) {
            System.out.println("路奇坤正在跑第"+i+"圈");
        }
  • 执行流程:循环初始值--> 判断循环条件-->为true-->操作语句-->迭代语句-->判断循环条件-->直到为false-->循环结束

  • 执行特点:先判断再执行,执行次数0-n

累加器:通常写在循环上方,用来对循环内部需要累计的数据做记录

//计算1-100的和
     //0+1+2+3+4+5+6+..+100   值1+值2
     int sum=0;//累加器:用来接收相加结果,写在循环上方
     for (int i = 1; i <= 100; i++) {
         sum += i;//sum = sum + i;
     }
     System.out.println(sum);

for循环语法结构中的前三部分具体内容可省,但是;不可省

for(;;){

}相当于

while(true){

}

流程控制

  • 作用在循环执行的过程中调整循环的执行状态

break

跳出当前所有循环,使当前循环结束

continue

跳出本次循环,直接开始下一次

区别

  1. 作用不同

  2. break可以作用与switch分支,continue只能作用于循环

while循环

while(循环条件){
   //操作语句
}
//有条路总长10米,现在小明在走路,一步0.7米,求多少步可以把路走完
        int num=0;//累加器,记录步数
        double mi=0.0;//累加器,记录米数
        while (true) {//永远满足循环条件
            //步数+1
            num++;
            //米数+0.7
            mi += 0.7;
            //判断是否到达目的地
            if (mi >= 10) {
                break;
            }
        }
​
        System.out.println(num);

死循环:永远满足循环条件,循环可以一直执行

死循环+break是while循环最常见的书写方式

  • 执行流程:判断循环条件-->为true-->操作语句-->判断循环条件-->直到为false-->循环结束

  • 执行特点:先判断,再执行,执行次数为0-n次

与for的关系

  1. while与for的操作可以完全互等

  2. for循环更适合循环次数或范围明确的情况

  3. while更适合循环次数和范围不明确的情况

//需求1:有本金10000元,存入银行利率为0.03,问存入银行10年之后本金有多少  for
        double money = 10000.0;//本金
        for (int i = 1; i <= 10; i++) {//次数
            //本金的数额变化
            money = money + money * 0.03;
        }
​
        System.out.println(money);
//需求2:有本金10000元,存入银行利率为0.03,问存多少年本金可以超过15000  while
        int num=0;//累加器,年份
        double money=10000.0;//累加器,本金
        while (true) {
            //年数+1
            num++;
            //重新计算本金
            money = money + money * 0.03;
            //判断当前本金是否存够了15000
            if (money >= 15000) {
                break;
            }
        }
​
        System.out.println("存"+num+"年,金额为:"+money);

do-while

do{
   //操作语句
}while(循环条件);
  • 执行流程:操作语句-->判断循环条件-->为true-->操作语句-->判断循环条件-->为false-->循环结束

  • 执行特点:先执行再判断。执行次数1-n

public static void main(String[] args) {
        //让路奇坤跑圈,跑完一圈对其打分,直到分数>=80才能结束跑圈
        Scanner sc = new Scanner(System.in);
        /*int score = 0;
        do {
            //跑圈
            System.out.println("路奇坤正在跑圈...");
            System.out.println("跑圈结束,请打分:");
            //打分
            score = sc.nextInt();
        } while (score < 80);//判断分数*/
​
        do{
            //跑圈
            System.out.println("路奇坤正在跑圈...");
            System.out.println("跑圈结束,请打分:");
            //打分
            int score = sc.nextInt();
            //判断是否需要结束循环
            if (score >= 80) {
                break;
            }
        }while (true);//假设一直跑
    }
public static void main(String[] args) {
        //模拟学生管理系统,1-添加学生信息  2-删除学生信息  3-修改学生信息  4-查询学生信息 5-退出
        //接收用户输入,只要用户不退出,系统将一直执行  用户输出==5
        Scanner sc = new Scanner(System.in);
        int n = 0;
​
        do {
            System.out.println("欢迎使用学生管理系统,请选择你要进行的操作:");
            System.out.println("1-添加学生信息  2-删除学生信息  3-修改学生信息  4-查询学生信息 5-退出");
            //接收用户输入
            n = sc.nextInt();
            //判断用户输入是否不合法
            if (n < 1 || n > 5) {
                System.out.println("输入数字不合法,请重新输入!");
                continue;
            }
        } while (n != 5);
    }

嵌套循环

  • 一个循环结构中包含着另一个循环结构

使用

  1. 只要逻辑完整,对嵌套循环的类型、层数不做要求(通常不超过两层)

  2. 执行流程:外层循环执行一次,内层循环执行一遍

  3. 图形输出:外层循环代表行,内层循环代表列

  4. break和continue只能作用直属的循环层次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值