Why is it that the following code:

class swi

{

public static void main(String[] args)

{

int a=98;

switch(a)

{

default:{ System.out.println("default");continue;}

case 'b':{ System.out.println(a); continue;}

case 'a':{ System.out.println(a);}

}

System.out.println("Switch Completed");

}

}

Gives the error:

continue outside of loop

解决方案

Falling through is the standard behavior for a switch statement and so, consequently, using continue in a switch statement does not make sense. The continue statement is only used in for/while/do..while loops.

Based on my understanding of your intentions, you probably want to write:

System.out.println("default");

if ( (a == 'a') || (a == 'b') ){

System.out.println(a);

}

I would also suggest that you place the default condition at the very end.

EDIT:

It is not entirely true that continue statements cannot be used inside switch statements. A (ideally labeled) continue statement is entirely valid. For example:

public class Main {

public static void main(String[] args) {

loop:

for (int i=0; i<10; i++) {

switch (i) {

case 1:

case 3:

case 5:

case 7:

case 9:

continue loop;

}

System.out.println(i);

}

}

}

This will produce the following output:

0

2

4

6

8

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