首页 技术 正文
技术 2022年11月15日
0 收藏 772 点赞 2,734 浏览 1579 个字

语句句式

Calendar c = Calendar.getInstance();
//获得一周的某天
int i = c.get(Calendar.DAY_OF_WEEK);
switch (i) {
case 0:
System.out.println("星期日");
break;
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;
default:
System.out.println("星期六");
break;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

解释

在 switch 语句中,会判断输入的值 (k)是多少,然后再判断该走那天语句,其中 break 是不能缺少的,以为它代表着一个判断的结束,如果没有 break ,经不能结束对应的 case 语句,继续向下走。
defaulr 表示不是上面的任何判断,就走这个语句,当然也需要写 break

switch支持和不支持的类型

支持的类型

  1. int 类型
  2. short 类型
  3. byte 类型
  4. char 类型
  5. enum (枚举)类型 (java5.0 之后支持)
  6. String (java7.0之后支持)

不支持的类型

  1. long 类型
  2. boolean 类型
  3. double 类型
  4. float 类型

这里可以创建各个类型,带入 switch 语句进行验证。

switch 的特殊用法

int year = 2020;
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份");
int month = sc.nextInt();
int day = 31;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 4:
case 6:
case 9:
case 11:
day = 30;
break;
case 2:
//判断这一年的2月有多少天
day = year % 100 != 0 && year % 4 == 0 || year % 400 == 0 ? 29 : 28;;
break;
}
System.out.println(month + "月有" + days + "天");
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

以天数为例,每月的天数有一样的,也有不一样的,通过上述代码的形式,可以减少代码量,简化代码。这里是活用了 break 这个结束循环的语句。

switch 的新功能(java 13之后的新功能)

Scanner sc = new Scanner(System.in);
System.out.println("请输入月份");
int month = sc.nextInt();
int days = switch (month){
case 1,3,5,7,8,10,12 -> 31;
case 4,6,9,11 -> 30;
//判断这一年的2月有多少天
default -> year % 100 != 0 && year % 4 == 0 || year % 400 == 0 ? 29 : 28;
};
System.out.println(month + "月有" + days + "天");
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

运行结果如下
switch分支语句
注意:使用这个新功能,必须写 default ,否则会报错。
java 13 之后的 switch 语句支持表达式形式,可以看到,比起之前的,代码简洁了许多,但是毕竟是新功能,并不常用,了解即可。

原文章:https://blog.csdn.net/FBW_CSDN/article/details/112060095

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,022
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,513
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,359
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,142
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,773
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,851