欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java学习之旅(六):条件语句之 switch 多分支语句

程序员文章站 2022-07-15 16:57:59
...

在编程中一个常见的问题就是检测一个变量是否符合某个条件,如果不符合,再用另一个值来检测,依此类推。当然,这种情况下也可以使用 if 语句来完成。

if (grade == 'A') {
	System.out.println("优秀")
}
if (grade == 'B') {
	System.out.println("良好")
}

显然,这个程序看起来比较笨重,程序员需要测试不同的值来给出输出语句。在Java中,可以用switch语句来将动作组织起来,以一个比较简单明了的方式来实现“多选一”的选择。语法如下:

switch(表达式) 
{
case 常量值1:
	语句块1;
	break;
case 常量值2:
	语句块2;
	break;
...
case 常量值n:
	语句块n;
	break;
default:
	语句块n + 1;
	break;
}
		

switch语句中表达式的值必须是整型、字符型或字符串类型,常量值1~n也必须是整型、字符型或字符串类型。switch语句首先计算表达式的值,如果表达式的值和某个case后面的常量值相同,则执行该case语句后面的若干个语句直到遇到break语句为止。此时如果该case语句中没有break语句,将继续执行后面case中的若干个语句,直到遇到break为止。若没有一个常量的值与表达式的值相同,则执行default后面的语句。default语句是可选的,如果它不存在,且switch语句中的表达式的值不与任何case的常量值相同,switch则不做任何处理。

同一个switch语句,case的常量值必须互不相同。

switch语句的执行过程如下所示:

Java学习之旅(六):条件语句之 switch 多分支语句
switch语句的执行过程

 


public class test {
	
	public static void main(String[] args) {
		
		int day = 7;
		switch(day) {
		case 1:
			System.out.println("Monday");
			break;
		case 2:
			System.out.println("Tuesday");
			break;
		case 3:
			System.out.println("Wednesday");
			break;
		case 4:
			System.out.println("Thursday");
			break;
		case 5:
			System.out.println("Friday");
			break;
		case 6:
			System.out.println("Saturday");
			break;
		case 7:
			System.out.println("Sunday");
			break;
		default:
			System.out.println("NULL");
		}
		
	}
}

Java学习之旅(六):条件语句之 switch 多分支语句

在switch语句中,case语句后常量表达式的值可以为整数,但绝不可以是实数。即case 1.1是非法的。

相关标签: Java