Топ-100Условные операторы в Java - CodOrbits
LogoCodOrbits

Раздел: Азы Java

В этом разделе вы узнаете основы Java: синтаксис, типы данных, операторы и первые шаги в программировании на Java.

Все разделы
Иконка Азы Java

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

Last updated: 2 мая 2025 г.

Итак, как же эти выражения с операторами, которые мы изучили можно использовать?

Например, в операторе сравнения if...else.

Им можно проверить возвращает ли какое-либо выражение true и если возвращает, то выполнить какие-то операции.

Поясним на примере.

1class Test
2{
3    public static void main(String []args)
4    {
5        int a=31, b=15;
6        //if это на русском ЕСЛИ.
7        //Если проговорить код ниже то будет:
8        //"ЕСЛИ а больше чем b то выполняется код в {} после if".
9        if(a>b)
10        {
11            System.out.println("a>b returned true");
12        }
13        //else означает ИНАЧЕ.
14        //Если проговорить код ниже то будет:
15        //"ИНАЧЕ выполняется код в {} после else".
16        //Имеется ввиду ИНАЧЕ от того что было
17        //в круглых скобочках у if.
18        //То есть то что в фигурных скобочках после else
19        //выполняется если выражение a>b вернуло false,
20        //если же a>b вернуло true и был выполнен код
21        //в фигурных скобочках у if то код в фигурных
22        //скобочках у else ясное дело выполнен не будет.
23        else
24        {
25            System.out.println("a>b returned false");
26        }
27        //Выполниться то что в фигурных скобочках
28        //у if так как a>b возвращает true.
29        //То есть как видим можно писать блоки кода,
30        //которые выполняются только по какому-то условию.
31    }
32};

Вывод:

В примере if…else оператора, ниже выполниться то, что в фигурных скобочках после else, так как выражение a<b возвращает ложь.

1class Test
2{
3    public static void main(String []args)
4    {
5        int a = 31, b = 15;
6        if (a < b) {
7            System.out.println("a < b returned true");
8        }
9    }
10};

Вывод:

if можно писать отдельно от else и если то, что в круглых скобочках ложно то ничего не произойдет, так как у нас уже нет блока else.

Вывод:

Программа с условными операторами

Также есть else if (...) {...}. Его можно писать много раз для дополнительных проверок.

Пример программы:

1class Test
2{
3    public static void main(String []args)
4    {
5        int a=31, b=15;
6        // Если код в {} после if(a < b) не выполнялся,
7        // то есть a < b возвращает false,
8        if(a < b){
9            System.out.println("a < b returned true");
10        }
11        // то выполняется проверка условия в else if ниже
12        // и если a==b возвращает true, то выполняется код
13        // в {} после else if(a==b) и все проверки далее
14        // совершаться не будут, то есть произойдет переход к коду
15        // после проверок, то есть к строчке:
16        // System.out.println("The end of the program");
17        // Если же a==b возвращает false
18        else if(a==b){
19            System.out.println("a < b returned false, but a==b " 
20                               + "returned true");
21        }
22        // то выполняется проверка условия в else if ниже
23        // и если a>b возвращает true, то выполняется код
24        // в {} после else if(a > b) и все проверки далее
25        // совершаться не будут, то есть произойдет переход к коду
26        // после проверок, то есть к строчке:
27        // System.out.println("The end of the program");
28        // Если же a > b возвращает false
29        else if(a > b){
30            System.out.println("a < b returned false, a==b " 
31                               + "returned false, but a > b returned true");
32        }
33        // то выполняется код в {} после else
34        else{
35            System.out.println("a < b returned false, a==b returned false" 
36                               + " so lets return something in else block");
37        }
38        System.out.println("The end of the program");
39        // Выполнится то, что в фигурных скобках у else if(a>b),
40        // так как a > b возвращает true.
41    }
42};

Вывод:

Как уже было замечено, если бы, например, a==b возвращал true в программе выше, то все другие проверки else if после else if(a==b) не совершались бы и блок else тоже не выполнился бы.

В этом смысл else if. Если бы мы написали вместо всех else if в программе просто if, то если бы a==b был true, то код в скобочках {} этого условия бы выполнился, но проверки условий в if-ах дальше бы продолжались.

То есть смысл в том, что из всех else if будет выполнен только один и если какой-то else if выполнился, то все остальные проверки else if за ним совершаться не будут.


Программа с условными операторами

Также часто вместо if…else используют switch case.

Давайте для начала приведем if else версию, а потом ее switch case аналог, который делает то же самое.

Пример программы:

1class Test
2{
3    public static void main(String []args)
4    {
5        int a=31, b=15;
6        //если a+b равняется 35
7        if(a+b==35)
8        {
9            //то выполняется то что здесь
10            System.out.println("a+b equals to 35");
11        }
12        //если a+b равняется 46
13        else if(a+b==46)
14        {
15            //то выполняется то что здесь
16            System.out.println("a+b equals to 46");
17        }
18        //если a+b равняется 42
19        else if(a+b==42)
20        {
21            //то выполняется то что здесь
22            System.out.println("a+b equals to 42");
23        }
24        //если все условия выше оказались false
25        else {
26            //то выполняется то что здесь
27            System.out.println("lets return somethong " + "in else block");
28        }
29    }
30};

Вывод:

Ниже switch case версия, которая выполняет то же самое, что if версия выше.

Поочередно проверяются числа рядом с case-ами на предмет равенства результату выражения в скобочках рядом со switch и если в программе ниже, например, число 42 окажется равным результату выражения a+b, то выполниться код между case 42: и break;.

Пример программы:

1class Test
2{
3    public static void main(String []args)
4    {
5        int a=31, b=15;
6        switch (a+b) {
7            case 35: //если a+b равняется 35
8                System.out.println("a+b equals to 35");
9                break;
10            case 46:
11                System.out.println("a+b equals to 46");
12                break;
13            case 42:
14                System.out.println("a+b equals to 42");
15                break;
16            default: //default аналог else
17                System.out.println("lets return somethong in default block");
18        }
19    }
20};

Вывод:

Search Icon

Но чаще, всё таки, используют if…else.


Следующие уроки

Циклы в Java

10
мин.

Similar Articles Icon
Divider

Ключевые слова break, continue

6
мин.

Similar Articles Icon
Divider

Массивы в Java

11
мин.

Similar Articles Icon