Java----switch case子句

Java--------------------switch/case

1.定义:
case语句和if语句不太相同,他只能针对某个表达式的值做出判断,从而决定程序究竟执行哪一段代码。

2.格式:
switch(表达式){
case 常量1:
要执行的语句;
break;
case 常量2:
要执行的语句;
break;
case 常量3:
要执行的语句;
break;
default:
要执行的语句;
break;
}

实例:根据数字来判定是周几。
package cn.com.chinasoft.testCase;

public class TestCase {
	public static void main(String[] args) {
		int i = 9;
		switch(i){
			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;
		}
	}
}

特殊情况:(case的穿透性)

case的穿透性就是:若case子句匹配成功后(若不匹配则不能进行穿透),后面没有break,则会向下穿透,一直向下执行,这时候不论case的值是多少都不在匹配,一直执行到程序结束(或遇到break退出程序)。

若case中的情况是一致的,可以简化switch/case,如前面的代码:周一到周五都输出工作日(即输入的int类型为1-5都是工作日)

eg:星期一到五输出工作日,星期六或日输出休息日。

public static void testSwitchTeShu(){
		int week = 7;
		switch (week) {
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
			System.out.println("工作日");
			break;
		case 6:
		case 7:
			System.out.println("休息日");
			break;
		default:
			System.out.println("输入的字符不是一个有效的星期");
			break;
		}
	}

注意
swicth后面的表达式是有限制的:
(1)jdk1.0 - jdk1.4:
接收byte,short,int ,char
(2)jdk1.5:
接收byte,short,int,char,enum
(3)jdk1.7:
接收byte,short,int,char,enum,String
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值