当前位置: 首页 > article >正文

Java流程控制:分支结构之switch-case的使用

/*
分支结构之switch-case的使用1、语法格式switch(表达式){case 常量1://执行语句1break;case 常量2://执行语句2break;.....default://执行语句3break;
}2、执行过程:
根据表达式中的值,依次匹配case语句。一旦与某一个case中的常量相等,那么久执行此case此case中的执行语句。
执行完此执行语句之后情况1:遇到break,则执行break后,跳出当前的switch-case结构情况2:没有遇到break,则继续执行其后的case中的执行语句。(并不会再与其它case语句中的常量匹配了,直接执行case后的语句)。 ------>case 穿透...直到遇到break或者执行完所有的case及default中的语句,退出当前的switch-case结构3、说明:
①switch中的表达式只能是特定的数据类型。如下:byte、short、char、int、枚举(JDK5.0新增)、String(JDK7.0新增)
②case后都是跟的常量,使用表达式与这些常量做相等的判断,不能进行范围的判断
③开发中,使用switch-case时,通常case匹配的情况都有限。
④break:可以使用在switch-case中。一旦执行break关键字,就跳出当前的switch-case结构
⑤default:类似于if-else中的else结构。default是可选的,而且位置是灵活的,习惯写在最后4、switch-case 与 if-else之间的转换
①开发中,凡是可以使用switch-case结构的场景,都可以使用if-else。反之不成立
②开发中,如果一个具体问题既可以使用switch-case,又可以使用if-else。推荐使用switch-case。为什么?switch-case相较于if-else效率更高。
*/
class SwitchCaseTest 
{public static void main(String[] args) {int num = 1;switch(num){case 0:System.out.println("zero");break;case 1:System.out.println("one");break;//结束当前的switch-case结构case 2:System.out.println("two");break;case 3:System.out.println("three");break;default:System.out.println("other");break;}//default位置任意时:int num1 = 10;switch(num1){default:System.out.println("other");//break;   // 若此时不加break,则结果出了输出other外,还会输出zerocase 0:System.out.println("zero");break;case 1:System.out.println("one");break;//结束当前的switch-case结构case 2:System.out.println("two");break;case 3:System.out.println("three");break;}//另例:String season = "summer";switch(season){case "spring":System.out.println("春暖花开");break;case "summer":System.out.println("夏日炎炎");break;case "autumn":System.out.println("秋高气爽");break;case "winter":System.out.println("冬雪皑皑");break;/*default:System.out.println("季节输入有误");break;*/    }//错误的例子:编译不通过/*int number = 20;switch(number){case number > 0:System.out.println("正数");break;case number > 0:System.out.println("负数");break;default:System.out.println("零");break;}*/}
}

运行结果如下:

http://www.lryc.cn/news/2419808.html

相关文章:

  • VoLTE前世今生...说清楚VoIP、VoLTE、CSFB、VoWiFi、SIP、IMS那些事
  • 【ADC】ADC介绍
  • table完美css样式,table的基本样式,table样式
  • c# .NET 高级编程 高并发必备技巧 - 锁
  • FFmpeg + Qt 音频文件转PCM数据
  • 1、 什么是time_wait?如何产生的?
  • HTTP Status 404 – Not Found 问题集合
  • 进程调度
  • 几个流行而其免费的SVN服务器
  • 计算机网络实训-2 网络设备配置基础
  • 第2期 Directory Opus(文件管理工具大搜全)
  • module是什么类型_Linux驱动开发:为什么教程都不讲MODULE_DEVICE_TABLE的作用
  • Free Pascal介绍
  • 蓝牙广播报文
  • 数据产品化的数据标准化:如何实现数据的一致性和可比性
  • 3维地图的尝试
  • C和指针
  • Ubuntu下Tinyos安装步骤
  • Java中获取时间以及java.util和java.sql之间时间日期的转换
  • assert_param 错误的解决方法
  • [Mysql] LIKE与通配符
  • 利用百度点击原理提升关键词排名
  • 禁用的灰色文本框、按钮的克星
  • web应用项目开发
  • window.open()和window.showModalDialog 的使用及传值操作
  • c语言程序的生命周期(编写、预处理、编译、汇编、链接、执行)
  • 四个数列(二分查找)
  • IoU,GIoU,DIoU、CIoU详解
  • System.ArgumentException HResult=-2147024809 Message=参数无效。 Source=System.Drawing
  • 标志位寄存器与CF、OF标志位的区分