Лабораторная работа №5. Операторы цикла и перехода
Необходимые сведения из теории.
Операторы цикла
Операторы цикла Java — это for, while и do while. Цикл повторно выполняет один и тот же набор команд, пока не выполнится условие завершения.
1.1 Оператор цикла while
Цикл while —повторяет оператор или блок операторов, пока его управляющее выражение имеет значение true. Вот его общая форма:
while(condition) {
statement; // тело цикла
}
Здесь condition может быть любым булевским выражением. Тело цикла будет выполняться до тех пор, пока условное выражение имеет значение true. Когда condition становится false, управление передается строке программы, следующей непосредственно за циклом. Фигурные скобки не нужны, если повторяется одиночный оператор.
Пример 1. Вычисление 10!
int i=2, s=1;
while(i <= 10) {
s = s * i;
i++;
}
Контрольный вопрос 1.Что делает следующий кусок кода?
int x=10;
int s=1;
while(x > 1) {
s = s * x;
x = x - 1;
}
Так как цикл while оценивает условное выражение в самом начале своей работы, тело цикла не будет выполняться ни одного раза, если условие сразу же имеет значение false.
Пример 2. В следующем фрагменте обращение к println () никогда не выполняется:
int а = 10, b = 20;
while(а > Ь){
System.out.printin("Эта строка никогда не выведется");
}
Пример 3. В следующем фрагменте получим бесконечный цикл:
int number = 2;
while (true) {
System.out.print(number + “ “);
number += 2; //number = number + 2
}
Пример 4. В следующем куске кода выводятся на консоль четные числа от 2 до 20:
2 4 6 8 10 …20
int number = 2;
while (number <= 20) {
System.out.print(number + “ “);
number += 2;
}
Контрольный вопрос 2. Написать фрагмент кода, в котором находится сумма всех четных чисел меньших или равных 100.
Тело цикла while (или любого другого цикла Java) может быть пустым. Это потому, что в Java синтаксически допустим пустой (null) оператор (который состоит только из точки с запятой).
Пример 5. Рассмотрим следующую программу:
int i=100, j=200;
while(++i < --j); // в этом цикле нет тела
System.out.printin("i равно " + i);
Контрольный вопрос 3. Какой вывод генерирует программа из примера 5.
Пример 6. В следующей программе вычисляется сумма целых чисел вводимых пользователем с клавиатуры. Выход из программы происходит, как только пользователь введет не целое число.
import java.util.Scanner;
public class While {
public static void main( String args[] ) {
int sum = 0;
Scanner input=new Scanner(System.in);
System.out.println("Enter an integer");
while (input.hasNextInt()) {
sum += input.nextInt();
System.out.println("Enter next integer");
}
System.out.println("sum=" +sum);
}
}