Java基础——switch case用法

本文详细介绍了Java中switch语句的使用方法,包括如何根据不同条件输出不同结果,并展示了不使用break时程序的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jdk1.7之前,switch里面只能接受int和char类型的数据;其中,多个case对应同一代码块,不能这样写——case 1,2,3:——只能是case 1:  case 2: case 3:——一个case后面只能接一个整数。

 

package test;

import java.util.Scanner;

public class SwitchTest {
	
	public static void main(String[] args) {
		System.out.println("请输入0~5之间的整数:");
		Scanner scan = new Scanner(System.in);
		int score = scan.nextInt();
		//系统接收输入的整数:0~5,然后输出相应的等级
		//5-优秀		4-良好		3-及格		2,1,0-不及格		其他-报错
		switch (score) {
		case 5:
			System.out.println("优秀");
			break;
		case 4:
			System.out.println("良好");
			break;
		case 3:
			System.out.println("及格");
			break;
		//注意这里不能这样写编译会报错:一个case后面只能对应一个整数
		//case 2,1,0:
		case 2:
		case 1:
		case 0:
			System.out.println("不及格");
			break;
		default:
			System.out.println("输入有误");
			break;
		}
	}

}


case代码块后面一般接一个break,如果没有break,就会继续执行后面的case语句,如下

 

 

package test;

import java.util.Scanner;

public class SwitchTest {
	
	public static void main(String[] args) {
		System.out.println("请输入0~5之间的整数:");
		Scanner scan = new Scanner(System.in);
		int score = scan.nextInt();
		//系统接收输入的整数:0~5,然后输出相应的等级
		//5-优秀		4-良好		3-及格		2,1,0-不及格		其他-报错
		switch (score) {
		case 5:
			System.out.println("优秀");
		case 4:
			System.out.println("良好");
		case 3:
			System.out.println("及格");
		//注意这里不能这样写编译会报错:一个case后面只能对应一个整数
		//case 2,1,0:
		case 2:
		case 1:
		case 0:
			System.out.println("不及格");
			break;
		default:
			System.out.println("输入有误");
			break;
		}
	}

}
//输出结果:
请输入0~5之间的整数:
5
优秀
良好
及格
不及格

 

 

 

 

 

### Javaswitch case语句返回字符串 在Java中,`switch-case`结构可以用于处理多种情况的选择逻辑,并且能够通过不同的case来决定最终要返回的字符串。自Java 7起支持基于字符串类型的`switch-case`表达式[^2]。 #### 使用return语句从方法内返回字符串 当希望利用`switch-case`实现特定条件下返回不同字符串的功能时,通常是在一个函数内部完成此操作。下面的例子展示了如何定义一个接受整数参数并依据该值返回相应描述文字的方法: ```java public class ReturnStringFromSwitch { public static String getDayOfWeek(int dayIndex) { String result; switch (dayIndex) { case 1: result = "Monday"; break; case 2: result = "Tuesday"; break; case 3: result = "Wednesday"; break; case 4: result = "Thursday"; break; case 5: result = "Friday"; break; case 6: result = "Saturday"; break; case 7: result = "Sunday"; break; default: result = "Invalid Day Index!"; } return result; } public static void main(String[] args) { System.out.println(getDayOfWeek(3)); // 输出 Wednesday } } ``` 另一种更简洁的方式是从每个case标签下直接使用`return`语句立即退出当前方法,这样就不必声明额外的结果变量了: ```java public class DirectReturnInSwitch { public static String describeNumber(int num) { switch (num) { case 0: return "Zero"; case 1: return "One"; case 2: return "Two"; default: return "Unknown Number"; } } public static void main(String[] args) { System.out.println(describeNumber(1)); // 输出 One } } ``` 对于较新的Java版本(如Java 12及以上),还可以采用更加紧凑的形式——箭头表示法(`->`)以及多行lambda风格的大括号体,这使得代码看起来更为清晰[^4]: ```java public class ModernSwitchExpression { public static String formatMonth(int month) { return switch (month) { case 1 -> "January"; case 2 -> "February"; case 3 -> "March"; case 4 -> "April"; case 5 -> "May"; case 6 -> "June"; case 7 -> "July"; case 8 -> "August"; case 9 -> "September"; case 10 -> "October"; case 11 -> "November"; case 12 -> "December"; default -> throw new IllegalArgumentException("Invalid Month"); }; } public static void main(String[] args) { System.out.println(formatMonth(5)); // 输出 May } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值