10.2switch语句

根据一个变量的值采取不同的操作是非常常见的。这可以使用如果以以下方式语句

如果(X==1)do_something();elseif(X==2)do_something_else();否则do_something_completely_different();endif

然而,这种代码的编写和维护都可能非常麻烦。为了克服这个问题,Octave支持转换语句使用此语句,上面的示例变成

开关(X)情况1 do_something();情况2 do_something_else();否则do_something_completely_different();末端开关

这段代码使问题的重复结构体更加明确,使代码更易于阅读,从而便于维护。此外,如果变量十、如果要更改其名称,则只有一行需要更改,而当如果使用了语句。

的一般形式转换语句为

转换表示案例标签
    命令列表案例标签
    命令列表否则命令列表末端开关

这里的标签可以是任何表达式。但是,重复标签未检测到值,只有命令列表将执行与第一匹配相对应的操作。对于转换语句要有意义至少一个案例标签 命令列表子句必须存在,而否则命令列表子句是可选的。

如果标签是相应的元胞数组吗命令列表如果任何的元素匹配表示。例如,以下程序将打印'变量为6或7’.

A=7;开关(A)case{6,7}printf(“变量是6或7”);否则printf(“变量既不是6也不是7”);末端开关

与所有其他特定终止关键字,末端开关可能被终止,但如果使用特定的形式,则可以获得更好的diag结果。

使用的一个优点转换语句与使用相比如果语句是标签s可以是字符串。如果如果语句被使用了可以写

if(X==“a string”)#这是无效的

从于之间的字符对字符比较十、并且如果字符串相等,则将进行测试而不是评估。此特殊情况从处理转换语句,并且可以编写这样的程序

switch(X)case“a string”do_something。。。末端开关

版权所有 © 2024 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号