JavaRush/Курсы/Модуль 1. Java Syntax/Дополнительные лекции к уровню

Дополнительные лекции к уровню

Открыта

Пока пройденные темы непонятны... Повторяйте их снова и снова :) Но все же надеемся, что благодаря лекциям этого уровня вы неплохо разобрались в использовании циклов в Java. Чтобы разложить всю новую информацию по полочкам и разобраться, как теория используется на практике программирования, мы подготовили вам в помощь несколько дополнительных материалов.

Циклы в Java

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

  • while — цикл с предусловием;
  • do..while — цикл с постусловием;
  • for — цикл со счетчиком (цикл для);
  • for each — цикл "для каждого" — разновидность for для перебора коллекции элементов.

Как используют цикл for в Java

Говорят, что лучший программист — ленивый программист. Вместо того, чтобы совершать однотипные действия по нескольку раз, он придумает алгоритм, который сделает эту работу за него. А еще он сделает его хорошо, чтобы не нужно было переделывать. Цикл for в ряде случаев поможет вам написать минимально необходимое количество строк кода. В этой статье разбираемся с принципом его работы и примерами использования для решения разнообразных задач.

Оператор while

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


6
Задача
Java Syntax Pro Beta,  6 уровень,  6 лекция
Недоступна
Треугольный массив
Треугольный массив
6
Задача
Java Syntax Pro Beta,  6 уровень,  6 лекция
Недоступна
Создаем двумерный массив
Создаем двумерный массив
6
Задача
Java Syntax Pro Beta,  6 уровень,  6 лекция
Недоступна
Создаем мультимассив
Создаем мультимассив
Комментарии (31)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ivan
Уровень 7
вчера, 03:27
Проблема с формулировкой в тесте. Нас учили решать задачи с условием «до N (включительно)», а здесь написано просто «до N». Математически «до N» не равно «до N (включительно)», но тест проверяет это как одно и то же.
Антон
Уровень 8
20 мая 2025, 19:32
чат ГПТ в помощь)))) вот говорят, что он делает людей тупицами... хм... что думаете?) Правильный ответ — Код не скомпилируется. Объяснение: Оператор continue; мгновенно передаёт выполнение следующей итерации цикла, и любые инструкции после него в теле цикла становятся недостижимыми. В данном случае, команда System.out.println(i); никогда не будет выполнена, так как стоит после continue. Это называется "недостижимый код" ("unreachable code"), и компилятор Java не позволяет так писать — появится ошибка компиляции. Итак, правильный вариант: Код не скомпилируется
Christina
Уровень 15
13 февраля 2025, 12:51
А как перепройти тест?)
Леонид
Уровень 3
6 апреля 2024, 14:40
for(int i = 0; i < 10; i++) { continue; System.out.println(i); } К этому меня жизнь не готовила) С одной стороны в доп. материале был намек, с примером кода, который будет помечен ошибкой из за того, что код создаст бесконечный цикл. Но нигде не было про то, что если часть кода никогда не сможет выполниться, хотя цикл завершится, то компилятор обнаружит недостижимый код и выдаст ошибку. И еще вопрос, почему ответ про ошибку не прокатывает, ведь по сути на выходе мы ее получаем error: unreachable statement
Алексей
Уровень 72
Expert
22 октября 2023, 20:15
Хм... тест хороший, но к сожалению много задач не на циклы, а на умение понимать значение и смысл слова "до"... Ну штош, тоже полезно)
22 ноября 2022, 14:07
Полосу прокрутки не сразу видно - в первом вопросе правильный ответ в самом низу, и его не видно. Только на третью попытку увидел.
Петров Петров
Уровень 21
10 марта 2022, 17:55
for(int i = 0; i < 10; i++) { continue; System.out.println(i); } Почему код не скомпилируется?
Владимир
Уровень 50
16 апреля 2022, 05:48
(Просто оставлю это здесь) Будет ошибка при компиляции: "недостижимый код" в строке вывода переменной i. Оказывается. Вот.
Тарас Ш.
Уровень 72
16 июня 2022, 17:22
Тоже немного обидно...(
Руслан
Уровень 114
Expert
13 декабря 2022, 00:40
тоже обидно, из лекции прямо не следовало, что прога не скомпилируется.
Igor Stupnik
Уровень 33
30 января 2023, 13:19
действительно unreachable statement, кто-бы мог подумать ((
Евгений
Уровень 6
Expert
14 ноября 2023, 06:20
Отличный вопрос + как вы узнали правильный ответ, что код не скомпелируется? Толи не вижу, где посмотреть свои ошибки, толи к удивлению нет такого функционала
Stas S
Уровень 108
Expert
24 января 2022, 06:15
Со второго раза. Первая ошибка - от 1 до 10 (логично, что НЕ включая, раз не указано другое) Вторая - невнимательность при Math.round
Денис
Уровень 111
Expert
21 апреля 2022, 05:38
взаимно, написано ДО 10, а не 10 включительно, или ПО 10....
Тарас Ш.
Уровень 72
16 июня 2022, 17:28
Не согласен. Следуя вашей логике, от 1 до 10 - это 2 3 4 5 6 7 8 9 (исключая 1 и 10 (не указано же, что включительно)). В таком случае правильного варианта ответа нет.
Stas S
Уровень 108
Expert
4 июля 2022, 11:34
Странное понимание моей логики. Четко указано от 1, т.е. начинаем с единицы и ДО 10, подходит любая цифра от 1 по 9 включительно т.к. 10 уже равно 10. Большинство функций в Java работают так же от числа(включая его) до числа(не включая)
Тарас Ш.
Уровень 72
4 июля 2022, 16:22
Всё же останусь при своём мнении, ведь речь идет не совсем о java (например, индексы). Вывести на консоль числа от 1 до 10. А если бы вам предложили вывести на консоль буквы от А до Я, вы бы не стали Я выводить?
Stas S
Уровень 108
Expert
5 июля 2022, 09:18
А о чем может еще может идти речь, если не о Java ?) До "Я" - очевидно, что ее НЕ нужно выводить . До != включая
Тарас Ш.
Уровень 72
6 июля 2022, 11:57
Не думаю, что с таким подходом составитель тз будет доволен решением.
Тарас Ш.
Уровень 72
6 июля 2022, 11:59
Однако, не вижу смысла продолжать дискуссию. Ваша позиция мне понятна)
19 ноября 2022, 01:01
Тарас, ты не прав - в вопросах с циклом for аналогичный вопрос - ВКЛЮЧАЕТ 10. просто опечатка в вопросе
Руслан
Уровень 114
Expert
13 декабря 2022, 00:46
дело в том, что вот эти до и по имеют существенное значение в юриспруденции (откуда я родом), но ребята когда речь касается описания диапазона чисел (от 1 до 10) - очевидно, что до в этом случае употребляется в значении "по", поэтому надо понимать контекст, никаких противоречий с юридическим канцеляритом, никаких опечаток в той задаче нет.
Nikita Shamrai Backend Developer Expert
18 декабря 2021, 16:37
for(int i = 0; i < 10; i++) { continue; System.out.println(i); } Примера подобного когда и объяснения результата его работы в лекции не было. //Думал просто ничего не выведет на экран.
Евгений Фуст
Уровень 58
6 февраля 2022, 17:39
хороший вопрос, вроде всё понятно было, но данный пример даёт понимание некоторых тонкостей java о которых и не знал )
Роман Ильясович
Уровень 46
Expert
13 февраля 2022, 10:29
Вот этот момент я так и не понял.
Виктор Шефф
Уровень 111
Expert
3 декабря 2021, 14:22
/* Комментарий удален */
Konstantin Backend Developer Expert
4 декабря 2021, 19:20
Были-были.... не внимательно, Виктор )
Виктор Шефф
Уровень 111
Expert
5 декабря 2021, 10:25
всё равно сдал на 10/10 с первого раза 😀
Denys D.
Уровень 108
Expert
11 декабря 2021, 15:44
были ) Кто-то просто спидранит и упускает детали ...;)
Виктор Шефф
Уровень 111
Expert
11 декабря 2021, 16:21
А можешь написать ссылку на лекцию, где об этом написано? Я прошёлся по всем предыдущим лекциям с поиском Ctrl+F и не нашёл.
Denys D.
Уровень 108
Expert
11 декабря 2021, 16:25