为什么switch语句需要加break?

例如以下代码:

int chooseNum = Convert.ToInt32(Console.ReadLine());
switch (chooseNum)
{
    case 0:
        Console.WriteLine("@@@@@@@@@@@");
        break;
    case 1:
        Console.WriteLine("@@@@@@@@@@@");
        break ;
    case 2:
        Console.WriteLine("@@@@@@@@@@@");
        break ;
    case 3 :
        Console.WriteLine("___________");
        break;
    case 4:
        Console.WriteLine("___________");
        break;
    case 5:
        Console.WriteLine("___________");
        break;
    default:
        beak;
}

case 0-2以及case3-5的代码显然是重复的,所以我们可以将代码改为

int chooseNum = Convert.ToInt32(Console.ReadLine());
switch (chooseNum)
{
    case 0:
    case 1:
    case 2:
        Console.WriteLine("@@@@@@@@@@@");
        break;
                
    case 3:
    case 4:
    case 5:
        Console.WriteLine("___________");
        break;

    default:
    break;
}

减少了代码的重复。

如果case语句默认不需要加break语句,那么执行完某个case后就会退出switch,这样就无法实现以上代码展示的多个case语句同样选择的功能了。


版权声明:本文为weixin_42174385原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。