程序流程控制(switch、for、while、do_while)和break、continue关键字

目录

一、switch

1、定义:通过比较值来决定执行哪条分支

2、流程

3、与if相比哪个好

4、注意事项

二:for

1、定义:控制一段代码重复执行多次

2、作用:减少代码的重复编写,灵活控制程序的运行

3、格式

4、流程

5、debug来查看流程

6、使用场景

三:while

1、格式

2、流程

3、练习

四:do_while

1、格式

2、特点

3、流程

循环小结:

 五:死循环

1、定义:可以一直执行下去的一种循环,如果没有干预不会停下来

2、演示

六:break、continue关键字

1、break

①:作用:跳出并结束当前所在循环

②:示例

③:练习

2、continue

①:作用  结束本次循环,继续下次循环

②:示例

总结:

 

注意事项:


一、switch

1、定义:通过比较值来决定执行哪条分支

2、流程

Ⅰ:先执行switch括号中表达式的值

Ⅱ:再执行与这个值与case后面值匹配的代码

Ⅲ:如果与case后面的值都不匹配则执行default后面的代码

 

3、与if相比哪个好

相对来说,if的功能强大于switch,但是因为需求的关系可以选择适合的方法。

比如: if适合做区间的判断。 例:0~100之间怎么怎么样

            switch适合做比较值的判断。例:a == 1要干什么,a == 2要干什么就可以使用 switch

4、注意事项

①:表达式类型支持 1、基本数据类型:byte、short、int、char

                                 2、引用类型:String

                                不支持boolean|、float、double、long

 

②:case的值不能重复,也不能是变量,只能是常量

 

③:使用switch时记得加break,不然执行完这条语句不管下面的值和case匹不匹配都会执行,也就是穿透

 ④:对于case穿透的特性其实可以使用在相对应的需求中,例:周一到周五上班

周六周天休息

 

 

⑤:表达式里面是什么类型,case就要是什么类型

 

二:for

1、定义:控制一段代码重复执行多次

2、作用:减少代码的重复编写,灵活控制程序的运行

 

3、格式

 

快捷键(fori)

 

4、流程

 注意:初始化语句只会执行一次

5、debug来查看流程

 

 

6、使用场景

Ⅰ:求1~100的和

 

    public static void main(String[] args) {
        //累加求和的思想:定义一个变量,每次相加都存储到这个变量中
        int sum = 0;
        //循环1~100   可以使用快捷见100.fori
        for (int i = 1; i <= 100; i++) {
            //循环进来一次就sum就+一下i
            sum += i;   //sum = sum + i;
        }
        //退出循环表示sum已经完成了1~100的和,输出即可
        System.out.println(sum);//5050
    }

Ⅱ:求1~100的奇数和

    public static void main(String[] args) {
        //需求:得出1-100的奇数和

        //创建一个变量来存储和的值
        int sum = 0;
        //使用循环获得1-100的值
        for(int i = 1;i<100;i++){
            //判断i对2取余是否为0,不为0表示是奇数
            if(i % 2 != 0){
                //将sum加上i
                sum += i;  //sum = sum + i;
            }
            //不为0表示不是奇数,将i加1,继续判断
        }
        //直到退出循环,然后打印sum的值
        System.out.println(sum);
    }

 

三:while

  与for循环的区别就是格式不一样

1、格式

 

 

 

2、流程

Ⅰ:先执行判断条件

Ⅱ:判断条件为真在执行循环语句和迭代语句

Ⅲ:为假结束循环

3、练习

while循环版

 for循环版

    public static void main2(String[] args) {
        //需求需求:世界最高山峰珠穆朗玛峰高度是:8848.86米=8848860毫米,假如我有一张足够大的纸,,
        // 它的厚度是0.1毫米。请问:该纸张折叠多少次,可以折成珠穆朗玛峰的高度?

        //用double类型存储珠峰高度
        double height = 8848860.0;
        //用double来存储纸张厚度
        double paper = 0.1;
        //定义一个int类型的值来存储折叠次数
        int count = 0;
        while(paper < height){
            //System.out.println(paper);
            //当纸张厚度小于珠峰时,将纸折叠,也就是*2
            paper *= 2;
            count++;
        }
        System.out.println(count);
    }

    public static void main(String[] args) {
        int count = 0;
        for(double paper = 0.1; paper < 8848860.0;paper *= 2){
            count++;
        }
        System.out.println(count);
    }

 

四:do_while

1、格式

 

2、特点

先执行循环体,在判断(无论如何都会执行一次循环体

3、流程

 

 

循环小结:

①:for循环和 while循环(先判断后执行); do.. .while先执行后判断)

②:for循环和while循环的执行流程是一模一样的,功能上无区别,for能做的while也能做,反之亦然

③:使用规范:如果已知循环次数建议使用for循环,如果不清楚要循环多少次建议使用while循环。

 五:死循环

1、定义:可以一直执行下去的一种循环,如果没有干预不会停下来

2、演示

 

 

六:break、continue关键字

1、break

①:作用:跳出并结束当前所在循环

②:示例

 

 

③:练习

 

    public static void main3(String[] args) {
        //需求:系统密码是520,请用户不断的输入密码验证,验证不对输出:密码错误,验证成功输出:欢迎进入系统,并停止程序。

        //需要用户输入我们就需要导包和创建对象
        Scanner scanner = new Scanner(System.in);
        //提示一下让用户输入密码
        System.out.println("请输入密码");
        //创建一个无限循环来让用户输入密码,
        while(true){
            //创建一个变量来存储用户接受的密码,不正确继续输入,正确就退出循环
            int passWord = scanner.nextInt();
            if(passWord == 520){
                System.out.println("欢迎进入系统!!");
                break;   //退出循环
            }else{
                //提示一下输入错误,让用户重新输入
                System.out.println("密码输入错误,请重新输入!!!");
            }
        }
    }

    //for循环版
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入密码");
        for (;;){
            if(scanner.nextInt() == 520){
                System.out.println("欢迎进入系统!");
                break;
            }else{
                System.out.println("输入错误,重新输入");
            }
        }
    }

 

2、continue

①:作用  结束本次循环,继续下次循环

②:示例

    public static void main(String[] args) {
        //需求: 打印0-10之间的值,不打印5

        //先创建一个for循环,i = 0 ; i < 10
        for(int i = 0; i < 10;i++){
            //判断i 是否等于 5
            if(i == 5){
                //等于5跳出循环
                continue;
            }
            //输出i的值
            System.out.print(i + " ");
        }
    }

总结:


break:跳出并结束当前所在循环

continue:跳出此次循环执行下次循环

 

注意事项:

break使用范围:循环中和结束switch分支

continue使用范围: 只能在循环中

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值