Оглавление:
Условные операторы в Java
Java — Условные операторы
Наглядная статья с примерами: if / else / логика / тернарный оператор / switch
Кратко — условные операторы позволяют программе принимать решения: выполнить один кусок кода или другой в зависимости от выражения. Ниже — компактные объяснения и примеры, чтобы вы могли прямо копировать и запускать в своей среде.
Основная идея: «если условие истинно — делаем одно, иначе — другое». Именно так программы становятся умнее.
1) Простой if / else
Проверяем равенство и выводим результат.
// example: simple if/else
int a = 1;
if (a == 1) {
System.out.println("Условие выполняется: a == 1");
} else {
System.out.println("Условие не выполняется");
}
Вывод при a = 1: Условие выполняется: a == 1
2) else if — цепочка проверок
Когда нужно проверить несколько вариантов один за другим.
int a = 2;
if (a == 1) {
System.out.println("a == 1");
} else if (a == 2) {
System.out.println("a == 2");
} else {
System.out.println("ни один из вариантов");
}
Совет: порядок важен — первый совпавший if/else if «поглощает» выполнение.
3) Операторы сравнения и отрицание
!=— не равно>,<— больше / меньше>=,<=— больше/меньше или равно!— логическое «не» для булевых выражений
int a = 3;
if (a != 2) {
System.out.println("a не равно 2");
}
if (a > 2) {
System.out.println("a больше 2");
}
4) Логические операторы: && (И) и || (ИЛИ)
Составные условия.
int a = 3, b = 1;
// логическое И: оба условия должны быть true
if (a == 3 && b == 1) {
System.out.println("оба условия истинны");
}
// логическое ИЛИ: достаточно, чтобы хотя бы одно было true
if (a == 2 || b == 1) {
System.out.println("хотя бы одно истинно");
}
5) Тернарный оператор — компактно, но осторожно
Сокращённая форма if/else. Хорош для простых присваиваний, но новичкам лучше читать обычный if.
int a = 3, b = 1;
int c = (b == 1) ? (a + 1) : (a - 1);
System.out.println(c);
Если b == 1, то c = a + 1, иначе c = a - 1.
6) switch — когда много дискретных вариантов
Удобно читать, особенно при множестве целочисленных/строковых кейсов. Не забывайте break.
int a = 5;
switch (a) {
case 1:
System.out.println("a == 1");
break;
case 2:
System.out.println("a == 2");
break;
case 3:
System.out.println("a == 3");
break;
default:
System.out.println("Условие не выполнено");
}
7) Небольшая шпаргалка для отладки
- Чтобы понять, почему не заходит в условие — напечатайте значения переменных перед проверкой.
- Проверьте типы: сравнение
==для ссылок (объекты) — это не то же самое, что для примитивов. - Тернарный оператор хорош в одну строчку — но не делайте в нём сложную логику.
Тест — Насколько ты понял урок?
Галерея
Оставить комментарий
Мой канал в социальных сетях
Полезные статьи:
В этой статье мы разберем ключевые низкоуровневые механизмы Go, сравнивая их с аналогичными инструментами в Java. Статья предназначена для Java-разработчиков, которые хотят глубже понять Go, а также д...
Slice в Go — это одна из тех структур, которая выглядит простой, но под капотом ведёт себя как маленький хитрый зверь. Если ты Java-разработчик, ты можешь думать: «ну это же просто ArrayList». И вот з...
Эта статья — комплексное руководство по ключевым аспектам работы памяти и рантайма в Go и Java. Мы разберем фундаментальные концепции: планировщик выполнения, memory barriers, выравнивание памяти, рос...
Новые статьи:
Конкурентность — это не про «запустить много потоков». Это про договорённости между ними. Представь кухню ресторана: — повара (потоки / горутины) — заказы (задачи) — и главный вопрос: как они коорди...
История начинается не с академической теории, а с типичной production-проблемы. Представьте сервис: 48 CPU 300+ потоков нагрузка 200k операций в секунду много shared state Команда использует обы...
Представьте обычный продакшн-сервис. 32 CPU сотни потоков кэш конфигурации / сессий / rate limits десятки тысяч операций в секунду И где-то внутри — обычный Map. Сначала всё выглядит безобидно. Map&...