for (int i = 1; i <= 20; i++)
{
if ( (i % 7) == 0) continue;
/* если число делится на семь, то принт пропускается, но если не делится?
перед System.out.print() же должен стоять else. Я не понимаю почему тут нету else.
*/
System.out.println(i);
}
ВОПРОС В КОДЕАндрей
13 уровень
условные операторы
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
very junior java developer
29 марта 2023, 18:06
Этот код:
эквивалентен этому:
Просто когда else пустой следовательно его не пишут вообще.
Так же, с тем же результатом, можно было бы написать так:
+1
Михаил
29 марта 2023, 17:09полезный
continue считай это русская присказка: "мочало - начинаем всё сначала"
То есть этим словом ты прерываешь ход выполнения шага цикла и начинаешь следующий шаг.
Можно по разному этот код представить, вот например:
И как видишь else необязателен. +1
Андрей
29 марта 2023, 17:27
0
Dmitry Kuzmitsky
29 марта 2023, 17:56
Если условие не выполняется - то выполняется то что после "else", но "else" это опциональная команда(не обязательная), поэтому выполняется код дальше.
+1
very junior java developer
29 марта 2023, 18:12
"в моем понимании команда continue и принт входят в if"
нет
смотри:
Дело в фигурных скобочках, ими обозначется блок кода, который будет выполнен в случае если if - true ..... но если скобок после if нет, то выполнится только 1 строка кода до знака ; +1
Михаил
29 марта 2023, 18:16
Знаешь легенду о Прокрустовом ложе? Вот он точно if else использовал.
if (гость короче Прокруста) вытянуть гостя; else if (гость выше Прокруста) обрубить выступающее; else отпустить с миром;
Итого у нас получилась цепочка оценки. И какой бы ответ не получился у нас что то да придется выполнять, а вот простой if это условие выполнения или не выполнения. Как в твоем случае, если кратно семи то не печатать. Зачем тут "иначе" если и так понятно что код дальше сам пойдет.
+1