switch分支

public class SwitchDemo
{
	public void showDays(int iMonth)
	{
		int iDays=0;
		switch(iMonth)
		{
			case 2: iDays=28;break;
			case 4: iDays=30;break;
			case 6: iDays=30;break;
			case 9: iDays=30;break;
			case 11:iDays=30;break;
			default:iDays=31;
		}
			System.out.println(iMonth+"yue you"+iDays+"tian");
			
	}
	public static void main(String args[])
	{
			SwitchDemo obj=new SwitchDemo();
			obj.showDays(3);
	}
}

<think>我们讨论的是JavaScript中的switch语句。switch语句用于根据不同的条件执行不同的代码块。 基本语法: switch(expression) { case value1: // 当expression等于value1时执行 break; case value2: // 当expression等于value2时执行 break; ... default: // 如果都不匹配,执行default块 } 注意:break语句用于跳出switch,防止继续执行下一个case(称为“穿透”)。如果不写break,会继续执行下一个case的代码,直到遇到break或switch结束。 示例:根据星期几输出不同的信息 let day = 3; switch (day) { case 1: console.log("星期一"); break; case 2: console.log("星期二"); break; case 3: console.log("星期三"); break; case 4: console.log("星期四"); break; case 5: console.log("星期五"); break; case 6: console.log("星期六"); break; case 7: console.log("星期日"); break; default: console.log("无效的数字"); } 另外,多个case可以共用一组执行语句,即利用“穿透”特性: let fruit = '苹果'; switch (fruit) { case '苹果': case '香蕉': case '梨': console.log('水果'); break; case '胡萝卜': console.log('蔬菜'); break; default: console.log('未知'); } 注意:switch中的比较是严格相等(===)比较。 因此,当需要基于同一个变量进行多个条件判断时,使用switch可以使代码更清晰、更易于维护。</think>在编程中,`switch` 语句是一种多分支选择结构,用于根据表达式的不同值执行不同的代码块。其基本语法如下: ```javascript switch(expression) { case value1: // 当expression等于value1时执行 break; case value2: // 当expression等于value2时执行 break; default: // 当不匹配任何case时执行 } ``` ### 关键特性: 1. **表达式匹配**:`expression` 的值与 `case` 值进行严格相等比较(`===`) 2. **穿透现象**:若省略 `break`,会继续执行后续 `case` 的代码(通常需要避免) 3. **默认分支**:`default` 分支处理未匹配的情况(可省略) 4. **多值匹配**:多个 `case` 可指向同一代码块(利用穿透特性) ### 示例:工作日判断 ```javascript const day = 3; switch(day) { case 1: case 2: case 3: case 4: case 5: console.log("工作日"); break; case 6: case 7: console.log("周末"); break; default: console.log("无效日期"); } // 输出:工作日 ``` ### 与 if-else 对比: | 特性 | switch | if-else | |--------------|----------------------------|-----------------------| | 适用场景 | 离散值匹配 | 范围判断/复杂条件 | | 可读性 | 多分支时更清晰 | 分支多时较混乱 | | 比较方式 | 严格相等(===) | 任意条件表达式 | | 穿透控制 | 需手动 break | 自动结束分支 | ### 注意事项: 1. 始终添加 `default` 分支处理意外情况 2. 避免穿透导致的逻辑错误(除非故意设计) 3. 字符串匹配区分大小写 4. 表达式可以是变量、函数调用或运算结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值