switch...case

时间:2024-11-16 06:57:29

switch…case

基本结构:

switch(key) {                  

case value :
	
	break;
	
default :
	
	break;
}
  • 实际事例
    int  weekday = 3;
	switch (weekday) {
		case 1:
			System.out.println("星期一");
			break;//中断 终止 
			
		case 2:
			System.out.println("星期二");
			break;

		default:
			System.out.println("其他case都不满足条件,则执行default中的代码");
			break;
	}
  • 那么基本结构的 key 能否是字符串呢??
String nameString = "zhangsan";

		switch (nameString) {
			case "zhangsan":
				System.out.println("key 可以为String");
				break;
String nameString = "zhangsan";
		switch (nameString) {
			case "zhangsan":
				System.out.println("key 可以为String");
				break;
	
			default:
				break;
		}

由上面简单的例子,得知switch…case和if一样,只会执break行一个(),隶属于分支语句

总结:
  1. switch…case真实开发时 用的不多,但是倘若见到的话,要知道是干什么的
  2. break 终止语句,但是咧,break也可以去掉。 具体要不要去掉,依据逻辑。
  3. 所有的switch…case 都可以转化成 if…else,反之,不成立。
  4. key 必须 int或String(JDK1.7 or later)或enum(枚举)
  5. 有些人偏爱switch…case,是因为在写法比if工整
  6. switch…case语句的核心其实就是判断等与不等,但是 if 比它更强大一点。

问题总结:

  1. java中的switch选择结构可以使用数据类型的数据:
    ⑴ int
    ⑵ char
    ⑶ byte
    ⑷ short
    ⑸ 枚举
    ⑹ String : ps:对JDK版本有要求,必须为1.7及以上版本

  2. 对于语句中 break 的存在与否的运行方式
    ⑴ 没有break 的

		int  weekday = 2;
		switch (weekday) {
			case 1:
				System.out.println("星期一");
				
			case 2:
				System.out.println("星期二");
				//    匹配之后,如果没有遇到break,则继续执行
			case 3:
				System.out.println("星期三");
			//	break;    // break 以下都不执行 
			case 4:
				System.out.println("星期四");
				
			default:
				System.out.println("其他case都不满足条件,则执行default中的代码");
				
		}

在这里插入图片描述
⑵ 没有break 的

		int  weekday = 2;
		switch (weekday) {
			case 1:
				System.out.println("星期一");
				
			case 2:
				System.out.println("星期二");
				//    匹配之后,如果没有遇到break,则继续执行
			case 3:
				System.out.println("星期三");
    			break;    // break 以下都不执行 
			case 4:
				System.out.println("星期四");
				
			default:
				System.out.println("其他case都不满足条件,则执行default中的代码");
				
		}

在这里插入图片描述