Java の条件演算子は 3 つのオペランドを使用するもので、条件を処理するために使用されます。これは、If-Else ステートメントの代わりに使用される固有の演算子です。条件演算子の主な利点は、if-else ステートメントが複数のコード行を使用するのに対し、条件演算子は 1 文だけで完了できることです。ただし、条件演算子には欠点もあります。複数の条件には使用できません。つまり、複数行のコードを使用すると、プログラムが非常に複雑になり、理解するのが非常に難しくなります。条件演算子は、Java では三項演算子とも呼ばれます。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
Java では三項演算子または条件演算子を使用するための特定の構文があります。三項演算子を使用するための構文を以下に示します。一般に、条件演算子は main() 内で使用されるか、条件の実行後に特定の値を返すために使用される特定の関数内で使用されます。条件が実行されると、条件を満たす式が実行され、ユーザーのコマンドに従って返されるか出力されます。
変数=式1 ?式 2 : 式 3
上記の条件演算子は、If-Else ステートメントと同じように機能します。対応する if-else ステートメントを以下に示します。
構文:
if(Expression 1) { Variable= Expression 2; } else { Variable= Expression 3; }
フローチャート:
次に、条件演算子の例を示します。
例 1 では、三項演算子を使用して 2 つの数値のうち大きい方を確認します。数値である 2 つの変数の入力を確認し、そのコンテキストでどちらの数値が大きいかを確認します。以下に書かれた例を以下に示します。
コード:
// Java program to find largest among two numbers using ternary operator import java.io.*; class Ternary { public static void main(String[] args)throws IOException { // Taking user input of the variables BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter first number " ); int n1= Integer.parseInt(br.readLine()); System.out.println("Enter second number " ); int n2= Integer.parseInt(br.readLine()); int max;//Variable to store the larger of the two values // Larger among n1 and n2 max = (n1 > n2) ? n1 : n2; //Using ternary operator // Print the largest number System.out.println("Larger of the two numbers is " + max); } }
上記のコードでは、ユーザーから 2 つの数値を取得し、2 つの数値のうち大きい方を計算する操作がどのように実行されるかを示しています。この操作によって生成された 2 つの出力が表示されます。最初に (100,200) と数値を入力し、次に (500, 200) と数値を入力します。それに応じて出力が表示されます。
出力:
例 2 では、両方とも数値である 2 つの変数に対して実行される演算を示します。最初の数値が 2 番目の数値より大きい場合は、ユーザーが指定したとおりに両方の数値が加算されて出力されます。ただし、最初の数値が 2 番目の数値より小さい場合は、最初の数値から 2 番目の数値が減算され、結果が出力されます。
コード:
// Java code to illustrate ternary operator import java.io.*; class Ternary2 { public static void main(String[] args)throws IOException { // variable declaration int res; BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.println(" Enter First number: "); int n1= Integer.parseInt(br.readLine()); System.out.println(" Enter Second number: "); int n2= Integer.parseInt(br.readLine()); // Performing ternary operation res = (n1 > n2) ? (n1 + n2) : (n1 - n2);//Calculating the sum // Print the result System.out.println("Result = " + res); } }
この場合、単一の出力が表示されます。 (100,50) として 2 つの数値を入力します。最初の数値が 2 番目の数値より大きいため、プログラムは 2 つの変数の合計を出力する必要があります。以下にサンプル出力を示します。
出力:
3 番目の例では、ユーザーからの 3 つの数値の入力を確認し、3 つの数値のうち最大のものをチェックします。同様に、同様のロジックを使用して 3 つの数値のうちの最小値を見つけることができます。三項演算子を使用する利点は、プログラム内のコード量が大幅に節約され、コードが非常に高速かつスムーズに実行されることです。
コード:
//Program to Find greatest of three numbers using Conditional Operator import java.io.*; public class ConditionalOperator { public static void main(String[] args)throws IOException { int a,b,c,result; //Taking input from the user BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter the Three Number : "); //prompt for input a=Integer.parseInt(br.readLine()); //Read First number b=Integer.parseInt(br.readLine()); //Read Second number c=Integer.parseInt(br.readLine()); //Read third number //Calculate the result based on conditional operator result = (a>b)? ((a>c)?a:c) : ((b>c)?b:c); System.out.println( result + " is Greatest");//Printing the greatest number } }
ここで、3 つの数値 (100、200、300) を入力すると、プログラムが出力する 3 つの数値のうちの最大の数値が表示されます。プログラムによれば、3 つの数字のうち最大の数字が印刷され、最も大きい 300 がスムーズに印刷されます。したがって、プログラムは完全に実行されます。
出力:
例 4 では、ユーザーが入力した 3 つの数値のうち最小のものをチェックします。サンプルコードを以下に示します。
コード:
//Program to Find greatest of three numbers using Conditional Operator import java.io.*; public class ConditionalOperator { public static void main(String[] args)throws IOException { int a,b,c,result; //Taking input from the user BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter the Three Number : "); //prompt for input a=Integer.parseInt(br.readLine()); //Read First number b=Integer.parseInt(br.readLine()); //Read Second number c=Integer.parseInt(br.readLine()); //Read third number //Calculate the result based on conditional operator result = (a<b)? ((a<c)?a:c) : ((b<c)?b:c); System.out.println( result + " is Lowest");//Printing the greatest number } }
3 つの数字を入力し、その中の最小値を確認します。 3 つの数値は (25,50,75) で、以下の出力に示すように、最小の数値は 25 である必要があります。
出力:
この記事では、条件演算子のさまざまな側面を強調するさまざまなプログラムを紹介し、さまざまな機能と条件演算子を使用するさまざまな利点について説明します。条件演算子は、Java プログラミング言語でのプログラミングに関しては独特です。これらは If-Else 条件の置き換えであり、プログラムの条件に基づいてステートメントをスムーズに実行します。
以上がJavaの条件演算子の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。