Циклы

Циклы





ВАЖНО: ниже находится устаревшая версия статьи. Актуальную можно найти здесь: ссылка






Первое знакомство

Цикл – синтаксическая языковая конструкция, позволяющая выполнять однотипные действия определенное количество раз. При этом количество повторений (итераций) может быть как известно заранее, так и нет.

Рассмотрим подробнее на основании статьи: https://metanit.com/java/tutorial/2.6.php (Не забивайте на вопросы для самопроверки и упражнения!)

Также видео:

Если вы уже самостоятельно изучили массивы, в качестве закрепляющего материала по циклам могу предложить данные 3 коротких видео:

while и do-while

for

for-each

Тем, кто с массивами еще не знаком – вероятно, будет рано, можете пересмотреть после следующего урока.

Итак, что же стоит отметить для себя по циклам:

·      Синтаксис цикла for;

·      Отличие между for и while;

·      Отличие от while и do-while;

·      Способы создания бесконечного цикла;

·      Назначение операторов break и continue.

Также несколько важных моментов, которые редко пишут в статьях и еще реже в них читают:

1.    Цикл for принято использовать в тех ситуациях, когда количество производимых итераций заранее известно;

2.    Следуя из п.1 – никогда не реализуйте бесконечный цикл через for;

3.    Цикл while – наоборот, обычно используется для сценариев, когда количество повторений заранее не прогнозируемо;

4.    Цикл do-while в целом редкий в реальном использовании инструмент. Но идеологически он ближе к while;

5.    Изменение переменной-итератора (в примерах – обычно int i) в теле (то, что между {}) цикла for – недопустимо. Синтаксически это не является ошибкой, но на практике усложняет восприятие кода;

6.    Не рекомендуется использовать в цикле for операторы break и continue. Поскольку это нарушает п.1.


Эти правила могут быть не усвоены сейчас. Но искренне надеюсь, что они будут восприниматься как данность к моменту, когда вы напишете свою первую строчку кода на реальном проекте.

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

С теорией на сегодня все!


Переходим к практике. Часть заданий может показаться знакомой:

Задача 1:

Ввести с клавиатуры целое число. Вывести в консоль его факториал.


Задача 2:

Ввести с клавиатуры целое число. Вывести в консоль сумму цифр введенного числа.


Задача 3:

Написать программу, которая принимает длину и ширину прямоугольника (2 целых числа). Нарисовать в консоли заданный прямоугольник, используя “-“ и “|”. Углы прямоугольника обозначить символом “ “. Каждая единица длины должна обозначаться одним символом “-“, каждая единица ширины – символом “|“.


Задача 4:

Ввести с клавиатуры целое число (Число 2). Для каждого из чисел от 1 до 10 выполнить:

 Если число1 четное, вывести сумму двух чисел (пр.1), если нет - разность(пр.2). Также если числа равны - вывести надпись "числа равны!".

пр1.: "Число1 + Число2 = Сумма", где число1 - значение 1го числа (от 1 до 10), число2 - значение введенного с клавиатуры числа, Сумма - результат сложения.

пр2.: "Число1 - Число2 = Разность", где число1 - значение 1го числа (от 1 до 10), число2 - значение введенного с клавиатуры числа, Разность - результат вычитания.


Задача 5:

Выводить на экран "Не угадал!" до тех пор, пока с клавиатуры не будет введено число 1. Запрашивать число с клавиатуры:

Вариант 1: перед выводом на экран "Не угадал!"

Вариант 2: после вывода на экран "Не угадал!"

Подумать, где стоило бы использовать цикл do-while, а где – нет.


Если что-то непонятно или не получается – welcome в комменты к посту или в лс:)

Канал: https://t.me/+relA0-qlUYAxZjI6

Мой тг: https://t.me/ironicMotherfucker

Дорогу осилит идущий!


Report Page