AnyLogic
Развернуть
Размер шрифта

if-then-else

Оператор if-then-else является основным оператором управления выполнением программы, который выполняет один фрагмент кода, если заданное условие выполняется, и другой фрагмент — если нет.

У оператора есть две формы, краткая:

if( <условие> )
  <команда, выполняемая если условие выполнено (равно true)>

и полная:

if( <условие> )
  <команда, выполняемая если условие выполнено (равно true)>
else
  <команда, выполняемая, если условие не выполнено (равно false)>

Например, следующий фрагмент кода присваивает клиента менеджеру продаж, только если последний занимается в данный момент времени делами менее, чем 10 клиентов:

if ( salesman.clients.size() < 10 )
  salesman.assign( client );

А этот код проверяет, есть ли задачи в определенной очереди, и если да, то присваивает первую задачу грузовику, иначе же отсылает грузовик в парк:

if( tasks.isEmpty() )
  truck.setDestination( truck.parking );
else
  truck.assignTask( tasks.removeFirst() );

Если раздел кода then или else содержит более одной команды, то такой раздел должен быть заключен в фигурные скобки { … }, тогда он будет интерпретироваться как блок и рассматриваться как одна команда, см. код ниже. Мы однако же рекомендуем всегда заключать команды разделов then и else в фигурные скобки, чтобы избежать неоднозначно выглядящего кода. Скобки особенно важны тогда, когда есть несколько вложенных операторов if, или когда строки кода по соседству с оператором if добавляются или удаляются во время редактирования или отладки.

if( friends == null ) {
  friends = new ArrayList< Person >();
  friends.add( john );
} else {
  if( !friends.contains( john ) )
    friends.add( john );
}
Как мы можем улучшить эту статью?