public static void main(String[] args)
{
test(1);
test(2);
test(3);
test(4);
}
public static void test(int a)
{
switch (a)
{
case 1:
case 2:
System.out.println("OK2");
break;
case 3:
System.out.println("OK3");
break;
default:
System.out.println("default");
break;
}
}

解决方案 »

  1.   

    结果为:
    OK2
    OK2
    OK3
    default
      

  2.   

    当case 条件后没有加上break;
    会忽略其他case判断,继续执行下去,直到碰到break;
    所以test(1)输出ok2
    其他的应该没问题吧....
      

  3.   

    输出当然是OK2
    OK2
    OK3
    default啊,有什么问题?你觉得case 1这里不对?case 1:
    case 2:
    System.out.println("OK2");
    break;表示当1或者2的时候都打印OK2,如果你意思是当1的时候不打印,应该是
    case 1:
    break;case 2:
    System.out.println("OK2");
    break;