×
Traktatov.net » Философия Java » Читать онлайн
Страница 62 из 395 Настройки

if(логическое выражение) команда

и

if(логическое выражение) команда

else

команда

Условие должно дать результат типа boolean. В секции команда располагается либо простая команда, завершенная точкой с запятой, либо составная конструкция из команд, заключенная в фигурные скобки.

В качестве примера применения if-else представлен метод test(), который выдает информацию об отношениях между двумя числами — «больше», «меньше» или «равно»:

//. control/IfElse.java

import static net.mindview.util.Print.*;

public class IfElse {

static int result = 0; static void test(int testval. int target) { if(testval > target) result = +1; else if(testval < target) result = -1:

else

result = 0; // равные числа

}

public static void main(String[] args) { test(10. 5); print(result); test(5. 10); print(result); test(5. 5); print(result);

}

} /* Output:

1

-1

0

Внутри метода test() встречается конструкция else if; это не новое ключевое слово, a else, за которым следует начало другой команды — if.

Java, как и С с С++, относится к языкам со свободным форматом. Тем не менее в командах управления рекомендуется делать отступы, благодаря чему читателю программы будет легче понять, где начинается и заканчивается управляющая конструкция.

Управляющие конструкции

Циклы

Конструкции while, do-while и for управляют циклами и иногда называются циклическими командами. Команда повторяется до тех пор, пока управляющее логическое выражение не станет ложным. Форма цикла while следующая:

\л/ИПе(логическое выражение) команда

логическое выражение вычисляется перед началом цикла, а затем каждый раз перед выполнением очередного повторения оператора.

Следующий простой пример генерирует случайные числа до тех пор, пока не будет выполнено определенное условие:

//: control/WhileTest java // Пример использования цикла while

public class WhileTest {

static boolean conditionO {

boolean result = Math.randomO < 0.99; System.out.print(result + "); return result;

}

public static void main(String[] args) { while(conditionO)

System out printlnC"Inside 'while"'), System.out.println("Exited 'while'");

}

} /* (Выполните, чтобы просмотреть результат) *///•-

В примере используется статический метод random() из библиотеки Math, который генерирует значение double, находящееся между 0 и 1 (включая 0, но не 1). Условие while означает: «повторять, пока condition() возвращает true». При каждом запуске программы будет выводиться различное количество чисел.

do-while

Форма конструкции do-while такова:

do

команда

и/1гЛе(логическое выражение);

Единственное отличие цикла do-while от while состоит в том, что цикл do-while выполняется по крайней мере единожды, даже если условие изначально ложно. В цикле while, если условие изначально ложно, тело цикла никогда не отрабатывает. На практике конструкция do-while употребляется реже, чем while.

for

Пожалуй, конструкции for составляют наиболее распространенную разновидность циклов. Цикл for проводит инициализацию перед первым шагом цикла. Затем выполняется проверка условия цикла, и в конце каждой итерации осуществляется некое «приращение» (обычно изменение управляющей переменной). Цикл for записывается следующим образом: