1.格式

switch(表达式){
case 常量1:
执行语句1;
//break;
case 常量2:
执行语句2;
//break;

default:
执行语句n;
//break;
}

说明:
① 根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。
当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构
末尾结束为止。
② break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构
③ switch结构中的表达式,只能是如下的6种数据类型之一:
byte 、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
④ case 之后只能声明常量。不能声明范围。
⑤ break关键字是可选的。
⑥ default:相当于if-else结构中的else.
default结构是可选的,而且位置是灵活的。

2.应用举例

class SwitchCaseTest {public static void main(String[] args) {int number = 5;switch(number){case 0:System.out.println("zero");break;case 1:System.out.println("one");break;case 2:System.out.println("two");break;case 3:System.out.println("three");break;default:System.out.println("other");//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;}//**************如下的两种情况都编译不通过*********************//情况一/*boolean isHandsome = true;switch(isHandsome){case true:System.out.println("我好帅啊~~~");break;case false:System.out.println("我好丑啊~~~");break;default:System.out.println("输入有误~~~");}*///情况二/*int age = 10;switch(age){case age > 18:System.out.println("成年了");break;default:System.out.println("未成年");}*/}
}

3.练习

1.使用 switch 把小写类型的 char型转为大写。只转换 a, b, c, d, e. 其它的输
出 “other”。

import java.util.Scanner;class Test {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String word = scan.next();char c = word.charAt(0);switch(c){case 'a':System.out.println("A");break;case 'b':System.out.println("B");break;case 'c':System.out.println("C");break;case 'd':System.out.println("d");break;default :System.out.println("Other");}}
}

2.对学生成绩大于60分的,输出“合格”。低于60分的,输出“不合格”。

class SwitchCaseTest1 {public static void main(String[] args) {/*int score = 78;switch(score){case 0:case 1:case 2:...case 100:}*//*int score = 78;if(score >= 60){}else{}*/int score = 78;switch(score / 10){case 0:case 1:case 2:case 3:case 4:case 5:System.out.println("不及格");break;case 6:case 7:case 8:case 9:case 10:System.out.println("及格");break;}//更优的解决方案:switch(score / 60){case 0:System.out.println("不及格");break;case 1:System.out.println("及格");break;}}
}

3.从键盘分别输入年、月、日,判断这一天是当年的第几天
注:判断一年是否是闰年的标准:
1)可以被4整除,但不可被100整除

2)可以被400整除

说明:

  1. 凡是可以使用switch-case的结构,都可以转换为if-else。反之,不成立。
  2. 我们写分支结构时,当发现既可以使用switch-case,(同时,switch中表达式的取值情况不太多),
    又可以使用if-else时,我们优先选择使用switch-case。原因:switch-case执行效率稍高。
import java.util.Scanner;
class SwitchCaseExer {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("请输入year:");int year = scan.nextInt();System.out.println("请输入month:");int month = scan.nextInt();System.out.println("请输入day:");int day = scan.nextInt();//定义一个变量来保存总天数int sumDays = 0;switch(month){case 12:sumDays += 30;case 11:sumDays += 31;case 10:sumDays += 30;case 9:sumDays += 31;case 8:sumDays += 31;case 7:sumDays += 30;case 6:sumDays += 31;case 5:sumDays += 30;case 4:sumDays += 31;case 3://sumDays += 28;//判断year是否是闰年if((year % 4 == 0 && year % 100 != 0 ) || year % 400 == 0){sumDays += 29;}else{sumDays += 28;}case 2:sumDays += 31;case 1:sumDays += day;}System.out.println(year + "年" + month + "月" + day + "日是当年的第" + sumDays + "天");}
}

