java里面的一个break是跳出一层for循环,还是可以跳出几层
一个break只跳出一层。
Java中break return continue 区别
continue语句作用。
continue语句continue语句的一般形式为:continue。
其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。
执行continue语句并没有使整个循环终止。在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分 ,然后决定循环是否继续进行。在for 循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“表达式3”求值,然后进行“表达式2”的条件测试。
return 语句的作用。
return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行。
return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值 的类型一致,可以使用强制类型转换来是数据类型一致。
return 当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。
break语句的作用。
只能在循环体内和switch语句体内使用break语句。
当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体。
在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环。
直接break就是一层,如果需要多层,则需要label
public static void main(String args[]){
OK: //设置一个标记 使用带此标记的break语句跳出多重循环体
for(int i=1;i<100;i++){ //让i循环99次
for(int j=1;j<=i;j++){
if(i==10){
break OK ;
}
System.out.print(i + "*" + j + "=" + i*j) ;
System.out.print(" ") ;
}
System.out.println() ;
}
}
不加标签的break跳出1层,比如
for(){
for(){
break;
}
//跳到这一层
}
加标签的break跳到指定层,比如
top: for(){
for(){
for(){
break top;
}
}
}
跳出最外层
for(){
for(){
break;
}
}
跳出最里层,外面继续循环
for(){
flag:for(){
break flag;
}
}
break; 只能跳出一层循环.
如果循环有标记, 那么可以跳出多层循环
比如
public class LoopDemo {
public static void main(String[] args) {
//给外层循环一个标记OUT
OUT:for (int i = 0; i < 6; i++) {
System.out.println("i="+i);
for (int j = 0; j < 5; j++) {
System.out.println("j="+j);
if(j==2){
//跳出外层循环
break OUT;
}
}
}
}
}