主要内容

开关,案例,否则

执行几组语句中的一组

语法

开关switch_expression案例case_expression语句案例case_expression语句…否则语句结束

描述

例子

开关switch_expression、案例case_expression,完计算表达式并选择执行多组语句中的一组。每个选项都是一个案例。

这个开关块测试每个案例,直到其中一个案例表达式为真。案例在以下情况下为真:

  • 对于数字,case_expression==switch_expression.

  • 对特征向量,strcmp(case_expression,switch_expression) == 1.

  • 对于支持万博1manbetx情商功能,case_expression==switch_expression.重载的输出情商函数必须是逻辑值或可转换为逻辑值。

  • 对于单元数组case_expression,单元格数组中至少有一个元素匹配switch_expression,如上文对数字、字符向量和对象的定义。

当案例表达式为真时,MATLAB®执行相应的语句并退出开关

评价switch_expression必须是标量或字符向量。已计算的case_expression必须是标量、字符向量或标量或字符向量的单元格数组。

这个否则块是可选的。MATLAB仅在没有任何情况为真时才执行语句。

例子

全部崩溃

根据在命令提示下输入的值,有条件地显示不同的文本。

n=输入('输入一个数字:');开关N案例1 disp (“负一”)案例0 disp (“零”)案例1显示(“积极的一面”)否则disp(“其他值”)结束

在命令提示下,输入数字1。

正数

重复代码并输入数字3。

其他价值

根据的值确定要创建的打印类型打印类型.如果打印类型要么“馅饼”“pie3”,创建三维饼图。使用单元格数组包含这两个值。

X = [12 64 24];plottype =“pie3”;开关打印类型案例“酒吧”酒吧(x)标题(“条形图”)案例{“馅饼”,“pie3”}pie3(x)标题(“饼图”)否则警告('意外的打印类型。未创建打印。')结束

提示

  • A.case_expression不能包含关系运算符,例如<>以便与switch_expression.要测试不平等性,请使用如果,elseif,else声明。

  • MATLAB开关语句不像C语言那样失败开关声明。如果第一个案例声明是真正的, MATLAB不执行其他案例声明。例如:

    结果= 52个;开关(结果)案例52显示(“结果是52”)案例{78} disp (“结果是52或78”)结束
    结果是52
  • 定义特定情况下代码所需的所有变量开关语句中定义的变量不适用于其他情况。例如,如果当前工作区不包含变量x,仅定义x您可以使用它:

    开关选择案例1 x=-pi:0.01:pi;案例2.%对x一无所知结束
  • MATLAB打破语句结束对对于虽然循环,但不结束执行开关语句。此行为与的行为不同打破开关在C。

扩展能力

之前介绍过的R2006a