Chp1-循环相关知识;细节、基础梳理

作用

在满足某个条件的前提下使操作语句反复执行

for循环

for(循环初始值;循环条件;迭代语句){
    //操作语句
}
//需求:让张三绕着操场跑5圈
        /*
        i=圈数
        初始值:从1开始
        循环条件: 小于等于5圈继续执行
        迭代语句:圈数每次+1
        * */
        for (int i = 1; i <= 5; i++) {
            //System.out.println("张三正在跑第i圈"); 错误
            System.out.println("张三正在跑第"+i+"圈");
        }

执行流程

初始值–>判断循环条件–>为true–>执行操作语句–>执行迭代–>判断循环条件–>直到为false–>循环结束

只有当循环结束之后程序才会继续向下执行

死循环: 循环永远满足循环条件,程序无法继续向下

//计算1-100的和
        //1+2+3+4+5+6+7+8+9...+100
        //累加器,用来接收结果
        int sum=0;
        for (int i = 1; i <= 100; i++) {
            //将i的值加给累加器
            sum+=i;//0+1+2+3+..100
        }
        System.out.println(sum);
 //计算1-100之间偶数的和  2+4+6+8+10+12..+100
        int sum=0;//累加器
        /*for (int i = 1; i <= 100; i++) {
            if (i%2==0) {//判断i是否为偶数
                sum += i;
            }
        }*/
        for (int i = 2; i <= 100; i += 2) {
            sum+=i;
        }
        System.out.println(sum);

局部变量

概念

定义在方法内部的变量

使用

  1. 作用范围:从定义行开始,到直属代码块{}结束
  2. 命名冲突:同一作用范围内局部变量之间不可重名

流程控制

break

使当前循环停止,跳出当前所有循环

 //让张三跑100圈,跑至第50圈时,停止跑圈
        for (int i = 1; i <= 100; i++) {
            //判断是否跑至第50圈
            if (i == 50) {
                break;//跳出循环
            }
            System.out.println("张三正在跑第"+i+"圈");
        }

continue

使本次循环停止直接开始下一次,跳过本次循环

//让张三跑100圈,逢10跳过一圈
        for (int i = 1; i <= 100; i++) {
            //判断是否逢10
            if (i % 10 == 0) {
                continue;//跳过本次
            }
            System.out.println("张三正在跑第"+i+"圈");
        }

区别

  1. break是跳出所有循环,continue是跳出本次循环
  2. break可以作用于switch分支,continue无法作用于分支

while循环

while(布尔表达式){//循环条件
    //操作语句
}
//有一段路总长88米,小明一步0.8米,问多少步可以走完

        double sum=0.0;//米数
        int num=0;//累加器,表示步数
        /*while(sum<88){//循环条件:米数<88
            //步数+1
            num++;
            //米数+0.8
            sum+=0.8;
        }*/
        while(true){//死循环,假定一直走
            //步数+1
            num++;
            //米数+0.8
            sum+=0.8;
            //判断是否走到终点
            if (sum >= 88) {
                break;//停止循环
            }
        }
        System.out.println("步数:"+num);

执行流程

判断循环条件–>为true–>执行操作语句–>判断循环条件–>直到为false—>循环结束

while与for

  1. 都是先判断再执行,执行次数为0-n次

  2. for循环适用于循环次数或范围确定的场景

  3. while循环适用于循环次数或返回不确定的场景

  4. while和for之间的操作可以互等

    for(;;){
        
    }
    相当于
        while(true){
            
        }
    
//while-计算1-100的和
       /* int i=1;//初始值
        int sum=0;//累加器
        while(i<=100){//循环条件
            sum+=i;
            //迭代语句
            i++;
        }

        System.out.println(sum);*/

        //for-有一段路总长88米,小明一步0.8米,问多少步可以走完
        double sum=0.0;//米数
        int num=0;//累加器,表示步数
        for(;;){//while(true)
            //步数+1
            num++;
            //米数+0.8
            sum+=0.8;
            //判断是否走到终点
            if (sum >= 88) {
                break;//停止循环
            }
        }
        System.out.println(num);

do-while循环

do{
    //操作语句
}while(布尔表达式);//循环条件

执行特点

先执行,再判断.执行次数为1-n次

执行流程

执行操作语句–>判断循环条件–>为true–>执行操作语句–>判断循环条件–>直到为false–>循环结束

//让张三跑圈,跑完一圈对其打分,分数>=80停止跑圈,否则继续跑圈
        Scanner sc = new Scanner(System.in);
        int score=0;
        do{
            System.out.println("张三正在跑圈...");
            System.out.println("跑圈结束,请打分:");
            //接收分数
            score = sc.nextInt();
        }while (score<80);
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值