Java'da, koşullu operatörler koşulu kontrol eder ve her iki koşulu temel alarak istenen sonuca karar verir. Bu bölümde şunları tartışacağız: Java'da koşullu operatör.
Koşullu Operatör Türleri
Üç tür koşul vardır Java'da operatör :
- Koşullu VE
- Koşullu VEYA
- Üçlü operatör
Şebeke | Sembol |
---|---|
Koşullu veya Mantıksal VE | && |
Koşullu veya Mantıksal VEYA | || |
Üçlü operatör | ?: |
Koşullu VE
Operatör iki Boolean ifadesi arasına uygulanır. İki AND operatörü (&&) ile gösterilir. Yalnızca her iki ifadenin de doğru olması durumunda doğru değerini döndürür, aksi takdirde yanlış değerini döndürür.
t flip flop
İfade1 | İfade2 | İfade1 && İfade2 |
---|---|---|
Doğru | YANLIŞ | YANLIŞ |
YANLIŞ | Doğru | YANLIŞ |
YANLIŞ | YANLIŞ | YANLIŞ |
Doğru | Doğru | Doğru |
Koşullu VEYA
Operatör iki Boolean ifadesi arasına uygulanır. İki OR operatörü (||) ile gösterilir. İfadelerden herhangi biri doğruysa true değerini döndürür, aksi takdirde false değerini döndürür.
İfade1 | İfade2 | İfade1 || İfade2 |
---|---|---|
Doğru | Doğru | Doğru |
Doğru | YANLIŞ | Doğru |
YANLIŞ | Doğru | Doğru |
YANLIŞ | YANLIŞ | YANLIŞ |
Bir Java programı oluşturalım ve koşullu operatörü kullanalım.
Koşullu OperatörÖrnek.java
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);>
Üçlü operatör
Anlamı üçlü üç bölümden oluşmaktadır. üçlü operatör (? :) üç işlenenden oluşur. Boolean ifadelerini değerlendirmek için kullanılır. Değişkene hangi değerin atanacağına operatör karar verir. Üç işleneni kabul eden tek koşullu operatördür. if-else ifadesi yerine kullanılabilir. Kodu çok daha kolay, okunabilir ve kısa hale getirir.
Not: if-else ifadesini kullanan her kod, üçlü bir operatörle değiştirilemez.
Sözdizimi:
variable = (condition) ? expression1 : expression2
Yukarıdaki ifade, koşulun geri dönmesi durumunda doğru, ifade1 idam edilir, aksi takdirde ifade2 yürütülür ve nihai sonuç bir değişkende saklanır.
Üçlü operatörü akış şeması üzerinden anlayalım.
ÜçlüOperatörExample.java
armstrong numarası
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); } }
Çıktı
Value of y is: 90 Value of y is: 61
Üçlü operatörü kullanarak üç sayıdan en büyüğünü hesaplayan başka bir örneğe bakalım.
En BüyükSayıExample.java
1. derece mantık
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); } }
Çıktı
The largest number is: 89
Yukarıdaki programda sırasıyla 69, 89 ve 79 değerlerine sahip üç x, y ve z değişkenini aldık. İfade (x > y) ? (x > z ? x : z) : (y > z ? y : z) üç sayı arasından en büyüğünü değerlendirir ve nihai sonucu en büyükNumber değişkeninde saklar. İfadenin yürütme sırasını anlayalım.
İlk önce ifadeyi kontrol eder (x > y) . Eğer ifade true değerini döndürürse (x > z ? x : z) idam edilir, aksi takdirde ifade (y > z ? y : z) idam edilir.
İfade ne zaman (x > z ? x : z) idam edilir, ayrıca durumu kontrol eder x > z . Koşul doğruysa x'in değeri, aksi takdirde z'nin değeri döndürülür.
İfade ne zaman (y > z ? y : z) idam edilir ve durumu tekrar kontrol eder y > z . Koşul true değerini döndürürse y'nin değeri döndürülür, aksi takdirde z'nin değeri döndürülür.
Bu nedenle üçlü operatörü kullanarak üç sayıdan en büyüğünü elde ederiz.