Условные операторы в 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) Небольшая шпаргалка для отладки

  • Чтобы понять, почему не заходит в условие — напечатайте значения переменных перед проверкой.
  • Проверьте типы: сравнение == для ссылок (объекты) — это не то же самое, что для примитивов.
  • Тернарный оператор хорош в одну строчку — но не делайте в нём сложную логику.

Тест — Насколько ты понял урок?


Всего лайков:0
Мой канал в социальных сетях
Отправляя email, вы принимаете условия политики конфиденциальности

Полезные статьи:

Многопоточность в Go и Java: типы задач и паттерны решения
Многопоточность — это не просто «запустить миллион потоков и пусть считают». Это искусство эффективно использовать ресурсы процессора и памяти, безопасно обрабатывать данные и правильно распределять з...
Java v25: выбор подходящей многопоточности для любых задач
Введение Мир Java стремительно развивается, и с каждой версией появляются новые инструменты для эффективной работы с многопоточностью, коллекциями и асинхронностью. В Java 25 разработчики получают мощ...
Generics, Reflection и каналы - Go vs Java | Types - Language
В этой статье мы разберем продвинутые возможности системы типов в Go: generics (параметры типов), reflection (рефлексию) и типы каналов для работы с конкурентностью. Мы сравним подходы Go и Java, чтоб...

Новые статьи:

Resource cleanup, rate‑limiting strategies, bounded vs unbounded channels - в Go vs Java | Паттерны, идиомы и лучшие практики Go
Продолжаем серию статей для разработчиков, которые хотят изучить Go на основе знаний Java, и наоборот. В этой статье мы обсудим три ключевые темы: Resource Cleanup (освобождение ресурсов), Rate-Limiti...
Разбираем: Rate‑limiter, non‑blocking operations, scheduler  Go vs Java | Concurrency часть 4
Эта статья посвящена пониманию принципов работы с конкурентностью и синхронизацией в Go и Java. Мы рассмотрим ключевые подходы, такие как rate‑limiter, неблокирующие операции и планирование задач, сра...
Разбираем: Trace, Profiling, Integration Testing, Code Coverage, Mocking, Deadlock Detection в Go vs Java | Testing, Debugging и Profiling
Серия: Go для Java-разработчиков — разбор trace, профилирования и тестирования В этой статье мы разберем инструменты и практики для тестирования, отладки и профилирования в Go. Для Java-разработчика ...
Fullscreen image