java的break语句的用途是从一个封闭的语句,如switch开关语句或循环中跳出:
break label;
其中label是用于指定一个封闭语句的标号,一般加标号形式:
breakToHere:some javastatement。
其中的标号必须是合法的java标志。
break语句的标号是可选的,当break语句不带标号时,其作用与c语言中一样;
1).在switch语句中终止某个case;
2).迫使一个循环立即结束,绕过正常的循环条件检测(但在此时只能跳出最内层封闭的语句)
break 语句中的标号指示包含本break语句的任一个封闭的语句。这意味着带标号的break语句不仅仅可以跳
出方法内任何指定的语句 或循环。
test: if (check (i) {
for (int j=0 ;j<=10 ;j++){
if (j>i)break; //仅仅终止该循环
if(a[i][j]=null)//关于null:http://baike.baidu.com/view/329484.html
break test;
}
……
}
注:其中break标号指整个if语句,在这个if语句中包含了for循环,for循环的第一个break语句无标号
因此在j>i条件成立时它仅仅终止for循环,此时将继续执行if语句的for循环后面的语句;而第二个break
语句带有标号test,当a[i][j]=null时将沪综指整个if语句,程序将转到if后面的语句开始执行。
在java中带标号的break语句可以与finally子句配合使用:
test:if(check(i){
try {
for(int j=0;j<10;j++){
if (j>i)break;
if(a[i][j]=null)
break test;
}
}
finally {cleanup(a,i,j);}
}
注:若a[i][j]=null条件成立,将执行第二条break语句,由于break指向外层的if封闭语句,在该语句执行finally子句,在finally子句的cleanup执行终止if语句。
|