switch块有条件地执行来自多个选择的一组语句。每个选择由case语句指定。
评估的switch_expression是一个标量或字符串。
评估的case_expression是标量,标量或字符串的字符串或单元格数组。
switch块测试每种情况,直到其中一种情况为真(true)。以下情况是真的 -
- 对于数字,
eq(case_expression,switch_expression)。 - 对于字符串,
strcmp(case_expression,switch_expression)。 - 对于对象,支持
eq(case_expression,switch_expression)。 - 对于单元格数组
case_expression至少有一个。
当情况(case)为真时,MATLAB会执行相应的语句,然后退出switch块。
otherwise块是可选的,并且仅在没有case为真时执行。
语法
MATLAB中switch语句的语法是 -
switch <switch_expression>
case <case_expression>
<statements>
case <case_expression>
<statements>
...
...
otherwise
<statements>
end
例子
创建脚本文件并在其中键入以下代码 -
grade = 'B';
switch(grade)
case 'A'
fprintf('Excellent!\n' );
case 'B'
fprintf('Well done\n' );
case 'C'
fprintf('Well done\n' );
case 'D'
fprintf('You passed\n' );
case 'F'
fprintf('Better try again\n' );
otherwise
fprintf('Invalid grade\n' );
end
执行上面示例代码,得到以下结果 -
Well done
