Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 5 Операторы цикла.doc
Скачиваний:
13
Добавлен:
14.08.2019
Размер:
92.67 Кб
Скачать

Лабораторная работа №5. Операторы цикла и перехода

Необходимые сведения из теории.

  1. Операторы цикла

Операторы цикла 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);

}

}