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

分支语句——switch-case

1.switch格式

在这里插入图片描述

switch(表达式)
{case 常量1:执行语句1;//break;(根据情况决定是否要)case 常量2:执行语句2//break;...default:执行语句n;//break;
}

2.switch语句说明

1.根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。当调用完执行语句后,则任然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾结束为止。

2.break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构

3.switch结构中的表达式,只能是如下6种数据类型之一:
byte、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)

4.case之后只能声明常量。不能声明范围。

5.break关键字是可选的。

6.default:相当于if-else结构中的else.
defaul结构是可选的,而且位置是灵活的

7.如果switch-case结构中的多个case的执行语句相同,则可以考虑进行合并

8…凡是可以使用switch-case的结构,都可以转换为if-else。反之,不成立。

9.写分支结构时,发现既可以使用switch-case(同时switch中表达式的取值情况不太多),又可以使用if-else时,优先选择使用switch-case。原因:switch-case执行效率稍高。

3.练习

1.使用 switch 把小写类型的 char型转为大写。只转换 a, b, c, d, e. 其它的输
出 “other”。
提示:String word = scan.next(); char c = word.charAt(0); switch©{}

import java.util.Scanner;class SwitchCaseTest1
{public static void main(String[] args){//练习1Scanner scanner = new Scanner(System.in);System.out.println("请输入一个字符");String word  = scanner.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;case 'e':System.out.println("E");break;default:System.out.println("other");}}
}

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

说明:如果switch-case结构中的多个case的执行语句相同,则可以考虑进行合并

class SwitchCaseTest2
{public static void main(String[] args){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.根据用于指定月份,打印该月份所属的季节。
3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季

class SwitchCaseTest3
{public static void main(String[] args){int month = 12;switch(month){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;case 12:case 1:case 2:System.out.println("冬季");break;}}
}

4.编写程序:从键盘上输入2019年的“month”和“day”,要求通过程序
输出输入的日期为2019年的第几天。

class SwitchCaseTest4
{public static void main(String[] args){Scanner scan = new Scanner(System.in);System.out.println("请输入2019年的月份");int month = scan.nextInt();System.out.println("请输入2019年的天");int day = scan.nextInt();int sumDays = 0;switch(month){case 12:sumDays += 31;case 11:sumDays += 30;case 10:sumDays += 31;case 9:sumDays += 30;case 8:sumDays += 31;case 7:sumDays += 31;case 6:sumDays += 30;case 5:sumDays += 31;case 4:sumDays += 30;case 3:sumDays += 31;case 2:sumDays += 29;case 1:sumDays += day;}System.out.println("天数是:" + sumDays);}
}

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

import java.util.Scanner;class SwitchCaseExer
{public static void main(String[] args){Scanner scan = new Scanner(System.in);System.out.println("请输入年");int year = scan.nextInt();System.out.println("请输入月份");int month = scan.nextInt();System.out.println("请输入天");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://判断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("天数是:" + sumDays);}
http://www.lryc.cn/news/2417426.html

相关文章:

  • 毕业论文中的图表目录
  • 单片机定时器中断(之中断概念)
  • 使用nlite制作集成驱动windows安装光盘及实践心得
  • 关于sqlserver中SqlParameter的用法注意事项
  • ccbp 知识点
  • 服务器出现大量 TIME_WAIT,如何解决
  • JavaSE:实现象棋游戏
  • 古典密码(部分合集)
  • VC6.0常见错误之::Debug Assertion Failed!
  • C#使用FileSystemWatcher来监控指定文件夹,并使用TCP/IP协议通过Socket发送到另外指定文件夹
  • 虚拟机Linux IP地址更改
  • 13 | 如何为团队设定合理的目标呢?
  • input标签 各属性解释
  • 热插拔机制之udev和mdev
  • MFC教程(Visual C++ 6.0)|合集 |更新中
  • bluetooth 外围设备 驱动有问题 解决办法
  • java中Date/Time/Timestamp对应sql
  • 数据库之 MongoDB and SQLite
  • img文件制作linux启动u盘,制作Linux的U盘启动盘
  • Python后端---使用Django+Mysql搭建一个简单的网站
  • 1.4种权限控制
  • Oracle INSERT INTO的几种用法
  • 效率工具:分享7款实用的任务管理软件,值得收藏!
  • d3dx9_25.dll文件丢失的解决方法
  • 【系统分析与设计】UML协作图绘制方法(真の能看懂~!)
  • Linux export 命令用法
  • 【数理逻辑】范式 ( 合取范式 | 析取范式 | 大项 | 小项 | 极大项 | 极小项 | 主合取范式 | 主析取范式 | 等值演算方法求主析/合取范式 | 真值表法求主析/合取范式 )
  • ant man什么意思_ant是什么意思_ant的翻译_音标_读音_用法_例句_爱词霸在线词典...
  • WinRunner使用经验介绍
  • 机器学习分类算法之XGBoost(集成学习算法)