Java语言基础(五):选择结构之 switch 语句

switch语句语法格式:

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

语法格式的解释:
1.switch:表示这是switch选择结构
2.表达式:这个地方的取值是有限定的
(1)byte,short,int,char
(2)JDK5以后可以是枚举
(3)JDK7以后可以是字符串
3.case:后面跟的是要和表达式进行比较的值
4.语句体:要执行的代码
5.break:表示中断,结束的意思,可以控制switch语句的结束。
6.default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。
下面来看一个案例,介绍switch语句的基本用法:
案例:
键盘录入一个数据,根据这个数据,我们输出对应的星期?
键盘录入1,对应输出星期一
键盘录入2,对应输出星期二

键盘录入7,对应输出星期日
分析:
1:键盘录入,用Scanner实现
2:判断我们既可以使用if语句,也可以使用我们要讲解的switch语句

import java.util.Scanner;

public class SwitchDemo {
	public static void main(String[] args) {
		//创建键盘录入对象
		Scanner sc = new Scanner(System.in);		
		//控制键盘录入数据
		System.out.println("请输入一个数据(1-7):");
		int week = sc.nextInt(); //3		
		//switch判断语句
		switch(week) {
			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;
			case 6:
				System.out.println("星期六");
				break;
			case 7:
				System.out.println("星期日");
				break;
			default:
				System.out.println("你输入的数据有误");
				break;
		}
	}
}

我们使用switch语句需要注意的是:
1.case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的;
2.default可以省略吗?可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。特殊情况:case就可以把值固定。
3.break可以省略吗?可以省略,但是结果可能不是我们想要的。会出现一个现象:case穿透。 最终我们建议不要省略
4.default一定要在最后吗?不是,可以在任意位置。但是建议在最后。
5.switch语句的结束条件:
(1)遇到break就结束了
(2)执行到末尾就结束了
如下案例代码:

import java.util.Scanner;

class SwitchDemo2 {
	public static void main(String[] args) {
		//创建键盘录入对象
		Scanner sc = new Scanner(System.in);		
		//控制键盘录入数据
		System.out.println("请输入一个数据(1-7):");
		int week = sc.nextInt(); //3		
		//定义常量
		//int number = 3;
		//然后把case后面的值改为number,就会报错		
		//switch判断语句
		switch(week) {
			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;
			case 6:
				System.out.println("星期六");
				break;
			case 7:
				System.out.println("星期日");
				break;
			default:
				System.out.println("你输入的数据有误");
				//break;
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值