switch case  判断表达式的一种,类似于 if else

switch() 方法支持数据类型:JDK1.6(char,byte,short,int),JDK1.7(char, byte,short,int, String)

case 表达式可以有多个 类似于 else if

switch case 用法限制

每个case语句要通过break/return结束语句

最后一个分支要是用default 结束switch 语句

支持多个case分支,执行一个判定逻辑

switch case 错误用法解析

error code 1. case 表达式执行结束没有 break/return 结束

public static voidswithcTest(inta){switch(a){case1:

System.out.println(1);case2:

System.out.println(2);case3:

System.out.println(3);

}

}

//运行方法

swithcTest(2);

//打印执行结果

2

3

期望结果打印2完成结束语句,但是程序未结束,并且执行 case 3 表达式

Javap -c xxxx.class

switch case 2 表达式执行完成后,没有结束,继续执行 case 3 表达式,执行后return 结束语句

正确写法

public static void swithcTestReturn(int a){

switch(a){

case 1:

System.out.println(1);

return;

case 2:

System.out.println(2);

return;

case 3:

System.out.println(3);

return;

default:

System.out.println(4);

return;

}

}

//运行方法

swithcTest(2);

//打印执行结果

2

Javap -c xxxx.class

当 switch case 2 表达式执行完成,return 结束语句

error code 2. default 使用位置错误

public static void swithcTestDefault(int a){

switch(a){

case 1:

System.out.println(1);

return;

default:

System.out.println(4);

case 2:

System.out.println(2);

return;

case 3:

System.out.println(3);

return;

}

}

//运行方法

swithcTestDefault(4);

//打印执行结果

4

2

期望结果打印4完成结束语句,但是程序未结束,并且执行 case 2 表达式后,return结束

Javap -c xxxx.class

default:36 代码命令行至50行  (46-50行属于case 2 表达式的命令行)

default默认表达式没有在43行执行后 break/return结束,继续往下执行 case 2 表达式

执行到50行时return结束,所以打印结果 4  2

正确写法

public static void swithcTestReturn(int a){

switch(a){

case 1:

System.out.println(1);

return;

case 2:

System.out.println(2);

return;

case 3:

System.out.println(3);

return;

default:

System.out.println(4);

return;

}

}

//运行方法

swithcTestDefault(4);

//打印执行结果

4

if else 案例编码:

public static voidifTest(inta){if(a>1){System.out.println(1);

}else if(a>2){System.out.println(2);

}else{System.out.println(a);

}

}

javap -c xxxx.calss

总结:if  else 的每个分支执行完成后,会执行goto 结束语句 ,switch case 如果没有写break/return, 默认情况下会继续执行以下命令行

本文地址:https://blog.csdn.net/u014614478/article/details/109263395

希望与广大网友互动??

点此进行留言吧!

switch java 用法_switch 用法解读相关推荐

  1. java switch商品优惠_switch用法_switch

    任天堂新NS主机Switch功能及使用方法介绍(4 550x380 - 46KB - JPEG Java实例-enum和switch语句的用法 - 今日头条 555x437 - 20KB - JPEG ...

  2. switch case语句的用法

    switch case语句的用法 我们首先来看一下switch case 语句的一般形式是怎样的 switch(表达式){case 常量1 :代码块:break:case 常量2:代码块:break: ...

  3. 四种Java线程池用法解析

    四种Java线程池用法解析 本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 ...

  4. 2020-12-17 【 java优先队列的用法】

    java优先队列的用法 peek是top() 只取最上面的元素 poll是pop() 弹出 add是添加 push 类的比较器,相对于仿函数 struct cmp{ bool operator ()( ...

  5. java中import用法

    java中import用法 单类型导入(single-type-import),例如import java.io.File; 按需类型导入(type-import-on-demand),例如 impo ...

  6. 【Java 泛型】泛型用法 ( 泛型类用法 | 泛型方法用法 | 泛型通配符 ? | 泛型安全检查 )

    文章目录 一.泛型类用法 二.泛型方法用法 三.泛型通配符 <?> 四.泛型安全检查 五.完整代码示例 1.泛型类 / 方法 2.main 函数 一.泛型类用法 泛型类用法 : 使用时先声 ...

  7. c语言 case语句用法,switch ... case语句的用法[组图]

    switch ... case语句的用法[组图] 08-13栏目:技术 TAG:switch case语句 switch case语句 当情况大于或等于4种的时候就用switch ...  case语 ...

  8. java.nio.ByteBuffer用法小结

    转载自  java.nio.ByteBuffer用法小结 在NIO中,数据的读写操作始终是与缓冲区相关联的.读取时信道(SocketChannel)将数据读入缓冲区,写入时首先要将发送的数据按顺序填入 ...

  9. Java Spring IOC用法

    Java Spring IOC用法 Spring IoC 转载于:http://www.cnblogs.com/flowwind/p/4772375.html 在前两篇文章中,我们讲了java web ...

最新文章

  1. 【Kaggle Learn】Python 5-8
  2. 用java编写战舰 游戏吗_java – 战舰游戏 – 船舶重叠
  3. 计算机视觉原理——RANSAC
  4. 解决Redhat Linux AS使用yum时出现This system is not registered with RHN的问题(改用CentOS的yum)...
  5. Linux学习记录--开机挂载错误
  6. 第三天2017/03/30(上午:二级指针的(输入)内存模型:(共三种模型))
  7. jca oracle官方文档,Oracle 官方文档说明
  8. html5中表格如何等分,纯css3饼图五等分
  9. Codeforces 235C
  10. oracle捕捉所有异常,如何捕获和处理特定的Oracle异常?
  11. Java成员方法的声明和调用
  12. linux进程管理与调度
  13. 论文笔记_S2D.37_2015-TPAMI_使用深度卷积神经场从单目图像学习深度
  14. IDEA使用技巧--在文件导航栏中屏蔽指定后缀名的文件
  15. weui和jquery weui的区别、下载和在项目中的引用、使用、应用
  16. 强大的 Fresco(加载网络和本地图片)简单使用
  17. 金蝶中间件中标国家金质工程
  18. 如何查看本机IP及端口
  19. 苏宁RPC远程服务调用框架RSF
  20. fopen函数的打开模式

热门文章

  1. 深入理解Allocator
  2. 这就是阶层——你根本不知道世界有多残酷
  3. 堆和栈的概念和区别 python_堆和栈的概念和区别(转载)
  4. electron端实现录音播放功能
  5. GOLANG实现模板模式
  6. 数据分析毕业设计 flask疫情数据分析可视化系统 - python 爬虫
  7. 微信小程序页面跳转:wx.switchTab、wx.reLaunch、wx.redirectTo、wx.navigateTo、wx.navigateBack的使用和区别
  8. Java基础常见知识面试题总结(上)
  9. 数据结构——哈夫曼(Huffman)树+哈夫曼编码
  10. 因果推断16--市场营销中资源分配问题的直接异质因果学习(美团)