zoukankan      html  css  js  c++  java
  • Java switch-case

    首先从原理上来阐述这个问题:

    switch(表达式)
    {
    case 常量表达式1:语句1;
    ....
    case 常量表达式2:语句2;
    default:语句;
    }
    1.default就是如果没有符合的case就执行它,default并不是必须的.
    2.case后的语句可以不用大括号.

    3.switch语句的判断条件可以接受int,byte,char,short,String,enum不能接受其他类型.

    4.一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句.

    原理归原理,下面是几个容易混淆的例子.

    1.标准型(case后面都有break语句)
    int i=3;
    switch(i)
    {
       case 1:
           System.out.println(1);
           break;
       case 2:
           System.out.println(2);
           break;
       case 3:
           System.out.println(3);
           break;
       default:
           System.out.println("default");
           break;
    }
    输出结果:
             3
    2.特殊型1(不是完全有break语句,可以完成一些特殊应用)
    int year=2005;
    int month=3;
    int day;
    switch(month)
    {
       case 1:
       case 3:
       case 5:
       case 7:
       case 8:
       case 10:
       case 12:
             day=31;
             break;
       case 2:
             day=28;
             break;
       case 4:
       case 6:
       case 9:
       case 11:
              day=30;
              break;
    }
    这里 day=31;
    3.特殊型2(default的位置)
    int i=1;
    switch(i)
    {
       case 1:
           System.out.println(1);
        default:
           System.out.println("default");
       case 2:
           System.out.println(2);
           break;
       case 3:
           System.out.println(3);
           break;
    }
    输出结果:
             1
             default
             2   

  • 相关阅读:
    【BZOJ 2324】 [ZJOI2011]营救皮卡丘
    【BZOJ 2809】 [Apio2012]dispatching
    网络流小结
    复活
    终结
    11.7模拟赛
    codevs 2173 忠诚
    P3386 【模板】二分图匹配
    Leetcode 大部分是medium难度不怎么按顺序题解(上)
    ATP的新博客!
  • 原文地址:https://www.cnblogs.com/wzyxidian/p/4383369.html
Copyright © 2011-2022 走看看