public class Sprite
{
public enum Dogs {collie, harrier};
public static void main(String [] args)
{
Dogs myDog = Dogs.collie;
switch (myDog)
{
case collie:
System.out.println("collie ");
case harrier:
System.out.println("harrier ");
}
}
}
What is the result?
A. collie
Copyright Tarena Corporation,2008.All rights reserved
B. harrier
C. Compilation fails.
D. collie harrier
E. An exception is thrown at runtime.
{
public enum Dogs {collie, harrier};
public static void main(String [] args)
{
Dogs myDog = Dogs.collie;
switch (myDog)
{
case collie:
System.out.println("collie ");
case harrier:
System.out.println("harrier ");
}
}
}
What is the result?
A. collie
Copyright Tarena Corporation,2008.All rights reserved
B. harrier
C. Compilation fails.
D. collie harrier
E. An exception is thrown at runtime.
switch (a) {
case '1':
System.out.println("1 ");
case '2':
System.out.println("2 ");
}
那为什么这个却输出2,而不是 1 2???
char a = '2';
switch (a) {
case '1':
System.out.println("1 ");
case '2':
System.out.println("2 ");
}
这个输出是2是因为 首先判断条件,a!=1,所以跳过第一个case,到第二个case匹配成功,就打印2
如果你在后面加一句变成
char a = '2';
switch (a) {
case '1':
System.out.println("1 ");
case '2':
System.out.println("2 ");
case '3':
System.out.println("3");
}
那么结果就是2 3 如果变成这样
switch (a) {
case '1':
System.out.println("1 ");
break;
case '2':
System.out.println("2 ");
break;
case '3':
System.out.println("3");
break;
}
那么结果也还是2
collie, harrier
}; public static void main(String[] args) {
Dogs myDog = Dogs.collie;
System.out.println(String.valueOf(myDog));
}
}