ホームページ > Java > &#&チュートリアル > Java 三項演算子とは何か、またその使用方法

Java 三項演算子とは何か、またその使用方法

PHPz
リリース: 2023-04-19 10:04:08
転載
2446 人が閲覧しました

Java は、特定のタイプの if-then-else ステートメントを置き換えるためによく使用される特別な三項演算子 (三項演算子とも呼ばれる) を提供します。条件演算子の記号は「?:」で、この演算子を使用する場合はオペランドが 3 つ必要となるため、三項演算子と呼ばれます。条件演算子を使用するための一般的な構文構造は次のとおりです。

result=

ここで、expression はブール式です。式が true の場合は、statement1 が実行され、それ以外の場合は、statement3 が実行されます。この三項演算子には結果が返される必要があるため、単純なバイナリ プログラムを実装するには、この条件演算子を使用できます。

次に、条件演算子の使用例を示します。

intx,y,z;

x=6,y=2;

z=x>y?x-y:x y;

ここへz の値を計算するには、まず x > y で表される値を決定します。真の場合、z の値は x-y であり、そうでない場合、z の値は x y です。明らかに、x>y 式は true と評価されるため、z の値は 4 になります。

ヒント: 条件演算子は、if-else ステートメントの簡略化された形式として理解できます。より単純な式を使用する場合、この演算子を使用すると、プログラム コードが簡略化され、プログラムが読みやすくなります。

条件演算子を使用する場合は、優先順位の問題にも注意する必要があります。

たとえば、次の式:

x>y?x-=y:x =y ;

条件演算子は代入演算子よりも優先されるため、コンパイル中に構文エラーが発生します。上記のステートメントは実際には次と同等です:

(x>y?x-=y:x) ) =y;

演算子「=」は代入演算子であり、左側のオペランドが変数である必要があるため、エラーが発生します。このようなエラーを避けるために、括弧「0」を使用して区別することができます。たとえば、次のような表現が正しいです。

(x>y)?(x-=y):(x =y);

例 1

3 つの変数 x、y、z、およびユーザーはキーボードから x の値を入力し、条件演算子を使用して変数 y と変数 z に値を割り当てます。実装コードは次のとおりです:

publicclassTest9{

publicstaticvoidmain(String[]args){

intx,y,z;//3 つの変数を宣言

System.out.print("数字を入力してください:");

Scannerinput=newScanner(System.in);

x=input.nextInt();//入力 x by the user The value of

// x の値が 5 より大きいかどうかを判断し、y=x の場合は y=-x

y=x>5?x: -x;

//z=yの場合はyの値がxより大きいかどうか、そうでない場合はz=5

z=y>x?y:5;

System.out.printf(" x=%d\n",x);

# System.out.printf("y=%d\n",y);

# System.out.printf("z= %d\n",z);

}

}

このプログラムでは、まず x の値を次のように入力します。 58 を調べてから、 x の値が 5 より大きいかどうかを判断し、明らかに条件が true であれば、 y の値は x、つまり y=58 になります。次に、y の値が x より大きいかどうかを確認します。y の値と x の値は両方とも 58 であるため、この条件は真ではなく、z=5 となります。 x の値を 4 と再度入力し、x の値が 5 より大きいかどうかを判断し、そうでない場合は y=-4、次に y の値が x より大きいかどうかを判断し、大きいかどうかを判断します。が真でない場合、z=5。

以上がJava 三項演算子とは何か、またその使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート