Главная » Java, Web » Управление ходом выполнения программы Java

0

В этом разделе мы рассмотрим структуры, которые используются для управления ходом выполнения программы.

Для того чтобы иметь возможность выполнять сложные задачи с помощью языка программирования, используются структуры, управляющие ходом выполнения программы. Существует шесть типов таких структур:

?      блок;

?      цикл while;

?      ЦИКЛ do..While;

?      цикл for;

?      инструкция if;

?      инструкция switch.

Блок — простейшая конструкция. Это набор нескольких инструкций, помещенных в фигурные скобки. Блок используется для того, чтобы объединить несколько инструкций в одно целое, которое само по себе является одной самостоятельной инструкцией. Из нескольких инструкций мы получаем всего одну. Таким образом:

инструкции

Блок может быть пустым, т. е. не содержать в себе ни одной инструкции. Мы уже встречались с функцией main(). Как и все прочие функции, эта функция является не чем иным, как блоком. Функция — это блок, все инструкции функции помещены между фигурных скобок, между { и }. Функция — не простой блок. Функция имеет имя, которому присваивается результат, получающийся при выполнении инструкций блока. Функция также имеет тип. Иными словами, функция — это блок с присвоенным именем, типом и, может быть, другими модификаторами. Переменная, определенная в блоке, доступна в пределах этого блока. Более точно, идентификатор (имя), описанный в блоке, доступен в пределах этого блока, начиная с того места, где расположено описание идентификатора (имени).

Приведем два примера блоков:

Примеры

System.out.print("The answer is "); System.out.println(ans);

{ // обмен значениями между x и у int temp; temp = x; x = y; у = temp;

Блок как таковой не влияет на ход выполнения программы, но блоки удобно использовать в других структурах. Пять оставшихся типов структур могут оказывать влияние на последовательность выполнения программы.

Циклы — это такие структуры, выполнение которых осуществляется большое число раз снова и снова до наступления определенных условий. Так, цикл while приведет к тому, что инструкция будет выполняться до тех пор, пока условие цикла будет принимать значение true. Как только условие примет значение false, выполнение инструкции прекратится, while (логическое выражение-условие) инструкция

Поскольку блок — это инструкция, то цикл while может быть записан в виде

while (логическое выражение-условие) { инструкции

}

Вот пример цикла, с помощью которого можно напечатать числа 1, 2, 3, 4, 5:

int number; number = 1; while (number < 6) {

System.out.println(number); number = number + 1;

}

System.out.println("Gotovo!");

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

public class Interest3 {

public static void main(String[] args) { double principal; // Вносимая сумма, double rate;    // Годовой процент.

/* получение значений вносимой суммы и процента от пользователя */ TextlO.put("Enter the initial investment: "); principal = TextlO.getInDouble(); TextlO.put("Enter the annual interest rate: "); rate = Text10.getInDouble(); /* Ha 5 лет. */ int years; years = 0; while (years < 5) {

double interest; / interest = principal * rate; principal = principal + interest; years = years + 1;

System.out.print("The value of the investment after ");

System.out.print(years); System.out.print(" years is $"); System.out.println(principal);

}

}

}

В этой программе используется специально созданный пользовательский класс Text.ю. Вместо этого класса можно воспользоваться стандартными классами, с которыми мы познакомимся далее.

Инструкция if заставляет компьютер проверить логическое значение условия. Если условие принимает значение true, то будет выполняться инструкция!, если значение false, то выполняется инструкция2: if (выражение-условие) инструкция1 else

инструкция2

Можно использовать упрощенный вариант, при этом вторая инструкция отсутствует. Компьютер выполнит инструкцию инструкция1 только в том случае, если значение выражения-условия будет true.

if (выражение-условие) инструкция1

С использованием блоков условие if можно записать в следующем виде:

if (выражение-условие) {

инструкции }

else {

инструкции

}

Его упрощенный аналог выглядит так:

if (выражение-условие) { инструкции

}

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

if (х > у) { int temp; temp = х; х = у; у = temp;

Пример полного условия (включая else):

if (years >1) {

System.out.print("The value of the investment after "); System.out.print(years); System.out.print(" years is $");

}

else {

System.out.print("The value of the investment after 1 year is $");

}

System.out.println(principal);

Источник: Будилов В. А. Интернет-программирование на Java. — СПб.: БХВ-Петербург, 2003. — 704 е.: ил.

По теме:

  • Комментарии