• 流程控制break关键字


    跳转控制语句-break

    break语句用于终止某个语句块的执行,一般使用在switch或循环中
    基本语法
    {…

    braek;

    }
    例如用for循环输出 1~100,到54的时候 停止跳出for循环,继续下方的代码

    for(int a = 1;a<=100;a++){
    System.out.println(a);
    if(a==54){
    break;
    }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    输出效果就是:1 2 3 …53 54 结束
    注意点:循环语句判断条件为false时跳出来和braek跳出来有所区别
    例如:
    int a = 1;
    for (;a<=3 ;a++ ) {
    System.out.println(“ok”+a);
    if (a==3) {break;}
    }
    System.out.println(”a=“+a);
    如果是正常的判断为false跳转出来a会自增到4然后跳转出来输出效果为:
    ok1
    ok2
    ok3
    a=4
    如果是通过break跳转出来,a自增到3时会直接出来,不会再进行自增到4.

    break的注意事项

    braek关键词出现再多层嵌套的语句块中时们可以通过标签指明要终止的时那一层的语句块
    label1{…
    label2{…
    label3{…break label1;
    ]
    }
    }
    如果没有指定标签,默认退出距离最近的语句块
    案例:

    abc1:
    for (int j = 1;j<4;j++ ) {
    			abc2:
    			for (int k = 1;k<10 ;k++ ) {
    				if (k==2) {
    					break;//没有指明标签推出的是内层循环
    				}
    				System.out.println("j="+j+"k="+k);
    				//由于每次k自增到2的时候就会退出内层循环所以只能输出1
    				//内层循环退出后继续外层循环的j++于是又进入内循环,j<4所以会重复三次j=1,k=1,只有j会变化
    			}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    最终输出
    j=1 k=1
    j=2 k=1
    j=3 k=1
    如果beark指明了标签abc1 break abc1;
    那么在j=1,k=2时就会退出 输出:
    j=1 k=1

    练习一:1~100以内的数求和,当和第一次大于20时退出

    int sum = 0;//计和
    		for(int a = 1;a<=100;a++){
    		sum+=a;
    	System.out.println(a);
    	if (sum>20) {
    		break;
    	}
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    练习二:实现登录验证,有三次机会,如果用户名为:WINorYU 密码为"666"提示登陆成功,否则提示还有几次机会

    Scanner myScanner = new Scanner(System.in);
    		for (int a =2;a>=0 ;a-- ) {
    		 System.out.println("请输入用户名");
    		 String id = myScanner.next();
    		 System.out.println("请输入密码");
    		 int key = myScanner.nextInt();
    		 if (id=="WINorYU"&&key==666) {
    			System.out.println("登陆成功!");
    			break;
    		}else{
    			System.out.println("用户名或密码错误!");
    			System.out.println("还有"+a+"次机会");
    		}
    		}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    if判断也可以用“WINorYU”.equals(id)方法判断

  • 相关阅读:
    Metabase学习教程:仪表盘-4
    哈希/散列--哈希表[思想到结构]
    2023年09月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试
    解决JeecgBoot修改默认主题不生效问题
    Linux常用命令— 硬链接和软链接
    【Qt】- 信号和槽函数
    为什么阿里不推荐使用 keySet() 遍历HashMap?
    基于ssm的在线法律咨询平台的设计与实现
    P3177 [HAOI2015] 树上染色
    Hi3516DV500部署paddle版型分析模型记录
  • 原文地址:https://blog.csdn.net/WINorYU/article/details/125621085