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 );

}