JavaRush /Курсы /Java Syntax /Условные операторы

Условные операторы

Java Syntax
4 уровень , 4 лекция
Открыта

Фрагмент лекции JavaRush - университета.


— Привет, Амиго. Сегодня мы разберём условные операторы.

— От программ было бы мало толку, если бы они делали абсолютно одно и то же независимо от того, как меняются внешние обстоятельства. Программе нужно уметь подстраиваться под обстоятельства, и делать одни действия в одних случаях и другие – в других. В Java это реализовано с помощью «условного оператора» — специального ключевого слова, которое позволяет выполнять разные блоки команд в зависимости от правдивости условия.

— Он состоит из трех частей: «условия», «команды 1» и «команды 2». Если условие верно (истинно), тогда выполняется «команда 1», иначе выполняется «команда 2». Команды никогда не выполняются одновременно. Общий вид этого оператора таков:

Код условного оператора
if (условие)
    команда_1;
else
    команда_2;

— Как интересно. Думаю, с таким оператором программировать гораздо интереснее.

— Ага. Вот тебе парочка примеров:

Код Пояснение
1
if (a < b)
    System.out.println("А меньше Б");
else
    System.out.println("Б не больше А");
Если a меньше b, то выполнится первая команда, в противном случае – вторая. Команды никогда не выполнятся одновременно.
2
if (a < b)
{ System.out.println("А меньше Б"); System.out.println("Б больше А"); }
else
{ System.out.println("Б не больше А"); System.out.println("А не меньше Б"); }
Вместо одной команды можно подставить блок команд. В остальном — то же самое.
3
if (a < b)
{ a = 0; }
else
{ }
Блок else можно не писать, если он пустой.
Данные три примера абсолютно эквиваленты.
Можно не писать скобочки, если нужно выполнить только одну команду. Если у нас несколько команд, то скобочки писать обязательно.
4
if (a < b)
{ a = 0; }
5
if (a < b)
    a = 0;

— Диего тут просил передать тебе несколько задачек.

4
Задача
Java Syntax Pro, 4 уровень, 4 лекция
Недоступна
Показываем, что получаем
Вводим данные с клавиатуры и сразу их выводим на экран, пока не будет введено слово "enough". Для этого необходимо использовать бесконечный цикл (while(true)). Подсказка: чтобы завершить бесконечный цикл, используй оператор break.
4
Задача
Java Syntax Pro, 4 уровень, 4 лекция
Недоступна
Сумма чисел, не кратных 3
Вывести на экран сумму чисел от 1 до 100 включительно, не кратных 3. Для этого используй цикл while. Подсказка: чтобы в цикле перейти к следующему числу, используй оператор continue.

Фрагмент лекции JavaRush - университета.

Комментарии (1632)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
vova Уровень 6
19 августа 2024
/* Комментарий удален */
Сергей Уровень 4
18 июня 2024
вот одно очень не удобно, тесты првоеряющие заточены на то решение что в ответах, если я делаю своим методом решения, то при проверке ошибка мое решение задачи через сканнер ему не нравится, так как в ответе буферридер ``` Scanner scanner = new Scanner(System.in); System.out.println("Введите число: "); int number = scanner.nextInt(); } ``` почему мой вариант не нравится тестам првоерочным?(
daniloff.mik Уровень 3
26 июня 2024
Сергей как Вы сделали в теории тоже можно, но в задаче не импортирован Scanner. Там сверху можно посмотреть что импортировано import java.io.BufferedReader; и import java.io.InputStreamReader; Т.е. подразумевается что Вы решите эту задачу через чтение строк этим способом) В предыдущей лекции есть как раз пример как это сделать) P.S. Сам по-началу пытался сделать как Вы)
vlafriday Уровень 1
13 мая 2024
13.05.2024 check, мой уровень 4 Жесть задача про светофор, решил только с помощью подсказок gpt. Просто дам ту же подсказку: - если остаток меньше 3, то светофор зеленый; - если остаток от 3 до 4, то светофор желтый; - если остаток от 4 до 5 (но строго меньше 5), то светофор красный.
hidden #3303399 Уровень 28
6 декабря 2023

 ...
