必威体育Betway必威体育官网
当前位置:首页 > IT技术

java switch基础介绍及具体使用方法

时间:2019-10-18 12:15:52来源:IT技术作者:seo实验室小编阅读:88次「手机版」
 

java switch

switch的case语句可以处理int,short,byte,char类型的值,但是不能处理long,String等类型。

java switch基础语法

witch(表达式){ 
case 表达式常量1:语句1; 
break; 
case 表达式常量2:语句2; 
break; 
...... 
case 表达式常量n:语句n; 
break; 
[default:语句n+1;] 
} 

其中,一个case表达式常量成为标号,代表一个case分支的入口。switch语句在运行时首先计算switch圆括号中“表达式”的值,这个值必须是整型或字符型的,同时后面各个case表达式常量的值的类型应与switch圆括号中“表达式”的值类型一致。一个case语句代表一个制定操作,然后转向结构出口。default子句是可选的,当表达式的值与case表达式常量的值都不匹配时,就运行default子句,转向结构出口。

java里switch的执行顺序

switch表达式的值决定选择哪个case分支,如果找不到相应的分支,就直接从”default” 开始输出。

程序执行一条case语句后,因为例子中的case分支中没有break 和return语句,所以程序会执行紧接于其后的语句。

这里写图片描述

这里写图片描述

这里写图片描述

java switch语句注意事项

case B:C;case是常量表达式,也就是说B的取值只能是常量(需要定义一个final型的常量,后面会详细介绍原因)或者int、byte、short、char(比如1、2、3、200000000000(注意了这是整型)),如果你需要在此处写一个表达式或者变量,那么就要加上单引号; case后的语句可以不用大括号,就是C不需要用大括号包裹着;

default就是如果没有符合的case就执行它,default并不是必须的。

实例:java 用switch语句解决月薪范围问题

public class SwitchDemo {
    public static void main(String[] args) {

        int month = 8;
        String monthString;
        switch (month) {
            case 1:  monthString = "January";
                     break;
            case 2:  monthString = "February";
                     break;
            case 3:  monthString = "March";
                     break;
            case 4:  monthString = "April";
                     break;
            case 5:  monthString = "May";
                     break;
            case 6:  monthString = "June";
                     break;
            case 7:  monthString = "July";
                     break;
            case 8:  monthString = "August";
                     break;
            case 9:  monthString = "September";
                     break;
            case 10: monthString = "October";
                     break;
            case 11: monthString = "November";
                     break;
            case 12: monthString = "December";
                     break;
            default: monthString = "Invalid month";
                     break;
        }
        System.out.println(monthString);
    }
}

Java中switch和if语句的区别

switch和if语句都是Java的选择语句,这两种语句都是允许在程序运行时控制程序的执行过程。

switch和if-else相比,由于使用了binary Tree算法,绝大部分情况下switch会快一点,除非是if-else的第一个条件就为true。 

编译器编译switch与编译if…else…不同。不管有多少case,都直接跳转,不需逐个比较查询。 

 

相比于if-else结构,switch的效率绝对是要高很多的,但是switch使用查找表的方式决定了case的条件必须是一个连续的常量。而if-else则可以灵活的多。

switch效率高,从汇编代码可以看出来。switch只计算一次值,然后都是test。

switch的效率与分支数无关。当只有分支比较少的时候,if效率比switch高(因为switch有跳转表)。分支比较多,那当然是使用switch。

本文编辑整理来源于w3cschool

相关阅读

java从JSONObject中取值

import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import io.

Java应用中CPU使用率过高该怎么解决

在JAVA策略当中,Java应用中CPU使用率过高我们该怎么办呢?我们需要时刻清楚排查java应用中CPU使用率高或内存占用高这类问题,其实在整

java编程语言基本知识

Java编程语言基本知识选择结构 循环结构和数组在Java编程语言中是学习Java语言的基本知识它们也都非常重要,那么它们的执行顺序

Java随机数

在实际开发中产生随机数的使用是很普遍的,所以在程序中进行产生随机数操作很重要。在Java中主要提供两种方式产生随机数,分别为调用

Java获取今天是几号

System.out.println(Calendar.getInstance().get(Calendar.DAY_OF_MONTH));

分享到:

栏目导航

推荐阅读

热门阅读