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语句使流程跳出本层循环体,从而提前结束本层循环。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-23

直接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() ;  
            }  
        }

第2个回答  2017-06-24

不加标签的break跳出1层,比如

for(){     
   for(){         
      break;
   }
   //跳到这一层
}

加标签的break跳到指定层,比如

top: for(){  
   for(){
     for(){ 
        break top;   
     }
   }
}

第3个回答  2017-06-23
跳出最外层
for(){
for(){
break;
}
}
跳出最里层,外面继续循环
for(){
flag:for(){
break flag;
}
}

第4个回答  2017-06-23

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;
}
}
}
}
}