Условные операторы

Условные операторы позволяют вам выбрать во время исполнения блок кода, который будет выполнен. Самый простой условный оператор является оператором 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

Операторы if могут включать альтернативный выбор, с помощью дополнительных ключевых слов elseif или else. Например:

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® выполняет код, соответствующий первому истинному условию, и затем выходит из блока кода. Каждый условный оператор требует ключевого слова 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

Смотрите также

| | |

Была ли эта тема полезной?