在Java5以前,switch(expr)中,exper只能是byte,short,char,int类型。

从Java5开始,java中引入了枚举类型,即enum类型。

从Java7开始,exper还可以是String类型。

switch关键字对于多数java学习者来说并不陌生,由于笔试和面试经常会问到它的用法,这里做了一个简单的总结:

  • 能用于switch判断的类型有:byte、short、int、char(JDK1.6),还有枚举类型,但是在JDK1.7后添加了对String类型的判断
  • case语句中少写了break,编译不会报错,但是会一直执行之后所有case条件下的语句而不再判断,直到default语句
  • 若果没有符合条件的case就执行default下的代码块,default并不是必须的,也可以不写
 1 package codeAnal;2 3 public class SwitchDemo {4 5     public static void main(String[] args) {6         stringTest();7         breakTest();8         defautTest();9     }
10
11     /*
12      * default不是必须的,也可以不写
13      * 输出:case two
14      */
15     private static void defautTest() {
16         char ch = 'A';
17         switch (ch) {
18         case 'B':
19             System.out.println("case one");
20             break;
21         case 'A':
22             System.out.println("case two");
23             break;
24         case 'C':
25             System.out.println("case three");
26             break;
27         }
28     }
29
30     /*
31      * case语句中少写了break,编译不会报错
32      *     但是会一直执行之后所有case条件下的语句,并不再进行判断,直到default语句
33      *     下面的代码输出: case two
34      *                   case three
35      */
36     private static void breakTest() {
37         char ch = 'A';
38         switch (ch) {
39         case 'B':
40             System.out.println("case one");
41
42         case 'A':
43             System.out.println("case two");
44
45         case 'C':
46             System.out.println("case three");
47         default:
48             break;
49         }
50     }
51
52     /*
53      * switch用于判断String类型
54      *     输出:It's OK!
55      */
56     private static void stringTest() {
57         String string = new String("hello");
58         switch (string) {
59         case "hello":
60             System.out.println("It's OK!");
61             break;
62
63         default:
64             System.out.println("ERROR!");
65             break;
66         }
67     }
68 }

转载于:https://www.cnblogs.com/a8457013/p/9262433.html

Switch语句的参数是什么类型的?相关推荐

  1. 2.Switch语句的参数类型

    2019独角兽企业重金招聘Python工程师标准>>> Switch语句的参数类型 JDK1.6 的版本中,switch后面的括号里面只能放int类型的值,注意是只能放int类型,但 ...

  2. JavaScript中switch语句的参数问题

      JavaScript中switch语句的参数类型可以为boolean类型.   例:编写一个程序,实现对给出的一个百分制成绩输出相应的等级. 即:90分以上为'A',80-89分为'B',70-7 ...

  3. js中switch语句的参数问题

    js中switch语句是可以使用变量,表达式,字符串,布尔值等来作为参数的! 例如: <!DOCTYPE html> <html lang="en"> &l ...

  4. switch 语句的参数类型

    switch(参数值){ case value: [default://可选 defaultStatements; ] } 参数值类型必须是这几种类型之一:int,byte,char,short sw ...

  5. Java中switch语句支持的类型

    switch语句表达式的取值类型: 基本数据类型:byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是String 不支持long.float.double.boolea ...

  6. linux脚本中swith,BeanShell中switch语句

    我的博客原址关于更多BeanShell的博文请单击此处 在 BeanShell 中,switch 语句不仅仅可以接收数值类型的参数还能传入对象类型.比如,你可以 switch 日期和字符串,相当于使用 ...

  7. 三步实现自动注册工厂替代switch语句(c++)

    概述 在学长博客里看到了使用自动注册工厂替代switch语句的文章,想到可以将其用到自己的项目里,就照猫画虎学习着也实现了一个. 这里并不是用其替代创建派生类的传统Factory,而是为了替代服务器中 ...

  8. 在switch语句中使用字符串以及实现原理

    一次机缘巧合,在idea中调试代码的时候,跳到了.class文件中,刚好调试的代码是switch,于是就有了下面的内容: 对于Java语言来说,在Java 7之前, switch语句中的条件表达式的类 ...

  9. switch中的参数类型

    关于switch的参数类型 switch(expr1)中,expr1是一个整数表达式,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int ...

最新文章

  1. OpenJDK install
  2. Python动态绑定属性和方法
  3. 中的挂起是什么意思_书房装饰挂什么画好 书法字画给你想要的诗意生活
  4. Java集合篇:Map常用遍历方式 以及 性能对比
  5. MySQL索引结构--由 B-/B+树看
  6. 专业的数据库连接工具:DBeaverEE for Mac中文版
  7. 58同城峰会落幕 智能化和下沉市场能否让58一直神奇?
  8. 代码走查-放过疑点就是埋雷
  9. Unity3D--用2D图片实现3D轮转图
  10. html2canvas加上canvas2image保存网页为图片
  11. CDN是什么?如何用Cloudflare CDN加速网站
  12. 什么是pisa测试_PISA测试是什么?
  13. Android UI 冻结处理方法
  14. JDE910笔记2--OMW项目建立及简单使用
  15. doc文件文本结构提取
  16. python元组(戴了紧箍咒的列表)
  17. signature=b82cbfee4ef06278e49b74f8c0c0e8a0,FgfdhG0G4b58BB0Y
  18. 八大排序算法(C语言)
  19. Spring RestTemplate Exception: “Not enough variables available to expand”; RestTemplate url附带json数据
  20. python实现基于TNDADATASET的人体行为识别

热门文章

  1. spring项目搭建云服务器,Spring Boot项目打包并部署到云服务器
  2. linux安装库文件下载,Linux下的Curses库的下载与安装
  3. python根据时间序列画折线图_Python:matplotlib 和 Seaborn 之折线图 (三十七)
  4. calendar前推n天_Shell获取ES3天的索引列表进行迁移操作
  5. css 透明背景_css 中多种边框的实现小窍门
  6. 图论--最短路-- Dijkstra模板(目前见到的最好用的)
  7. LWIP之IP层实现(转载)
  8. MySQL explain结果详解
  9. C++笔记——指针数组/数组指针
  10. linux TCP/IP L2层数据包接收流程,eth_rxnetif_receive_skb处理流程