04循环结构(while/do-while/for)

Posted zitian246

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04循环结构(while/do-while/for)相关的知识,希望对你有一定的参考价值。

循环结构(while/do-while/for)

1.while循环

1.语法:

while ( 循环条件 ) { 循环体

}

2.用途:while便于处理循环次数确定或者循环次数不确定的情况

3.使用的必要条件

(1)计数器初始化

(2)判断条件

(3)循环体

(4)计数器变化

4.while执行过程

(1)计数器初始化,并且只执行一遍

(2)执行判断条件

(3)如果条件成立 执行的代码

(4)计数器变化

(5)转到第二步继续执行

5.死循环产生的原因

(1)计数器没有变化

(2)条件写为true

package com.qfedu.test1;
?
import java.util.Scanner;
?
public class Test4 {
    public static void main(String[] args) {
        // 每天检查 是否合格   上午阅读理论  下午敲代码
        // while循环可以处理循环此固定 和 循环次数不固定的情况
        Scanner input = new Scanner(System.in);
        System.out.println("上午阅读教材");
        System.out.println("下午敲代码");
        System.out.println("请输入你今天学习任务是否合格了?Y/N");
        
        String answer = input.next();
        while(answer.equals("N")) {
            //循环体 阅读教材 敲代码
            System.out.println("上午阅读教材");
            System.out.println("下午敲代码");
            System.out.println("请输入你今天学习任务是否合格了?Y/N");
            answer = input.next();
        }
        System.out.println("恭喜你完成任务");
    }
}

2.do-while循环

语法:

do {

循环体

} while ( 循环条件 );

1.用途:do-while也可以用于处理循环次数确定或者次数不确定去情况

do-while循环先执行再判断,不管条件是否成立,至少执行一次

2.不管是while循环还是do-while循环不可少的部分 (1)计数器 (2)判断条件 (3)循环体 (4)计数器变化

3.执行过程

(1)执行循环体

(2)计数器变化

(3)判断条件

(4)如果条件成立,继续执行循环体

package com.qfedu.test2;
?
import java.util.Scanner;
?
public class Test1 {
    public static void main(String[] args) {
        // 先上机测试 测试以后再检查是否合格 不合格继续上机 合格的话停止
        // do-while 和 while循环 
        // while是先判断后执行 如果条件不成立 一次都不执行
        // do-while 先执行 后判断 不管条件是否成立 至少执行  先斩后奏
        Scanner input = new Scanner(System.in);
            
//      do {
//          循环体
//      }while(布尔表达式);
        String answer;
        do {
            System.out.println("上级测试完成……");
            System.out.println("请输入是否合格?Y/N");
            answer = input.next();
        }while(answer.equals("N"));
        
        System.out.println("恭喜你完成任务");
    }
}

3.for循环

语法:

for(计数器初始化; 判断条件 ; 计数器变化) {

循环体;

}

1.for循环执行过程

(1)计数器初始化 int j = 1 最先执行 并且只执行一次

(2)判断条件 j <= 100

(3)循环体 System.out.println("for循环好好学习" + j);

(4)执行变量变化 j++

(5)接着继续执行 判断条件 也就是第二步

package com.qfedu.test4;
?
import java.util.Scanner;
?
public class Test1 {
    public static void main(String[] args) {
        // main alt + / 
        // alt + / 代码提示快捷键
        // sout  alt + / 
        // syso alt + /
        
        Scanner input = new Scanner(System.in);
        // 需求 循环录入5门成绩你计算平均分
        
        double scoreSum = 0;// 用于存储所有的分数 之和
        for(int i = 1; i <= 5 ; i ++) {
            System.out.println("请输入第" + i + "门成绩");
            int score = input.nextInt();
            System.out.println("第" + i + "门成绩是" + score);
            scoreSum += score;
        }
        
        System.out.println("总分数" + scoreSum);
        System.out.println("平均分是" + scoreSum / 5);
?
    }
}

4.break关键字

使用场景:

(1)switch,表示跳出当前case块0)

(2)循环中,表示跳出当前循环

如果循环中有switch,那么switch中的break依然只是跳出case块,不会跳出循环。

break在循环中通常结合流程控制语句来使用,表示中断循环,没有执行完的循环次数,不再执行。

package com.qfedu.test6;
?
import java.util.Scanner;
?
public class Test1 {
    public static void main(String[] args) {
        // 需求 循环录入成绩 计算平均分   如果输入为负数 那么停止录入
        Scanner input = new Scanner(System.in);
        double sum = 0;
        int i = 1;
        for (; i <= 5; i++) {
            System.out.println("请输入第 " + i + "门成绩");
            int score  = input.nextInt();
            if(score < 0) {
                System.out.println("分数录入错误,停止录入");
                break;
            }
            sum += score;
        }
        System.out.println("总分数是" + sum);
        System.out.println("平均分是" + sum / i);
    }
}

5.continue关键字

适用场景:只能在循环中使用

continue表示跳出本次循环,继续执行下一次循环,通常也是结合流程控制语句来使用

注意和break的区别

package com.qfedu.test7;
?
import java.util.Scanner;
?
public class Test1 {
    public static void main(String[] args) {
        // 循环录入5门成绩  统计分数大于80 所占的比例 
        // 大于80分的人数 除以 总人数  
        double count = 0;
        Scanner input = new Scanner(System.in);
        for (int i = 1; i <= 5; i++) {
            System.out.println("请输入第"+ i +"门成绩");
            int score = input.nextInt();
            if(score <= 80) {
                System.out.println("当前分数不大于80,不进行记录");
                continue;
            }
            count++;
        }
            
        System.out.println("当前大于80分的人数是" + count);
        System.out.println("大于80分的人数占比是" + (count / 5 * 100) + "%");
    }
}

6.debug调试

作用:当我们的程序代码过多,我们无法一眼看完程序的执行结果,可以使用debug,或者当我们的程序产生bug,而我们无法快速定位到出错的代码,可以使用debug

断点:在代码左侧双击打断点,表示我们的程序将在断点停止

单步走:程序单步执行,step over(F6)

以上是关于04循环结构(while/do-while/for)的主要内容,如果未能解决你的问题,请参考以下文章

C语言学习之循环语句以及breakcontinue语句

C语言学习之循环语句以及breakcontinue语句

day04-java-循环结构(whiledo-whilefor)

java中的循环结构

java中的循环结构

java中的循环结构