System.out.printf("%d\n", (num < 0) ? ++num : (num > 0) ? num * 2 : 0);
gypsy potassium Уровень 19 Expert
23 сентября 2023
прикольно, я не знал, что високосные года рассчитываются сложнее, чем каждый четвертый
Игорь Уровень 32
20 августа 2023
Благодарю тех кто в помощь встроил функцию: Правильное решение. Только благодаря этой функции удаётся как то продвигаться вперёд. Опираясь на материал лекций, пытаюсь как то одолеть решение задач. Иногда получается, иногда требуется несколько попыток. Порой даже внутреннюю проверку IDEA прохожу, и результат выходит требуемый, а вот проверка утверждает, что не все пункты соблюдены. Чувствуешь себя очень тупым. Залезаешь в правильное решение и понимаешь, что даже если и был близок к решению, то такого способа записи даже и не предполагал. И как закоренелый двоечник опираясь на правильные ответы двигаешься вперёд с надеждой со временем и набранным опытом, перепройти всё сначала и может быть освоить курс. Я не думаю, что буду работать программистом, ибо ещё 20 лет назад в одном из филиалов IBM в одном из их учебных центров в котором мы проводили одно мероприятие, меня заверили, что в моём случае осваивать этот вопрос уже поздно и это удел молодых. В любом случае мне хочется овладеть данным навыком, что из этого получится время покажет. Создателям курса: Успеха и всех благ!
Анатолий Уровень 6 Expert
10 сентября 2023
используйте ChatGPT для поиска ответов на абстрактные вопросы, и придете к решению
vacallkingg Уровень 8
17 марта 2025
Как успехи спустя почти 2 года, Игорь?
Увайс Уровень 41
18 июня 2023
В задании со временем года почему не работает код? public class Solution { public static void main(String[] args) { checkSeason(12); checkSeason(4); checkSeason(7); checkSeason(10); } public static void checkSeason(int month) { if (month >3 && month == 12) { System.out.println("зима"); } if (month>6) { System.out.println("весна"); } if (month>9) { System.out.println("лето"); } else { System.out.println("осень"); } } } Все правильно выводит в тесте, но при отправке задания выводит ошибку, что Метод checkSeason должен выводить текст на экран согласно заданию. И выходит подсказка, проверить правильность определения зимы, а что тут не правильного? 12 месяц - декабрь и month >3 проверяет тоже правильно, так как в примере если будет 3 - то условие ложно. Верное условие будет при вводе 1 и 2, которые являются зимними месяцами! Когда выбрал показать правильное решение вывелись кейсы, а где объясняется тема кейсов?? Задача на условные операторы if-else, как новичок должен решить это задание, если он и не знает о существовании кейсов и эта тема не объяснялась?
12 июля 2023
как у вас вообще это условие может выполниться? if (month >3 && month == 12) System.out.println("зима"); мы передаем единственный параметр month, а вы на него два условия вешаете с оператором И. То есть, Если месяц>3 И если месяц=12, это как? Ну и с точки зрения здравого смысла у вас неверно. Нужно не подгонять под условия задачи, а всегда думать, что будет если мы введем 15 или еще какое либо число не из условия.
Maggee Уровень 5
7 февраля 2023
Я, значит, ищу инфу в интернете, читаю статьи о ветвлении if-else, решаю задачи, а после них видео как решать эти задачи! Подстава торопыгам :)
Kiryl_tol Уровень 4
26 января 2023
Задача: дни недели Поможет сократить объем кода если помнить что if можно без else писать. Либо по альтернативному пути, это почитать про switch, еще проще но не так красиво. Я вторым способом решил.
Сергей Паутов Уровень 3
25 марта 2023
switch не всегда может заменить пачку if-ов. Более удобней свитч сделан в голенг, но это уже другая история.
Kolombos Уровень 6
22 мая 2023
Просто такие задачи решаются с помощью массивов:

String[] day = new String[] {"понедельник", "вторник", "среда", "четверг", "пятница", "суббота", "воскресенье"};
        if (nValue > 0 && nValue < 8) {
            System.out.println(day[nValue - 1]);
        } else {
            System.out.println("такого дня недели не существует");
        }
Валентина Уровень 7
8 ноября 2022
Задачки как бальзам на душу🤗 после этих заданий пришло понимание BufferedReader