В Java, условни оператори проверява условието и определя желания резултат въз основа на двете условия. В този раздел ще обсъдим условен оператор в Java.
Видове условни оператори
Има три вида условно оператор в Java :
- Условно И
- Условно ИЛИ
- Тернарен оператор
Оператор | Символ |
---|---|
Условно или логическо И | && |
Условно или логическо ИЛИ | || |
Тернарен оператор | ?: |
Условно И
Операторът се прилага между два булеви израза. Обозначава се с двата оператора И (&&). Връща true, ако и само ако и двата израза са true, иначе връща false.
Израз1 | Израз2 | Израз1 && Израз2 |
---|---|---|
Вярно | Невярно | Невярно |
Невярно | Вярно | Невярно |
Невярно | Невярно | Невярно |
Вярно | Вярно | Вярно |
Условно ИЛИ
Операторът се прилага между два булеви израза. Означава се с двата оператора ИЛИ (||). Връща true, ако някой от изразите е true, в противен случай връща false.
Израз1 | Израз2 | Израз1 || Израз2 |
---|---|---|
Вярно | Вярно | Вярно |
Вярно | Невярно | Вярно |
Невярно | Вярно | Вярно |
Невярно | Невярно | Невярно |
Нека създадем Java програма и използваме условния оператор.
ConditionalOperatorExample.java
оператори в програмирането на python
public class ConditionalOperatorExample { public static void main(String args[]) y<z); system.out.println((xz) && x<y); } < pre> <p> <strong>Output</strong> </p> <pre> true false </pre> <h3>Ternary Operator</h3> <p>The meaning of <strong>ternary</strong> is composed of three parts. The <strong>ternary operator (? :)</strong> consists of three operands. It is used to evaluate Boolean expressions. The operator decides which value will be assigned to the variable. It is the only conditional operator that accepts three operands. It can be used instead of the if-else statement. It makes the code much more easy, readable, and shorter.</p> <h4>Note: Every code using an if-else statement cannot be replaced with a ternary operator.</h4> <p> <strong>Syntax:</strong> </p> <pre> variable = (condition) ? expression1 : expression2 </pre> <p>The above statement states that if the condition returns <strong>true, expression1</strong> gets executed, else the <strong>expression2</strong> gets executed and the final result stored in a variable.</p> <img src="//techcodeview.com/img/java-tutorial/89/conditional-operator-java.webp" alt="Conditional Operator in Java"> <p>Let's understand the ternary operator through the flowchart.</p> <img src="//techcodeview.com/img/java-tutorial/89/conditional-operator-java-2.webp" alt="Conditional Operator in Java"> <p> <strong>TernaryOperatorExample.java</strong> </p> <pre> public class TernaryOperatorExample { public static void main(String args[]) { int x, y; x = 20; y = (x == 1) ? 61: 90; System.out.println('Value of y is: ' + y); y = (x == 20) ? 61: 90; System.out.println('Value of y is: ' + y); } } </pre> <p> <strong>Output</strong> </p> <pre> Value of y is: 90 Value of y is: 61 </pre> <p>Let's see another example that evaluates the largest of three numbers using the ternary operator.</p> <p> <strong>LargestNumberExample.java</strong> </p> <pre> public class LargestNumberExample { public static void main(String args[]) { int x=69; int y=89; int z=79; int largestNumber= (x > y) ? (x > z ? x : z) : (y > z ? y : z); System.out.println('The largest numbers is: '+largestNumber); } } </pre> <p> <strong>Output</strong> </p> <pre> The largest number is: 89 </pre> <p>In the above program, we have taken three variables x, y, and z having the values 69, 89, and 79, respectively. The expression <strong>(x > y) ? (x > z ? x : z) : (y > z ? y : z)</strong> evaluates the largest number among three numbers and store the final result in the variable largestNumber. Let's understand the execution order of the expression.</p> <img src="//techcodeview.com/img/java-tutorial/89/conditional-operator-java-3.webp" alt="Conditional Operator in Java"> <p>First, it checks the expression <strong>(x > y)</strong> . If it returns true the expression <strong>(x > z ? x : z)</strong> gets executed, else the expression <strong>(y > z ? y : z)</strong> gets executed.</p> <p>When the expression <strong>(x > z ? x : z)</strong> gets executed, it further checks the condition <strong>x > z</strong> . If the condition returns true the value of x is returned, else the value of z is returned.</p> <p>When the expression <strong>(y > z ? y : z)</strong> gets executed it further checks the condition <strong>y > z</strong> . If the condition returns true the value of y is returned, else the value of z is returned.</p> <p>Therefore, we get the largest of three numbers using the ternary operator.</p> <hr></z);>
Тернарен оператор
Значението на троичен се състои от три части. The троичен оператор (? :) се състои от три операнда. Използва се за оценка на булеви изрази. Операторът решава коя стойност ще бъде присвоена на променливата. Това е единственият условен оператор, който приема три операнда. Може да се използва вместо оператора if-else. Това прави кода много по-лесен, четим и по-кратък.
Забележка: Всеки код, използващ оператор if-else, не може да бъде заменен с троичен оператор.
Синтаксис:
масив от низове c програмиране
variable = (condition) ? expression1 : expression2
Горното твърдение гласи, че ако условието се върне вярно, израз1 се изпълнява, в противен случай израз2 се изпълнява и крайният резултат се съхранява в променлива.
Нека разберем троичния оператор чрез блок-схемата.
TernaryOperatorExample.java
public class TernaryOperatorExample { public static void main(String args[]) { int x, y; x = 20; y = (x == 1) ? 61: 90; System.out.println('Value of y is: ' + y); y = (x == 20) ? 61: 90; System.out.println('Value of y is: ' + y); } }
Изход
Value of y is: 90 Value of y is: 61
Нека видим друг пример, който изчислява най-голямото от три числа с помощта на троичния оператор.
LargestNumberExample.java
спаси от
public class LargestNumberExample { public static void main(String args[]) { int x=69; int y=89; int z=79; int largestNumber= (x > y) ? (x > z ? x : z) : (y > z ? y : z); System.out.println('The largest numbers is: '+largestNumber); } }
Изход
The largest number is: 89
В горната програма сме взели три променливи x, y и z със стойности съответно 69, 89 и 79. Изразът (x > y) ? (x > z ? x : z) : (y > z ? y : z) оценява най-голямото число сред три числа и съхранява крайния резултат в променливата largeNumber. Нека разберем реда на изпълнение на израза.
Първо, той проверява израза (x > y) . Ако върне true, изразът (x > z ? x : z) се изпълнява, в противен случай изразът (y > z ? y : z) се изпълнява.
Когато изразът (x > z ? x : z) се изпълнява, той допълнително проверява условието x > z . Ако условието върне вярно, се връща стойността на x, в противен случай се връща стойността на z.
Когато изразът (y > z ? y : z) се изпълнява, той допълнително проверява условието y > z . Ако условието върне true, се връща стойността на y, в противен случай се връща стойността на z.
Следователно получаваме най-голямото от три числа, използвайки троичния оператор.