у Јави, условни оператори провери услов и одлучује о жељеном резултату на основу оба услова. У овом одељку ћемо разговарати о условни оператор у Јави.
Типови условног оператора
Постоје три врсте кондиционала оператор у Јави :
- Цондитионал АНД
- Условно ИЛИ
- Тернарни оператер
Оператер | Симбол |
---|---|
Условно или логичко И | && |
Условно или логичко ИЛИ | || |
Тернарни оператер | ?: |
Цондитионал АНД
Оператор се примењује између два Булова израза. Означава се са два АНД оператора (&&). Враћа тачно ако и само ако су оба израза тачна, иначе враћа нетачно.
Израз1 | Екпрессион2 | Израз1 && Израз2 |
---|---|---|
Истина | Фалсе | Фалсе |
Фалсе | Истина | Фалсе |
Фалсе | Фалсе | Фалсе |
Истина | Истина | Истина |
Условно ИЛИ
Оператор се примењује између два Булова израза. Означава се са два ИЛИ оператора (||). Враћа тачно ако је било који од израза тачан, иначе враћа нетачно.
Израз1 | Екпрессион2 | Израз1 || Екпрессион2 |
---|---|---|
Истина | Истина | Истина |
Истина | Фалсе | Истина |
Фалсе | Истина | Истина |
Фалсе | Фалсе | Фалсе |
Хајде да направимо Јава програм и користимо условни оператор.
ЦондитионалОператорЕкампле.јава
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);>
Тернарни оператер
Значење тернарни састављен је из три дела. Тхе тернарни оператор (? :) састоји се од три операнда. Користи се за процену Булових израза. Оператор одлучује која ће вредност бити додељена променљивој. То је једини условни оператор који прихвата три операнда. Може се користити уместо наредбе иф-елсе. То чини код много лакшим, читљивијим и краћим.
Напомена: Сваки код који користи наредбу иф-елсе не може се заменити тернарним оператором.
Синтакса:
variable = (condition) ? expression1 : expression2
Горња изјава каже да ако се стање врати истина, израз1 бива погубљен, иначе тхе израз2 се извршава и коначни резултат се чува у променљивој.
Хајде да разумемо тернарни оператор кроз дијаграм тока.
ТернариОператорЕкампле.јава
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
Хајде да видимо још један пример који процењује највећи од три броја користећи тернарни оператор.
ЛаргестНумберЕкампле.јава
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
У горњем програму узели смо три променљиве к, и и з које имају вредности 69, 89 и 79, респективно. Израз (к > и) ? (к > з ? к : з) : (и > з? и : з) процењује највећи број од три броја и смешта коначни резултат у променљиву највећи број. Хајде да разумемо редослед извршења израза.
бинарно дрво
Прво, проверава израз (к > и) . Ако врати тачно израз (к > з ? к : з) се извршава, иначе израз (и > з? и : з) бива погубљен.
Када израз (к > з ? к : з) се извршава, даље проверава услов к > з . Ако услов врати тачно вредност к се враћа, у супротном се враћа вредност з.
Када израз (и > з? и : з) се извршава даље проверава услов и > з . Ако услов врати тачно вредност и се враћа, у супротном се враћа вредност з.
Дакле, добијамо највећи од три броја користећи тернарни оператор.