public class Example {
public static void main(String[] args) {
outer: for(int i = 0; i<3 ; i++) {
inner: for(int j =0; j< 3; j++ ) {
if(j>1) {
break outer;
}
System.out.println(j + "and" + i);
}
}
}
}outer可以这么用吗?break也能用在if里面吗?

解决方案 »

  1.   

    这是JAVA里为了防止GOTO误用而采取的中间方针,它和GOTO的意思一样,只是限制了使用范围,只能用在与循环有关的上下文中,你可以看看TIJ,里面有详细阐述。
      

  2.   

      outer是一个标签   标记位置的作用
      

  3.   

    break:带标签的表示跳到标签处终止标签下所以循环
            不带标签的终止本循环continue:带标签的跳到标签处的循环继续
               不带标签的执行本循环的下次循环
    都是用在多重嵌套里的
      

  4.   

    这里不是什么outer可以这么用的问题,这里的outer可以换成任意的单词,它只是一个标记标签.
    你那里的break是在if里,是带标签的break.实际上终止的是outer所标记的那个for循环.
      

  5.   

    可以这样写,类似c中的 goto语句。
      

  6.   

    GOTO的阉割版。叫做一个标记,break的时候回到了outer的那个for循环。
      

  7.   

    可以这样用,相当于goto语句,break可以用在if里面,但他跳出的还是循环。
      

  8.   

    如果对此感到不太明白的话,建议楼主去看下C(或C++)。其实这功能就相当于其里面的goto功能。
      

  9.   

    break:带标签的表示跳到标签处终止标签下所以循环 
            不带标签的终止本循环 continue:带标签的跳到标签处的循环继续 
              不带标签的执行本循环的下次循环 
    在这outer是一个标签  标记位置的作用 。
    break可以用在if中.