Java之跳转控制语句-break

简介: Java之跳转控制语句-break

跳转控制语句-break

1. 看下面一个需求

  • 随机生成 1-100 的一个数,直到生成了 97 这个数,看看你一共用了几次?

提示使用 (int)(Math.random() * 100) + 1

  • 方法分析:查看 random 方法和API,前面加上 int 就是强制类型转换,Math.random() 范围是 [ 0 , 1) ,乘上 100 就是 [ 0 , 100 ),前面加上 int 就是 double --> int ,强转会造成精度缺失,所以范围变成了 [ 0 , 99 ] ,加上 1 就是 [ 1 , 100 ]

在这里插入图片描述

    double m = 99.9;
    int n = (int)m;
    System.out.println(n);

在这里插入图片描述

  • 返回10[ 1 , 100 ] 的随机数方法
    for (int i = 1; i <= 10; i++ ){
           System.out.println((int)(Math.random() * 100) + 1);
    }

在这里插入图片描述

  • 思路分析:

循环,但是循环的次数不知道. -> break ,当某个条件满足时,终止循环
通过该需求可以说明其它流程控制的必要性,比如 break

2. 基本介绍:

  • break 语句用于终止某个语句块的执行,一般使用在 switch 或者循环[for , while , do-while]中

3. 基本语法

{ ……

break;

  ……
}

4. 以 while 使用 break 为例,画出示意图

在这里插入图片描述

5. 快速入门

Break01.java
在这里插入图片描述

  • 当 i == 3 时,break会跳出循环
    for (int i = 1; i <= 10; i++ ){
        if(i == 3){
            break;
        }
        System.out.println("i="+i);
    }
    System.out.println("退出for循环,继续执行后面的代码...");

在这里插入图片描述

6. 注意事项和细节说明:

在这里插入图片描述

    abc1:
    for (int j = 0; j < 4; j++){   //外层for
    abc2:
        for (int i = 0; i < 10; i++){   //内层for
            if (i == 2){
                break;  // 等价于 break abc2
            }
            System.out.println("i="+i );
        }
    }

在这里插入图片描述

  • 把上面的 break 改为 break abc1,当执行 内层for循环中 i 自增到 i == 2 时,就会跳出 外层 for 循环结束程序。
    abc1:
    for (int j = 0; j < 4; j++){   //外层for
    abc2:
        for (int i = 0; i < 10; i++){   //内层for
            if (i == 2){
                break abc1;  
            }
            System.out.println("i="+i );
        }
    }

,

7. 课堂练习题

BreakExercise01.java
1) 1-100 以内的数求和,求出 当和 第一次大于 20 的当前数 【for + break】

  • 思路分析

    1. 循环 1-100, 求和 sum
    2. 当 sum > 20 时,记录下当前数,然后break
    int sum = 0; //累积和
    
    //注意i 的作用范围在 for{}
    int n = 0;
    for(int i = 1; i <= 100; i++) {
        sum += i;//累积
        if(sum > 20) {
            System.out.println("和>20时候 当前数i=" + i);
            n = i;
            break;
        } 
    }

在这里插入图片描述

  • 为了使 i 的作用域变大,不只在 for 循环中,可以这样写:
    int sum = 0;
    int i = 1
    for (; i <= 100; i++){
        sum += i;
        if (sum > 20){
            break;
        }
    }
    System.out.println("和>20时候 当前数i=" + i);

在这里插入图片描述

  1. (一般采用的方式) 也可以在for循环外部,定义变量 n , 把当前 i 赋给 n,也同样扩大了 i 变量的范围,在其他地方可以输出
    int sum = 0; //累积和
    
    //注意i 的作用范围在 for{}
    int n = 0;
    for(int i = 1; i <= 100; i++) {
        sum += i;//累积
        if(sum > 20) {
            System.out.println("和>20时候 当前数i=" + i);
            n = i;
            break;
        } 
    }
    
    System.out.println("当前数=" + n);

在这里插入图片描述

2) 实现登录验证,有 3 次机会,如果用户名为"兮动人" ,密码"666"提示登录成功,否则提示还有几次机会,请使用【 for+break】完成

BreakExercise02.java

  • 思路分析

    1. 创建Scanner对象接收用户输入
    2. 定义 String name ; String passwd; 保存用户名和密码
    3. 最多循环3次[登录3次],如果 满足条件就提前退出

      1. 定义一般变量 int chance 记录还有几次登录机会
    Scanner myScanner  = new Scanner(System.in);
    String name = "";
    String passwd = "";
    int chance = 3; //登录一次 ,就减少一次
    for( int i = 1; i <= 3; i++) {//3次登录机会
        System.out.println("请输入名字");
        name = myScanner.next();
        System.out.println("请输入密码");
        passwd = myScanner.next();
        //比较输入的名字和密码是否正确
        //补充说明字符串 的内容 比较 使用的 方法 equals
        if("兮动人".equals(name) && "666".equals(passwd)) {
            System.out.println("恭喜你,登录成功~");
            break;
        }
    
        //登录的机会就减少一次
        chance--;
        System.out.println("你还有" + chance + "次登录机会");
    
    }

在这里插入图片描述

目录
相关文章
|
26天前
|
算法 Java 测试技术
🧑‍💻Java零基础:Java 的循环退出语句 break
【10月更文挑战第16天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
45 6
|
6月前
|
Java
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
Java的控制流程语句:深入理解条件语句、循环语句与跳转语句
65 1
|
6月前
|
Java 程序员
Java程序设计基础——循环中的跳转语句
Java程序设计基础——循环中的跳转语句
|
4月前
|
Java
java中return,break以及continue的用法
java中return,break以及continue的用法
47 10
|
5月前
|
Java
杨老师课堂_Java教程第三篇之控制语句
杨老师课堂_Java教程第三篇之控制语句
27 1
|
6月前
|
Java
Java的程序基本控制语句
Java的程序基本控制语句
|
5月前
|
存储 Java
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
39 0
|
6月前
|
Java
Java中的break语句详解与应用
Java中的break语句详解与应用
127 0
|
6月前
|
Java
Java开发手册之控制语句,2024最新Java笔经
Java开发手册之控制语句,2024最新Java笔经
|
6月前
|
小程序 Java 容器
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
03|Java基础语法:讲解标识符、关键字、变量、数据类型、运算符、控制语句(条件分支、循环)
40 0
下一篇
无影云桌面