跳转控制语句-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 …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会变化
}
最终输出
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;
}
}
练习二:实现登录验证,有三次机会,如果用户名为: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+"次机会");
}
}
if判断也可以用“WINorYU”.equals(id)方法判断