Java の三項演算子

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Java で三項演算子を使って if-else 文を置き換える方法を学びます。三項演算子は、条件付き文を 1 行で記述するために使われ、コードをクリーンで読みやすくします。三項演算子の使い方と、それをネストする方法を学びます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java/BasicSyntaxGroup -.-> java/operators("Operators") java/BasicSyntaxGroup -.-> java/booleans("Booleans") java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/BasicSyntaxGroup -.-> java/output("Output") subgraph Lab Skills java/operators -.-> lab-117991{{"Java の三項演算子"}} java/booleans -.-> lab-117991{{"Java の三項演算子"}} java/if_else -.-> lab-117991{{"Java の三項演算子"}} java/output -.-> lab-117991{{"Java の三項演算子"}} end

三項演算子の構文

三項演算子は、if-else 文を書く短縮形です。三項演算子の構文は以下の通りです。

variable = (condition)? expression1 : expression2;

ここで、condition は評価されるブール式で、expression1conditiontrue の場合に variable に割り当てられる値で、expression2conditionfalse の場合に variable に割り当てられる値です。

例を見てみましょう。

int num1 = 50;
int num2 = 100;
int result;

result = (num1 > num2)? num1 : num2;
System.out.println(result);

出力:

100

上の例では、num1num2 より大きい場合、result の値は num1 になり、それ以外の場合、result の値は num2 になります。

if-else 文を置き換えるための三項演算子の使用

if-else 文を置き換えるために三項演算子を使用できます。ここに、if-else 文を使って人が投票できる資格を判定するコード例があります。

int age = 18;
String message;

if (age >= 18) {
    message = "You are eligible to vote";
} else {
    message = "You are not eligible to vote";
}

System.out.println(message);

出力:

You are eligible to vote

上記のコードを、三項演算子を使った 1 行のコードに置き換えることができます。以下の通りです。

int age = 18;

String message = (age >= 18)? "You are eligible to vote" : "You are not eligible to vote";

System.out.println(message);

出力:

You are eligible to vote

三項演算子のネスト

三項演算子をネストして複雑な条件付き文を書くこともできます。ここに、数値の符号を判定するためにネストされた if-else 文を使ったコード例があります。

int num = -10;
String sign;

if (num > 0) {
    sign = "Positive";
} else if (num < 0) {
    sign = "Negative";
} else {
    sign = "Zero";
}

System.out.println(sign);

出力:

Negative

上記のコードを、ネストされた三項演算子を使った 1 行のコードに置き換えることができます。以下の通りです。

int num = -10;

String sign = (num > 0)? "Positive" : (num < 0)? "Negative" : "Zero";

System.out.println(sign);

出力:

Negative

まとめ

この実験では、Java で if-else 文を置き換えるために三項演算子をどのように使うかを学びました。また、複雑な条件付き文に対して三項演算子をどのようにネストするかも学びました。ただし、三項演算子にはいくつかの制限があり、単純な if-else 文にのみ使用できます。