相较于switch-case​语句,许多初学者知道的更多,或者说更熟悉的是编程语言中的​ if-else​条件选择语句。本篇文章将基于 java 语言为您详细介绍switch-case​的详细用法。

1、switch-case 的介绍

​switch-case​ 语句一般是由一个控制表达式​和多个​case​组成的。

switch-case 控制表达式支持的类型有 byte、short、char、int、String(Java 7)。

switch-case 语句完全可以和 if-else 语句进行互转,但通常来说,switch-case 语句的执行效率更高。

在 switch-case 语句中的 default 是在表达式找不到匹配的 case 时执行的。但是 default 并不是必须的。

一旦 case 匹配了,就会顺序执行后面的代码,而不管后面得 case 语句是否匹配,直到碰到第一个 break,则结束。

2、语法格式

switch(表达式){
    case 条件1:
        语句1;
        break;
    case 条件2:
        语句2;
        break;
    case 条件3:
        语句3;
        break;
    ...
    default:
        语句;    
}

3、具体代码使用

String str =  "C" ;
switch  (str) {
case  "A" :
     System.out.println( "A" );
     break ;
case  "B" :
     System.out.println( "B" );
     break ;
case  "C" :
     System.out.println( "C" );
     break ;
default :
     System.out.println( 0 );
}

打印结果:

4、常见应用情况

(1)case 中两个值进行一样的操作


public String method(char variable){
	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("未知等级");
	}
}

(2)case 中没有 break 语句,从当匹配的 case 开始,后续所有的 case 的值陆续输出。

//传值为3
public String method(int variable){
	switch(i){
		case 9:
			System.out.println("9");
		case 3:
			System.out.println("3");
		case 6:
			System.out.println("6");
		default:
			System.out.println("def");
	}
}

打印结果:

3

6

def

(3)如果当前匹配的 case 没有 break 语句,则从当前的 case 开始,后续所有的 case 的值都会陆续输出。直到遇到第一个 break 语句,跳出判断。


//传值为3
public String method(int variable){
	switch(i){
		case 9:
			System.out.println("9");
		case 3:
			System.out.println("3");
		case 6:
			System.out.println("6");
			break;
		default:
			System.out.println("def");
	}

输出结果

3

6

5、总结

相较于​ if-else​语句来说,​switch-case​支持类型比较少,而且​case​是不能作为变量的。但是在项目开发中,如果业务需求比较多,这个是建议使用​switch-case​。一是后者比前者的执行效率要高,二是后者的逻辑比较清晰。

以上就是关于 Java中的switch-case语句的简单介绍以及详细使用方法的全部内容,如果想要了解更多关于 Java 相关的知识内容,请关注W3Cschool,如果对您的学习有所帮助,请多多支持我们!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。