ternary operator java tutorial with examples
このチュートリアルでは、さまざまなコード例を使用して、Javaの三項演算子とは何か、構文、およびJava三項演算子の利点について説明します。
Java演算子に関する以前のチュートリアルでは、条件演算子を含むJavaでサポートされているさまざまな演算子を見てきました。
このチュートリアルでは、条件演算子の1つである三項演算子についてすべて説明します。
=> ここで簡単なJavaトレーニングシリーズに注意してください。
学習内容:
Javaの三項演算子とは何ですか?
「Java演算子」のチュートリアルでは、Javaでサポートされている次の条件演算子を見てきました。
オペレーター | 説明 |
---|---|
&& | 条件付き-AND |
|| | 条件付き-または |
?: | 三項(if-then-elseステートメントの省略形) |
上記の条件演算子のうち、最初の2つ、つまり条件付きANDと条件付きORについては、論理演算子のチュートリアルですでに詳しく説明しています。
サポートされているもう1つの重要で一般的に使用される条件演算子は、三項演算子 ‘です。 ?: ’は、if-then-elseステートメントの省略形とも呼ばれます。
Java三項演算子の使用
このJava三項演算子を詳しく見てみましょう。
構文:
三項演算子の構文は次のとおりです。
resultValue = testConditionStatement ? value1 : value2;
上記のステートメントでは、
resultValue | これは、値が割り当てられる変数です |
---|---|
testConditionStatement | これは、ブール値、つまりtrueまたはfalseを返す評価されるテスト条件ステートメントです。 |
value1 | testConditionStatementが「true」と評価された場合、value1がresultValueに割り当てられます |
value2 | testConditionStatementが「false」と評価された場合、value2がresultValueに割り当てられます |
例えば、文字列resultString =(5> 1)? 「合格」:「不合格」;
上記の例では、三項演算子はテスト条件(5> 1)を評価し、trueを返した場合はvalue1、つまり「PASS」を割り当て、falseを返した場合は「FAIL」を割り当てます。 (5> 1)が真なので、 resultString 値は「PASS」として割り当てられます。
この演算子は次のように呼ばれます 三項演算子 三項演算子は3つのオペランドを使用するため、最初はtrueまたはfalseのいずれかに評価されるブール式です。2番目はブール式がtrueと評価されたときの結果であり、3番目はブール式がfalseと評価されたときの結果です。
Java三項演算子を使用する利点
前述のように、三項演算子は、if-then-elseステートメントの省略形とも呼ばれます。コードが読みやすくなります。
次のサンプルプログラムを使って見てみましょう。
三項演算子の例
例1:if-elseの代わりに三項演算子を使用する
単純なif-else条件を使用したサンプルプログラムを次に示します。
public class TernaryOperatorDemo1{ public static void main(String() args) { int x = 5; int y = 10; String resultValue = null; if(x>=y) { resultValue = 'x is greater than or maybe equal to y'; }else { resultValue = 'x is less than y'; } System.out.println(resultValue); //o/p is x is less than y } }
このプログラムは、次の出力を出力します。
xがyより小さい
それでは、同じコードを使用して同じコードを書き直してみましょう。 三項演算子 次のように。上記のプログラムでは、resultValueには、単純なifおよびelse条件での式(x> = y)の評価に基づいて値が割り当てられます。
public class TernaryOperatorDemo2{ public static void main(String() args) { int x = 5; int y = 10; String resultValue=(x>=y)?'x is greater than or maybe equal to y':'x is less than y'; System.out.println(resultValue); //o/p is x is less than y } }
次のif-elseコードブロックに注意してください TernaryOperatorDemo1 クラス:
ソフトウェアテストのベータテストとは
If(x>=y) { resultValue = 'x is greater than or maybe equal to y'; }else { resultValue = 'x is less than y'; }
これは、次の1行に置き換えられます。 TernaryOperatorDemo2 クラス:
String resultValue =(x> = y)?” xはyより大きいか、おそらく等しい”:” xはyより小さい”;
このプログラムは、とまったく同じ出力を出力します。 TernaryOperatorDemo1 クラス:
xがyより小さい
これは、コードの数行で意味が変わるようには見えない場合があります。しかし、実際のシナリオでは、if-else条件は通常それほど単純ではありません。通常、if-else-ifステートメントを使用する必要があります。このようなシナリオでは、三項演算子を使用すると、コードの行数に大きな違いが生じます。
例2:if-else-ifの代わりに三項演算子を使用する
つまり、複数の条件を持つ三項演算子
if-else-ifラダーの代わりに三項演算子を使用する方法を見てみましょう。
次のJavaサンプルコードについて考えてみます。
public class TernaryOperatorDemo3{ public static void main(String() args) { int percentage=70; if(percentage>=60){ System.out.println('A grade'); }else if(percentage>=40){ System.out.println('B grade'); }else { System.out.println('Not Eligible'); } } }
上記のサンプルでは、if-else-if条件を使用して、パーセンテージを比較することにより適切なコメントを出力しています。
このプログラムは、次の出力を出力します。
成績
OSIモデルのどの層がデータ暗号化に対応していますか?
それでは、同じコードを使用して同じコードを書き直してみましょう。 三項演算子 次のように:
public class TernaryOperatorDemo4{ public static void main(String() args) { int percentage=70; String resultValue = (percentage>=60)?'A grade':((percentage>=40)?'B grade':'Not Eligible'); System.out.println(resultValue); } }
次のif-else-ifコードブロックに注意してください TernaryOperatorDemo3 クラス:
if(percentage>=60){ System.out.println('A grade'); }else if(percentage>=40){ System.out.println('B grade'); }else { System.out.println('Not Eligible'); }
これは、次の1行に置き換えられます。 TernaryOperatorDemo4 クラス:
String resultValue =(percentage> = 60)?” A grade”:((percentage> = 40)?” B grade”:” Not Eligible”);
このプログラムは、とまったく同じ出力を出力します。 TernaryOperatorDemo3 クラス:
このプログラムは、次の出力を出力します。
成績
例3:switch-caseの代わりに三項演算子を使用する
ここで、switch-caseステートメントを使用したもう1つのシナリオを考えてみましょう。
次のサンプルコードでは、switch-caseステートメントを使用して、String変数に割り当てられる値を評価しています。つまり、色の値は、switch-caseステートメントを使用してcolorCode整数値に基づいて割り当てられます。
以下にサンプルJavaコードを示します。
public class TernaryOperatorDemo5{ public static void main(String() args) { int colorCode = 101; String color = null; switch(colorCode) { case 100 : color = 'Yellow'; break; case 101 : color = 'Green'; break; case 102 : color = 'Red'; break; default : color = 'Invalid'; } System.out.println('Color --->'+color); } }
このプログラムは、次の出力を出力します。
色—>緑
では、どのように 三項演算子 ここでは、コードを単純化するのに役立ちます。それで、同じコードを使って書き直しましょう 三項演算子 次のように:
public class TernaryOperatorDemo6{ public static void main(String() args) { int colorCode = 101; String color = null; color=(colorCode==100)?'Yellow':((colorCode==101)?'Green':((colorCode==102)?'Red':'Invalid')); System.out.println('Color --->'+color); } }
次のswitch-caseコードブロックに注意してください TernaryOperatorDemo5 クラス:
switch(colorCode) { case 100 : color = 'Yellow'; break; case 101 : color = 'Green'; break; case 102 : color = 'Red'; break; default : color = 'Invalid'; }
これは、次の1行に置き換えられます。 TernaryOperatorDemo6 クラス:
color =(colorCode == 100)?” Yellow”:((colorCode == 101)?” Green”:((colorCode == 102)?” Red”:” Invalid”));
このプログラムは、とまったく同じ出力を出力します。 TernaryOperatorDemo5 :
このプログラムは、次の出力を出力します。
色—>緑
Android用スパイアプリのリスト
よくある質問
Q#1)例を使用してJavaで三項演算子を定義します。
回答: Java三項演算子は、次の構文を持つ条件演算子です。
resultValue = testConditionStatement ? value1 : value2;
ここに resultValue として割り当てられます value1 または value2 に基づく testConditionStatement 評価値はそれぞれtrueまたはfalseです。
例えば 、 文字列の結果=(-1> 0)? 'はい・いいえ';
結果には、(-1> 0)がtrueと評価された場合は「yes」、(-1> 0)がfalseと評価された場合は「no」として値が割り当てられます。この場合、条件はtrueであるため、結果に割り当てられる値は「yes」です。
Q#2)Javaで三項条件をどのように記述しますか?
回答: 名前が示すように、三項演算子は次のように3つのオペランドを使用します。
resultValue = testConditionStatement ? value1 : value2;
testConditionStatementは、ブール値を返すテスト条件です。
value1:testConditionStatementがtrueを返したときに割り当てられる値
value2:testConditionStatementがfalseを返したときに割り当てられる値
例えば 、 文字列の結果=(-2> 2)? 'はい・いいえ';
Q#3)三項演算子の使用法と構文は何ですか?
回答: Java Ternary演算子は、次の構文に従います。
resultValue = testConditionStatement ? value1 : value2;
三項演算子は、if-then-elseステートメントの省略形として使用されます
Q#4)三項演算子は、場合よりも高速ですか?
回答: 三項を使用するようにロジックを変換するために追加の計算が必要なくなるまで、三項はif-elseよりも高速です。また、コードの可読性も向上します。
Q#5)三項演算子はどのように機能しますか?
回答: 三項演算子は3つのオペランドを取ります。最初の引数はブール値を返すテスト条件であり、2番目は返されたブール値がtrueの場合に割り当てられる値、3番目は返されたブール値がfalseの場合に割り当てられる値です。
結論
このチュートリアルでは、三項演算子について説明しました。 ?: 詳細に。
三項演算子の構文と、サンプルプログラムの助けを借りてif-then-elseステートメントの省略形として呼び出される理由を見てきました。また、switch-caseステートメントを使用してコードの可読性を高めることがどのように役立つかを見てきました。
= >>もお読みください C#の三項演算子
=> ゼロからJavaを学ぶには、ここにアクセスしてください。