2019年11月

Java 中的标号:outer 的作用

标号 label

标号 提供了一种简单的 break 语句所不能实现的控制循环的方法,当在循环语句中遇到break时,不管其它控制变量,都会终止。
但是,当你嵌套在几层循环中想退出循环时又会怎样呢?
正常的 break 只退出一重循环,你可以用标号标出你想退出哪一个语句。
char a;  
outer:  //this is the label for the outer loop  
for(int i=0;i<10;i++)  
{  
    for(int j=0;j<10;j++)    
    {      
        a=(char)System.in.read();      
        if(a=='b')        
        break outer;      
        if(a=='c')        
        continue outer;    
    }  
}
在这个例子中,循环从键盘接受 100 个输入字符,输入“b”字符时,break outer 语句会结束两重循环。
注意:continue outer 语句,它告诉计算机退出现在的循环继续执行 outer 循环

例子2:

求 100-200 之间的质数
System.out.println("100~200 的质数");

int n = 0;

outer:
for (int i=101; i<200; i+=2){
    for (int j = 2; j<i; j++){
        if(i%j == 0) continue outer;//结束本次外层循环
    }

    System.out.print(" "+i);;//显示质数
    n++;//计算质数个数

    if(n<10) continue;//未满10个,则不换行
    System.out.println();
    n = 0;//重置质数个数
}

转载自:http://blog.sina.com.cn/s/blog_6f8bd746010136yr.html