条件语句
条件语句可用于在运行时选择要执行的代码块。最简单的条件语句为 if
语句。例如:
% Generate a random number a = randi(100, 1); % If it is even, divide by 2 if rem(a, 2) == 0 disp('a is even') b = a/2; end
通过使用可选关键字 elseif
或 else
,if
语句可以包含备用选项。例如:
a = randi(100, 1); if a < 30 disp('small') elseif a < 80 disp('medium') else disp('large') end
再者,当您希望针对一组已知值测试相等性时,请使用 switch
语句。例如:
[dayNum, dayString] = weekday(date, 'long', 'en_US'); switch dayString case 'Monday' disp('Start of the work week') case 'Tuesday' disp('Day 2') case 'Wednesday' disp('Day 3') case 'Thursday' disp('Day 4') case 'Friday' disp('Last day of the work week') otherwise disp('Weekend!') end
对于 if
和 switch
,MATLAB® 执行与第一个 true 条件相对应的代码,然后退出该代码块。每个条件语句都需要 end
关键字。
一般而言,如果您具有多个可能的离散已知值,读取 switch
语句比读取 if
语句更容易。但是,无法测试 switch
和 case
值之间的不相等性。例如,无法使用 switch
实现以下类型的条件:
yourNumber = input('Enter a number: '); if yourNumber < 0 disp('Negative') elseif yourNumber > 0 disp('Positive') else disp('Zero') end