学习目标:

掌握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. 扩展auth_user字段、BBS需求分析、创建BBS数据库、注册页面搭建与用户头像展示及Ajax提交数据

    昨日内容回顾 csrf跨站请求 1. SQL注入 2. xss攻击 3. csrf跨站请求 4. 密码加密(加盐) '''django中默认有一个中间件来验证csrf''' # 只针对post请求才验 ...

  2. js-表格

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. 解决移动端ios网页端收起键盘导致的页面空白问题

    一句代码就搞定了,只要失焦的时候把窗口滚动位置设置到(0,0)就行了 <input type="text" onblur="window.scrollTo(0, 0 ...

  4. Js 调用 webservice

    <html> <head> <title>通过ajax调用WebServive服务</title> </head> <script t ...

  5. VS2010 查看代码编辑器中的变量

    查看变量的使用情况 1.选中代码中的变量 2.右键 Find Usages

  6. OpenCv基础_三

    轮廓检测 图像金字塔 上采样,图像变大一倍,矩阵用0填充 img = cv2.imread('1,jpg') cv_show('img',img) up = cv2.pyrUp(img) cv_sho ...

  7. 基于Spring Cache实现二级缓存(Caffeine+Redis)

    一.聊聊什么是硬编码使用缓存? 在学习Spring Cache之前,笔者经常会硬编码的方式使用缓存. 我们来举个实际中的例子,为了提升用户信息的查询效率,我们对用户信息使用了缓存,示例代码如下: @A ...

  8. C# 杂七杂八知识点

    本文源自在工作过程中一些比较容易混淆或者理解不太清晰的知识点进行整理备忘. sealed修饰符 当sealed关键字修饰类,该类不能被继承. 当sealed关键字修饰方法的时候,该方法不能在其子类中重 ...

  9. Centos,Xshell和一些简单命令练习

    先连接Xshell: 在虚拟机中查看IP,使用命令  ip addr: 然后在Xshell上,   ssh 用户@虚拟机ip ,当前是   ssh root@192.168.13.235 : 如果想要 ...

  10. Java基础——方法的调用

    Java基础--方法的调用     总结: 1. 在同一个类中-- 对于静态方法,其他的静态和非静态方法都可以直接通过"方法名"或者"类名.方法名"调用它. 对 ...