Java自学习day4.2-分支语句2:witch-case结构相关推荐

  1. Java中的switch分支语句

    一.switch简介和语法 switch语句用于多分支选择,由一个控制表达式和多个case标签组成.switch语句后面的控制表达式的数据类型只能是byte.short.char.int.String ...

  2. JAVA入门学习(分支语句)

    目录 前言 一.if分支语句 二.switch分支语句 前言 Java中在某些情况下,需要当某一条件满足时才执行相应代码,条件不满足则执行其他代码,这时就要采用分支语句来进行判断. 分支语句主要是用i ...

  3. Java系列教程day05——分支语句

    day05--分支语句 提纲: 1.程序的流程结构 2.选择结构 3.if语句 4.switch-case语句 5.作业 一.程序的流程结构 程序的流程结构 程序的流程结构: A:顺序结构:默认的,从 ...

  4. java中switch多分支语句_java switch确多分支选择语句的用法

    switch语句是多分支选择语句.常用来根据表达式的值选择要执行的语句 switch (expression) { case value_1 : statement (s); break; case ...

  5. 语句:分支语句、switch case ——7月22日

    语句的类型包括:声明语句.表达式语句.选择语句.循环语句.跳转语句.异常语句 1.声明语句引:入新的变量或常量. 变量声明可以选择为变量赋值. 在常量声明中必须赋值. 例如: int i = 0;// ...

  6. 重学JavaSE 第4章 : 顺序结构、分支语句、循环结构、break, continue, return区别

    文章目录 一. 程序流程控概述 二. 顺序结构 三.分支语句 2.1.分支语句1:if-else结构 2.1.1.输入语句 2.2. 分支语句2:switch-case结构 四.循环结构 4.1.fo ...

  7. 【C语言知识梳理之分支语句】

    C语言的三种基本结构 C语言是结构化的程序设计语言:分为三种基本结构 顺序结构,选择结构,循环结构. 顺序结构 顺序结构就是从开到到结尾,依次往下. 选择结构 分支语句 if switch 循环结构 ...

  8. python分支语句

    分支语句 能够使用if结构完成单一分支语句的书写 能够使用if-else-结构完成对立分支语句的书写 能够使用if-elif-else-结构完成多情况分支语句的书写 能够完成减肥计划的案例 比较运算符 ...

  9. 流程控制——分支语句

    if分支语句 if 概述:在某些情况下,需要当某一条件满足时才执行相应代码,条件不满足则执行其他代码. if 四种形式:单分支.双分支.多分支.嵌套if 单分支 if (布尔表达式) { //布尔表达 ...

最新文章

  1. js获取asp.net服务器端控件Label,TextBox,RadioButtonList,DropDownList的值
  2. tcp/ip 协议栈Linux源码分析四 IPv4分片 ip_fragment函数分析
  3. jbl css-h15,JBL CSS8006BM 天花音箱
  4. 【JavaScript】检测数据类型函数
  5. mac/unix系统:C++实现一个端口扫描器
  6. [实战]Router configuration for TP ROOM
  7. 硬核数据研究:年轻人为什么这么喜欢“哈哈哈哈”?
  8. ajax 将整个表单提交到后台处理
  9. Oracle P6培训系列:16为作业分配资源的预算数量
  10. 怎样设置有道词典屏幕取词后自动翻译?
  11. Excel可视化:1个思路学会7种变形柱形图
  12. c语言的条件运算符,条件运算符c语言
  13. win10卸载软件_win10系统频繁闪屏刷新解决方法
  14. 抖音一个老人和一个机器人歌曲_抖音一禅小和尚背景音乐汇总 全网最火bgm都在这...
  15. Redis 集群规范(中文稿)(MOVED错误码及ASK错误码
  16. 北航2021届计组 - 支持中断的CPU
  17. OPPO Find7 system分区教程
  18. 【财富空间】中兴陷入危局之际,半导体巨人三星却赚翻了!核心技术才是王道...
  19. Linux安装expect
  20. C语言snmp编程视频,使用net-snmp API编程_C语言教程_C++教程_C语言培训_C++教程培训_C/C++频道_中国IT实验室...

热门文章

  1. js 绝对等于 的各种情况 需要进行绝对等于比较的方法
  2. update导致死锁
  3. props传递对象_props传递数据
  4. 精美UI强大娱乐功能组合微信小程序源码下载,安装简单
  5. QT,SSH开发——QSSH库编译成功率最高的方法
  6. 哀悼日结束了,心情还是很沉重的!
  7. 基于java汽车售后服务管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  8. c++中用opengl的gl函数在三维空间中绘制圆形和画球体
  9. spring boot:从零开始搭建一个项目 - day 4 控制台输出日志美化 + swagger2
  10. linux centos进行系统盘扩容