Java switch case 语句

switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

语法

switch case 语句语法格式如下:

switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}

Java switch case 语句

switch case 语句有如下规则:

  • switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。

  • switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。

  • case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。

  • 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。

  • 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。

  • switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。

switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。

实例

Test.java 文件代码:

public class Test {
public static void main(String args[]){
//char grade = args[0].charAt(0);
char grade = C;

switch(grade)
{
case A :
System.out.println(优秀);
break;
case B :
case C :
System.out.println(良好);
break;
case D :
System.out.println(及格);
break;
case F :
System.out.println(你需要再努力努力);
break;
default :
System.out.println(未知等级);
}
System.out.println(你的等级是 + grade);
}
}

以上代码编译运行结果如下:

良好
你的等级是 C

如果 case 语句块中没有 break 语句时,JVM 并不会顺序输出每一个 case 对应的返回值,而是继续匹配,匹配不成功则返回默认 case。

Test.java 文件代码:

public class Test {
public static void main(String args[]){
int i = 5;
switch(i){
case 0:
System.out.println(0);
case 1:
System.out.println(1);
case 2:
System.out.println(2);
default:
System.out.println(default);
}
}
}

以上代码编译运行结果如下:

default

如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。

Test.java 文件代码:

public class Test {
public static void main(String args[]){
int i = 1;
switch(i){
case 0:
System.out.println(0);
case 1:
System.out.println(1);
case 2:
System.out.println(2);
default:
System.out.println(default);
}
}
}

以上代码编译运行结果如下:

1
2
default

如果当前匹配成功的 case 语句块没有 break 语句,则从当前 case 开始,后续所有 case 的值都会输出,如果后续的 case 语句块有 break 语句则会跳出判断。

Test.java 文件代码:

public class Test {
public static void main(String args[]){
int i = 1;
switch(i){
case 0:
System.out.println(0);
case 1:
System.out.println(1);
case 2:
System.out.println(2);
case 3:
System.out.println(3); break;
default:
System.out.println(default);
}
}
}

以上代码编译运行结果如下:

1
2
3

若文章对你有帮助,可以点赞或打赏支持我们。发布者:lyh会员,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/java-switch-case-%e8%af%ad%e5%8f%a5/

(0)
lyhlyh会员认证作者
上一篇 2023年 3月 4日 下午9:18
下一篇 2023年 3月 4日 下午9:20

相关推荐

  • Git 工作区、暂存区和版本库

    基本概念 我们先来理解下 Git 工作区、暂存区和版本库概念: 工作区:就是你在电脑里能看到的目录。 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 i…

    2024年 4月 30日
  • uupick

    文章目录uupick补充说明语法选项例子 uupick 命令处理传送进来的文件 补充说明 uupick命令 处理传送进来的文件。 当其他主机通过UUCP将文件传送进来时,可利用uu…

    入门教程 2024年 3月 11日
  • popd

    文章目录popd概要主要用途选项参数返回值例子注意参考链接 popd 从目录堆栈中删除目录。 概要 popd [-n] [+N | -N] 主要用途 从目录堆栈中删除目录,如果是顶…

    入门教程 2024年 3月 1日
  • vgdisplay

    文章目录vgdisplay补充说明语法选项参数实例 vgdisplay 显示LVM卷组的信息 补充说明 vgdisplay命令 用于显示LVM卷组的信息。如果不指定"卷组…

    入门教程 2024年 3月 11日
  • ab

    文章目录ab安装补充说明语法选项参数实例 ab Apache服务器的性能测试工具 安装 若系统未安装,使用以下命令安装 # Ubuntu sudo apt-get install …

    入门教程 2023年 12月 6日
  • Pandas安装

    安装 pandas 需要基础环境是 Python,开始前我们假定你已经安装了 Python 和 Pip。 使用 pip 安装 pandas: pip install pandas …

    2023年 5月 16日
  • setfacl

    文章目录setfacl补充说明选项 setfacl 设置文件访问控制列表 补充说明 setfacl命令 是用来在命令行里设置ACL(访问控制列表)。在命令行里,一系列的命令跟随以一…

    入门教程 2024年 3月 4日
  • pwck

    文章目录pwck补充说明语法选项参数实例 pwck 用来验证系统认证文件内容和格式的完整性 补充说明 pwck命令 用来验证系统认证文件/etc/passwd和/etc/shado…

    入门教程 2024年 3月 1日
  • tracepath

    文章目录tracepath补充说明语法参数实例 tracepath 追踪目的主机经过的路由信息 补充说明 tracepath命令 用来追踪并显示报文到达目的主机所经过的路由信息。 …

    入门教程 2024年 3月 11日
  • gunzip

    文章目录gunzip补充说明语法选项参数实例 gunzip 用来解压缩文件 补充说明 gunzip命令 用来解压缩文件。gunzip是个使用广泛的解压缩程序,它用于解开被gzip压…

    入门教程 2023年 12月 14日
Translate »