学习目标:

掌握switch的使用

学习内容:

1、switch语法

<font color=#000000 size=3>
switch(表达式) {
case 常量1: 语句体1; break
....
case 常量2: 语句体2; break
default: 语句体3;
}

switch中表达式可以为short、int、byte、char

case是常量,用于与表达式进行比较,如果为false则执行下一个case,如果为true则通过后面的break跳出switch循环,执行循环外的代码,如果没有一个case被匹配到则执行default语句。

流程图如下:

代码如下:

int days = 3;
switch (days) {
case 1: System.out.println("星期一"); break;
case 2: System.out.println("星期二"); break;
case 3: System.out.println("星期三"); break;
case 4: System.out.println("星期四"); break;
case 5: System.out.println("星期五"); break;
case 6: System.out.println("星期六"); break;
case 7: System.out.println("星期天"); break;
}

运行效果:

星期三

Process finished with exit code 0

2、switch穿透
break可以省略,但是建议不要省略,省略后会出现switch穿透,穿透后会出现当while循环体内的case被正确匹配到后,后面的case判断会失效,也就是后面的语句都会执行,直到匹配到下一个break或者跳出循环。

代码如下:

int days = 3;
switch (days) {
case 1: System.out.println("星期一"); break;
case 2: System.out.println("星期二");
case 3: System.out.println("星期三");
case 4: System.out.println("星期四");
case 5: System.out.println("星期五");
case 6: System.out.println("星期六"); break;
case 7: System.out.println("星期天"); break;
}

运行效果:

星期三
星期四
星期五
星期六 Process finished with exit code 0

3、例题:(输出当前月份)

Scanner sc = new Scanner(System.in);
System.out.println("请输入月份:");
int day = sc.nextInt();
switch(day) {
case 12 :
case 1 :
case 2 : { System.out.println("冬季"); }; break;
case 3 :
case 4 :
case 5 : { System.out.println("春季"); }; break;
case 6 :
case 7 :
case 8 : { System.out.println("夏季"); }; break;
case 9 :
case 10 :
case 11 : { System.out.println("冬季"); }; break;
default : { System.out.println("您输入的月份有误");} break;
}
请输入月份:
11
冬季 Process finished with exit code 0

总结:

switch需要熟练掌握

Java中switch语句+例题输出当前月份的更多相关文章

  1. Java基础知识强化19:Java中switch分支语句

    java中switch语句: 这里expression控制表达式的数据类型只能是byte.short.char.int四种整型类型和枚举类型,不能是boolean类型: Java7(1.7)改进了sw ...

  2. 浅谈Java中switch分支语句

    前言: 在程序中遇到多分支选择的时候,想必大家都喜欢用if...else if...else...语句,尤其是初学者,因为在了解switch语句之前,我也是只会用if...else语句.那么现在看完这 ...

  3. 品味性能之道<十一>:JAVA中switch和if性能比较

    通常而言大家普遍的认知里switch case的效率高于if else.根据我的理解而言switch的查找类似于二叉树,if则是线性查找.按照此逻辑推理对于对比条件数目大于3时switch更优,并且对 ...

  4. 在 php 7.3 中 switch 语句中使用 continue

    在 php 7.3 中 switch 语句中使用 continue 在 php 7.3 的 switch 中使用 continue 会出现警告.1 2 3 while ($foo) { switch ...

  5. java中sql语句能不能加分号的问题?

    一.原因  在程序运行中,当执行sql后总是报无效字符错误:但是把程序放在pl/sql中执行又没有错误.让我很纳闷!于是我开始查找资料,然后我终于发现了问题. 二.问题剖析 原来在程序中:如果你在程序 ...

  6. [转帖]关于Java中SQL语句的拼接规则

    关于Java中SQL语句的拼接规则 自学demo 的时候遇到的问题 结果应该是 '"+e.getName()+"' 注意 一共有三组标点符号 (除去 方法函数后面的括号) 实现目标 ...

  7. Java中数字的格式化输出

    Java中数字的格式化输出 double d = 345.678; String s = "hello!"; int i = 1234; //"%"表示进行格式 ...

  8. java中switch、while、do...while、for

    一.Java条件语句之 switch 当需要对选项进行等值判断时,使用 switch 语句更加简洁明了.例如:根据考试的名次,给予前 4 名不同的奖品.第一名,奖励笔记本一台:第二名,奖励 IPAD  ...

  9. java基础:switch语句应用,循环的详细介绍以及使用,附练习案列

    1. switch语句 1.1 分支语句switch语句 格式 switch (表达式) { case 1: 语句体1; break; case 2: 语句体2; break; ... default ...

随机推荐

  1. Golang开源流媒体服务器(RTMP/RTSP/HLS/FLV等协议)

    一. lal 简介 lal是开源直播流媒体网络传输项目,主要由三部分组成: lalserver:流媒体转发服务器.类似于nginx-rtmp-module等服务,但支持更多的协议,提供更丰富的功能. ...

  2. 浅谈 SOLID 原则

    单一职责原则(SRP) 单一职责原则(SRP)表明一个类有且只有一个职责.一个类就像容器一样,它能添加任意数量的属性.方法等.然而,如果你试图让一个类实现太多,很快这个类就会变得笨重.任意小的改变都将 ...

  3. LGP3126题解

    这道题还有点意思. 路径要求是一个回文串,回文串立马枚举中点.中点只可能在对角线上. 枚举对角线上的一个点,然后两边的路径必须完全相同. 既然路径上的字符必须完全相同,那么每个前缀也必须完全相同. 考 ...

  4. Net Framework 中托管代码与非托管代码的区别

    托管代码与非托管代码的区别 1 简单的说,就是代码被编译成MSIL后在.net的Framework下运行,同操作系统底层的交互都交给framework去做. 所谓非托管代码就是脱离了Framework ...

  5. Java基础—构造方法

    1.构造方法概述 构造方法是一种特殊的方法,用来创建对象,当我们不定义时,系统会默认给出一个无参构造方法:一旦我们定义了任意的构造方法,系统就不会给出默认的无参构造方法 格式如下: public ca ...

  6. 学习SpringMVC必知必会(3)~springmvc的请求和响应

    一.处理器方法响应处理 ▷ Controller方法该怎么返回.Controller数据该怎么进行共享 返回void/ModelAndView/String 1.Controller方法返回void ...

  7. weblogic重要漏洞记录

    (PS:之前在freebuf发过,这里直接复制过来的,所以有些图片会有水印) 前言 T3协议存在多个反序列化漏洞CVE-2015-4852/CVE-2016-0638/CVE-2016-3510/CV ...

  8. 搭建域环境,安装Exchange Server 2013,复现CVE-2019-1040

    搭建域环境 操作系统: 域控:Windows server 2008 R2    域成员: Windows Server 2012 . Windows 7 对于将要安装成为DC的服务器来讲,其系统配置 ...

  9. 前端工程化 Webpack基础

    前端工程化 模块化 (js模块化,css模块化,其他资源模块化) 组件化 (复用现有的UI结构.样式.行为) 规范化 (目录结构的划分.编码规范化.接口规范化.文档规范化.Git分支管理) 自动化 ( ...

  10. 不重写hash不重写equals造成的问题

    不重写hash造成的问题 第一,就是不重写,调用object 的hashCode方法,用的是地址, 比如现在你map.put() 10000个对象,这时候对象都是不同的地址,计算出不同的对应的桶位置( ...