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-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);

3. (一般采用的方式) 也可以在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);

- 实现登录验证,有
3次机会,如果用户名为"兮动人" ,密码"666"提示登录成功,否则提示还有几次机会,请使用【 for+break】完成
BreakExercise02.java
- 思路分析
1. 创建Scanner对象接收用户输入
2. 定义String name ; String passwd;保存用户名和密码
3. 最多循环3次[登录3次],如果 满足条件就提前退出
4. 定义一般变量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 + "次登录机会");
}

本文来自博客园,作者:兮动人,转载请注明原文链接:https://www.cnblogs.com/xdr630/p/15254667.html

浙公网安备 33010602011771号