public class StmtLabels {
public static void main(String[] args) {
int count = 0;
// test break label on compound statement
lab1:
{
System.out.println("before lab1");
if ( count == 0 )
{ break lab1; }
System.out.println("after lab1");
} // test break label on an if statement
System.out.println("before lab1a");
lab1a:
if ( count == 0 ) {
break lab1a;
} else {
System.out.println("else clause; not break to lab1a");
}
System.out.println("after lab1a"); // test continue label on compound statement
lab2:
{
System.out.println("before lab2");
if ( count == 0 )
{ continue lab2; }
}
System.out.println("after lab2");
}
}
public static void main(String[] args) {
int count = 0;
// test break label on compound statement
lab1:
{
System.out.println("before lab1");
if ( count == 0 )
{ break lab1; }
System.out.println("after lab1");
} // test break label on an if statement
System.out.println("before lab1a");
lab1a:
if ( count == 0 ) {
break lab1a;
} else {
System.out.println("else clause; not break to lab1a");
}
System.out.println("after lab1a"); // test continue label on compound statement
lab2:
{
System.out.println("before lab2");
if ( count == 0 )
{ continue lab2; }
}
System.out.println("after lab2");
}
}
continue不能用在这里,所以会出错。
只能用在循环中
{
System.out.println("before lab2");
if ( count == 0 )
{
continue lab2;
}
System.out.println("after lab2");
}
这段代码可以写为:
while(count==0)
{
System.out.println("before lab2");
}
System.out.println("after lab2");
到底有什么不妥?
eg.
boolean flag = true;
while(true){
System.out.println("I will run forever");//将永远循环输出这一句
if(flag) continue;
System.out.println("I will never run");//这句就永远运行不了
}
所以,continue没有循环自然不会有作用。
lab2:
{
System.out.println("before lab2");
if ( count == 0 )
{
continue lab2;
}
System.out.println("after lab2");
}
这段代码可以写为:回复人: yayv(yayv) ( ) 信誉:99
while(count==0)
{
System.out.println("before lab2");
}
System.out.println("after lab2");
Top
continue 在你的程序中会造成死循环。
老在lab2中循环,没有退出条件,所以有错的。
我想你就是这个意思吧!
转向!