<< ПредыдущаяОглавлениеСледующая >>


5. УПРАВЛЕНИЕ ВЫПОЛНЕНИЕМ ПРОГРАММЫ

Управление выполнением (flow control) позволяет изменять последовательность выполнения фрагментов программы, выбирая в зависимости от состояния данных ту или иную ветвь кода. Ветвление, циклы и вызовы подпрограмм - это разновидности управления выполнением программы. Все наши программы до сих пор были полностью линейны - операторы выполнялись строго по порядку, один за другим. В более сложных программах часто требуется, чтобы в зависимости от условий выполнялись одни операторы, а другие при этом пропускались. Для управления выполнением программного кода в Java имеется несколько возможностей, основанных на использовании условных операторов.

5.1. Условный оператор if-else

Конструкция if-else позволяет в зависимости от некоторого логического значения выполнять различные части программного кода. В обобщенной форме этот оператор записывается следующим образом:

if (логическое выражение) оператор 1; [else оператор2;]

Раздел else необязателен. На месте любого из операторов может стоять составной оператор, заключенный в фигурные скобки. Логическое выражение это любое выражение, возвращающее значение типа boolean. Это может быть и простая переменная типа boolean.

int bytesAvailable;
//...
if (bytesAvailable > 0) {
ProcessData();          //Обработка данных
bytesAvailable  -=  n;
}
else
waitForMoreData();       //Ждать данные

В качестве логического выражения можно использовать выражение с операторами отношения. Это позволяет выбирать ту или иную ветвь кода в зависимости от результатов сравнения. А вот полная программа, в которой для определения, к какому времени года относится тот или иной месяц, используются операторы if-else.

class IfElse {
public static void main(String args[]) {
int month = 4;
String season;
if (month == 12 || month == 1 || month == 2)
{
season = "Winter";
}
else if (month ==3 || month == 4 || month == 5)
{
season = "Spring";
}
else if (month == 6 || month == 7 || month == 8)
{
season = "Summer";
}
else if (month == 9 || month == 10 || month == 11)
{
season = "Autumn";
}
else
{
season = "Bogus Month";
}
System.out.println( "April is in the " + season + ".");
}
}
После выполнения программы вы должны получить следующий результат:
April is in the Spring.

 



<< ПредыдущаяОглавлениеСледующая >>