break共有三种用法,具体如下:
在switch语句中,被用来种植一个语句序列。
- switch 语句由一个控制表达式和多个case标签组成。
- switch 控制表达式支持的类型有byte、short、char、int、enum(Java 5)、String(Java 7)。
- switch-case语句完全可以与if-else语句互转,但通常来说,switch-case语句执行效率要高。
- default在当前switch找不到匹配的case时执行。default并不是必须的。
Example:
int lable = 0; switch (lable){ case 0: System.out.println("case 0"); break; case 1: System.out.println("case 1"); break; case 2: System.out.println("case 2"); break; default: System.out.println("default"); }
运行结果:
case 0
注:一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。
退出当前循环。
Example:for (int i = 0; i <3; i++){ System.out.println("i="+i); for (int j = 0; j < 99; j++) { if (j > 5) { System.out.println(); break; // 如果j>5 ,退出当前循环 } System.out.print("j="+j+"\t"); } }
运行结果:
i=0 j=0 j=1 j=2 j=3 j=4 j=5 i=1 j=0 j=1 j=2 j=3 j=4 j=5 i=2 j=0 j=1 j=2 j=3 j=4 j=5
作为一种goto语句使用,方法如下:
首先定义一个label标签,格式为:
labelx:{ labelx标签代码块 }
然后在标签代码块内部最后一行编写如下代码:
labelx:{ labelx标签代码块 break labelx; // 一定是最后一行 }
class Break {
public static void main(String args[]) {
boolean judgement = true;
label169:
{
label168:
{
label167:
{
if (judgement == true) {
System.out.println("label167 打印输出");
judgement = false;
break label167; // 执行完后,跳过label167代码块
}
System.out.println("label167 不会打印输出");
}
System.out.println("break label167后,直接跳过label167后面的代码块,goto到这里");
if (judgement == false) break label169; // 执行完后,跳过label169代码块
}
System.out.println("break label168后,直接跳过label168后面的代码块,goto到这里");
}
System.out.println("break label169后,直接跳过label169后面的代码块,goto到这里");
}
}
输出结果:
label167 打印输出
break label167后,直接跳过label167后面的代码块,goto到这里
break label169后,直接跳过label169后面的代码块,goto到这里