При написании программ бывает необходимость что-то с чем-то сравнивать, и исходя от полученного сравнения производить дальнейшие действия. Например, нахождение корней квадратного уравнения. Если дискриминант меньше нуля, то корней нет, если равен нулю, то корень один, а если больше нуля, то корней два.
Все эти сравнения ни что иное, как логические операции сравнения. В логике есть лишь два значения:
- true (истина или 1);
- false (ложь или 0);
Не смотря на то, что значений весьма немного, на них зиждется (основывается) вся цифровая техника, каждое вычислительное устройство. «Ложь» и «истина» или «0» и «1» лежат в основе условных операторов. Если логическое условие выполнилось, значит true, если не выполнилось, значит false.
Правильно говорить, что в случае выполнения логического условия условный оператор возвращает истину, а в случае невыполнения логического условия условный оператор возвращает ложь.
Возвращение — это получение ответа от логического условия, ответ всегда однозначен (либо true, либо false).
Возвращение, возвращает, вернёт — это всё синонимы одного и того же.
10 больше 20? Нет, значит условный оператор вернёт false (0).
10 меньше 20? Да, значит условный оператор вернёт true (1).
10 равно 10? Да, значит условный оператор вернёт true (1).
«Cлово» равно 100? Нет, значит условный оператор вернёт false (0).
В языке программирования Java существует три условных оператора:
- if() — если…, оно же основное логическое условие;
- else if() — альтернативное условие, выполняется если не выполнилось основное;
- else — иначе…, выполняется в случае, если ни одно из вышеприведённых условий не было выполнено.
В круглых скобках указывается логическое условие. В else круглые скобки не требуются, так как это условие выполняется в случае, если ни одно из условий выполнено не было.
Условные операторы помещаются в условный блок.
Условный блок — это контейнер, содержащий в себе набор условных операторов и логических выражений.
Условных блоков (контейнеров) в программе может быть сколько угодно.
Для каждого условного блока существуют следующие правила:
- if() — только один и является обязательным, требуется логическое выражение в скобках;
- else if() — сколько угодно и обязательным не является, требуется логическое выражение в скобках;
- else — только один и обязательным не является, логическое выражение не требуется;
Реализация
При написании логических выражений, которыми оперирует условный оператор, нужно использовать специально отведённые для этого символы и всегда придерживаться правила «Что-то нужно сравнивать с чем-то«. Пустоту с переменной сравнить нельзя. Нельзя сделать омлет не разбив пары яиц. При сравнении двух значений обязательно должно существовать первое значение и второе значение.
Для создания логического выражения используются следующие символы:
- == (равно);
- > (больше);
- < (меньше);
- >= (больше, либо равно);
- <= (меньше, либо равно);
- != (не равно);
В одном логическом условии может быть только одно из шести условий.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public class Main { public static void main(String[] args) { int var0 = 115; //в переменную положим значение if(var0 == 115){ //если значение переменной равно 115, то System.out.println("Значение переменной равно 115"); //вывести на экран сообщение } else if(var0 > 115){ //если if() не выполнился, то проверяем альтернативное условие //если значение переменной больше 115, то System.out.println("Значение переменной больше 115"); //вывести на экран сообщение } else if(var0 < 115){ //если условия выше не выполнились, то проверяем ещё одно альтернативное условие //если значение переменной меньше 115, то System.out.println("Значение переменной меньше 115"); //вывести на экран сообщение } else{ //если ни одно из условий выше не было выполнено, то System.out.println("Значение переменной не равно 115"); //вывести на экран сообщение } } } |
На экран получаем
1 |
Значение переменной равно 115 |
Можно изменить значение переменной, и получится другой ответ.
В один условный оператор можно положить от одного до бесконечности логических выражений, но при использовании более одного логического выражения в условном операторе необходимо правильно комбинировать логические выражения.
Для комбинирования логических выражений используются следующие символы:
- && (логическое И);
- || (логическое ИЛИ);
Логическое И — это такое комбинирование двух логических выражений, при котором обязательно должно быть выполнено оба логических выражения. В случае выполнения обоих логических выражений условный оператор возвращает true, иначе false.
Логическое ИЛИ — это такое комбинирование двух логический выражений, при котором должно быть выполнено хотя бы одно из двух логических выражений. В случае выполнения хотя бы одного из логических выражений условный оператор возвращает true, иначе false.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class Main { public static void main(String[] args) { int var0 = 110; //в переменную положим значение if(var0 == 115 || var0 < 115){ //если значение переменной равно 115 ИЛИ меньше него, то System.out.println("Значение переменной равно 115 или меньше него"); //вывести на экран сообщение } else if(var0 != 200 && var0 > 115){ //если значение переменной не равно 200 И больше него 115, то System.out.println("Значение переменной не равно 200 и больше 115"); //вывести на экран сообщение } else{ //если ни одно из условий выше не было выполнено, то System.out.println("Значение переменной не равно 115"); //вывести на экран сообщение } } } |
На экран получаем:
1 |
Значение переменной равно 115 или меньше него |
Измените значение переменной на 200 и получите:
1 |
Значение переменной не равно 115 |
Измените значение переменной на 199 и получите:
1 |
Значение переменной не равно 200 и больше 115 |
Измените значение переменной на 392 и получите:
1 |
Значение переменной не равно 200 и больше 115 |
Таким нехитрым образом мы познакомились с темой: «Условные операторы в языке программирования Java«!