码迷,mamicode.com
首页 > 其他好文 > 详细

选择判断语句(switch)

时间:2018-03-27 14:45:09      阅读:551      评论:0      收藏:0      [点我收藏+]

标签:括号   选择   body   time   说明   div   跳转   blank   举例   

1、switch语句格式

switch(表达式){

  case 取值1:

    执行语句;

  break

  case 取值2:

    执行语句;

  break

  …...

  default:

    执行语句;

  break

}

2、switch语句特点

   1,switch语句选择的类型只有四种:byteshortint char

   2,case之间与default没有顺序。先判断所有的case,没有匹配的case执行default

   3,switch语句停止的条件是遇到了break关键字或者结束switch语句的大括号

   4,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

   5switch case中的值必须要与switch表达式的值具有相同的数据类型。而且case后跟的值必须是常量,不能跟变量。

3、举例

题目:根据用于指定的月份,打印该月份所属的季节.

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入月份:");
    int month = sc.nextInt();

    switch (month) {
        case 3:
        case 4:
        case 5:
            System.out.println("spring");
        break;

        case 6:
        case 7:
        case 8:
            System.out.println("sunmer");
        break;

        case 9:
        case 10:
        case 11:
            System.out.println("autumn");
        break;

        case 12:
        case 1:
        case 2:
            System.out.println("winter");
        default:
            System.out.println("ok");
        break;
    }
}

if switch 语句很像具体什么场景下,应用哪个语句呢?

如果判断的具体数值不多,而是符号byte,short int char 四种类型.

虽然2个语句都可以使用,建议使用switch语句.因为效率稍高.

其他情况:

对区间判断,对结果为boolean 类型判断,使用if if的使用范围更广。

if 除了能判断具体数值还能判断区间。switch 判断区间会很费劲的。要写好多case 对于运算结果是boolean型的 if 能判断 switch 是不能实现的。例如:根据学生考试成绩划分ABCD   A90-100  B80-89 C70-79 D60-69 E0-59

实际开发怎么选择呢?

 如果要对具体数值进行判断,并且数值不多,那么 就用switch 来完成。switchcase条件都是编译期整数常量,编译器可以做到表格跳转查询,查找速度快

但是switch 的局限性比较大必须是4种类型,并且值不多。一般都是使用if 最后在jdk 7中对switch 进行了增强 还可以判断字符串。5.0 增加了对枚举的判断。

 

 

 

原创作者:DSHORE

出自:http://www.cnblogs.com/dshore123/

欢迎转载,转载务必说明出处。(如果本文对你有用,可以点击一下右下角的 推荐,谢谢!

选择判断语句(switch)

标签:括号   选择   body   time   说明   div   跳转   blank   举例   

原文地址:https://www.cnblogs.com/dshore123/p/8656779.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!