Javaの三項演算子(条件 ? 真 : 偽)の使い方を覚えよう!初心者向け解説
新人
「先輩、Javaで条件によって値を分けて代入する方法ってありますか?」
先輩
「Javaでは、三項演算子を使うことで、条件によって値を分けて代入することができますよ。」
新人
「三項演算子ってどんな書き方をするんですか?」
先輩
「それでは、基本的な書き方を確認してみましょう!」
1. 三項演算子とは?基本の書き方を理解しよう
Javaの三項演算子は、条件式の結果によって、二つの値のうちどちらか一方を選ぶ仕組みを持つ便利な演算子です。三項演算子は、条件式の結果がtrueかfalseかによって返す値が決まります。
書き方の基本は、次の通りです。
条件式 ? 値1 : 値2
ここで、「条件式」がtrueの場合は「値1」が返され、「false」の場合は「値2」が返されます。式全体が値になるので、変数への代入や出力などに直接使えます。
例えば、「ある点数が合格か不合格か」を判断する処理を作るときに便利です。
2. 三項演算子を使うメリット
三項演算子を使うと、条件分岐をシンプルに書けるという大きなメリットがあります。通常のif文で書くと複数行になる条件分岐も、三項演算子を使えば1行で書けるため、コードがすっきりして読みやすくなります。
例えば、条件によって変数に代入する値を変えたいときに役立ちます。
また、三項演算子は値として結果を返すので、そのままSystem.out.println()などに渡すこともできます。条件によって表示するメッセージを切り替えるときなどにも便利です。
ただし、三項演算子を使いすぎると、逆に読みづらくなる場合もあります。条件が簡単なときに使うと便利です。
3. 簡単な三項演算子の例を見てみよう
では、実際にJavaで三項演算子を使った簡単な例を見てみましょう。例えば、ある点数が60点以上なら「合格」、60点未満なら「不合格」と表示するプログラムを書きます。
public class TernaryExample {
public static void main(String[] args) {
int score = 75;
String result = (score >= 60) ? "合格" : "不合格";
System.out.println("判定結果: " + result);
}
}
このプログラムでは、score >= 60の条件がtrueなら「合格」、そうでないなら「不合格」としてresultに代入されます。実行結果は以下のようになります。
判定結果: 合格
このように、条件式・真の場合の値・偽の場合の値を順番に書くことで、コンパクトに条件分岐の処理を書けるのが三項演算子のポイントです。
もちろん、条件や返す値を自分で自由に書き換えられます。次に、別の例として「偶数・奇数の判定」を三項演算子で書いてみましょう。
public class EvenOddExample {
public static void main(String[] args) {
int number = 9;
String result = (number % 2 == 0) ? "偶数" : "奇数";
System.out.println("判定結果: " + result);
}
}
この例では、number % 2 == 0の条件で、trueなら「偶数」、falseなら「奇数」と判定しています。実行結果は以下の通りです。
判定結果: 奇数
このように、三項演算子を使えば、条件によって結果を切り替えられる柔軟なプログラムが簡単に書けます。初心者のうちは、条件がシンプルなときに三項演算子を活用して、コードを分かりやすくする練習をしてみてください。
4. 三項演算子を使った応用例
三項演算子は、簡単な条件分岐だけでなく、ちょっとした工夫でより実用的な使い方ができます。例えば、画面に表示するメッセージを条件によって切り替えたいときに活躍します。
ここでは、年齢によって表示するメッセージを変えるプログラムの例を紹介します。
public class AgeMessageExample {
public static void main(String[] args) {
int age = 20;
String message = (age >= 18) ? "成人です" : "未成年です";
System.out.println("あなたの年齢: " + age + "歳");
System.out.println("メッセージ: " + message);
}
}
このプログラムでは、ageが18歳以上かどうかでメッセージを切り替えています。実行結果は以下のようになります。
あなたの年齢: 20歳
メッセージ: 成人です
さらに、画面に表示するだけでなく、三項演算子を使って計算結果を変える例もあります。たとえば、ある商品の値段に割引を適用するかどうかを条件で分けて計算できます。
public class DiscountExample {
public static void main(String[] args) {
int price = 5000;
boolean isMember = true;
int finalPrice = isMember ? (int)(price * 0.9) : price;
System.out.println("会員ですか? " + isMember);
System.out.println("最終価格: " + finalPrice + "円");
}
}
この例では、会員の場合に10%割引を適用し、非会員なら割引なしの価格を表示します。条件がシンプルなときは、こうした計算でも三項演算子を活用できます。
5. 三項演算子を使うときの注意点
三項演算子は便利ですが、いくつか注意点があります。まず、条件が複雑すぎる場合には使わない方がいいです。条件式や返す値が長すぎると、かえって見づらくなり、エラーの原因にもなりやすいです。
また、三項演算子は結果が値として使われるのがポイントです。条件によって処理内容そのものを切り替えるのではなく、条件によって返す値を切り替えたいときに使います。
条件式や返す値の中にさらに別の条件分岐が必要な場合は、if文で丁寧に書く方が安全です。プログラムの可読性や保守性を考えて、三項演算子を使う場面を選ぶのが大切です。
6. 繰り返し練習して三項演算子をマスターしよう
三項演算子の使い方は、基本的には条件式 ? 真の値 : 偽の値という形をしっかり覚えておくのがコツです。最初は簡単な条件分岐から始めて、何度も繰り返し書くことで自然に身につきます。
自分で好きな例題を作りながら練習していくと、三項演算子の使い方に慣れていけます。例えば、数字の大小を比べる、小数点以下を四捨五入するなど、いろいろな場面で試してみましょう。
三項演算子は条件がシンプルなときに非常に便利です。「条件で値を選ぶ」という考え方を意識して、積極的に使っていくうちに、コードの見通しを良くする力になります。