ユーザーから入力を受け取ったとき、その入力が正しい形式かどうかをチェックする。ユーザーが特定の操作を行う前に適切な権限を持っているかどうかを判断する。プレイヤーのスコア、HP、またはゲームの状態に応じて異なるシナリオを展開する。
このような様々な場面で用いられるのがJavaのif文です。if文は、指定した条件が真(true)か偽(false)かを判定し、その結果に基づいて異なるアクションを行うための基本的な構文です。
このページでは初心者がif文(if~else)について理解すべき主なポイントを5つに絞って3分で分かりやすく解説していきます。
関連 Javaの1stステップ:基本的な構文ルールを復習する
ポイント1:条件の設定
if文は、指定した条件が「真(true)」かどうかを判断するために利用します。#条件は括弧()
内に記述。→例えば、ある変数age
が18以上であるかどうかをチェックする場合は以下の通り。
if (age >= 18) { // 条件が真のときに実行されるコード }
この例では、age >= 18
が条件です。この条件が「真=つまりageという変数が18以下」ならば、if文の中のコードが実行されます。>=
は「以上」という意味の比較演算子です。
条件は複数設定することができます。例えばAかつB,AまたはBなどのように。
これについてはポイント5で解説します。
ポイント2:コードブロック
条件が真である場合に実行されるコードを波括弧{}
で囲みます。この部分をコードブロックと言います。例えば、年齢が18歳以上の場合に「あなたは成人です」と表示したい場合、Javaのコードは↓のように感じになります。
if (age >= 18) { System.out.println("あなたは成人です"); }
System.out.println("あなたは成人です");
は、条件age >= 18
が真の時だけ実行されます。
ポイント3:else文(オプション)
条件が偽(false)の場合に何かを実行したい場合の処理も記述することもできます。その際はelse
を使い、if文の直後にelse
ブロックを追加して、条件が偽の時に実行されるコードを書きます。
if (age >= 18) { System.out.println("あなたは成人です"); } else { System.out.println("あなたは未成年です"); }
↑のコードを実行すると、age
が18未満であれば、「あなたは未成年です」と表示されます。
ポイント4:比較演算子
他のプログラミング言語同様、比較演算子を使って数値や変数の比較を行います。
比較演算子とは、2つの値を比較しその比較結果が真(true)か偽(false)かを判定するために使われる特殊な記号や演算子のこと。以下がその一覧です。
#普通に数学を勉強していればどれも直感的に理解できるものです。
演算子 | 説明 | 例 | 結果 |
---|---|---|---|
== | 等しい | 5 == 5 | true |
!= | 等しくない | 5 != 4 | true |
< | より小さい | 3 < 5 | true |
> | より大きい | 10 > 7 | true |
<= | 以下(以下) | 5 <= 5 | true |
>= | 以上(以上) | 5 >= 4 | true |
これらの演算子を使って、プログラム内で数値や他のデータ型の比較を行うことができます。
public class ComparisonExample { public static void main(String[] args) { int a = 5; int b = 10; // 等しい System.out.println("a == b: " + (a == b)); // 出力: a == b: false // 等しくない System.out.println("a != b: " + (a != b)); // 出力: a != b: true // より小さい System.out.println("a < b: " + (a < b)); // 出力: a < b: true // より大きい System.out.println("a > b: " + (a > b)); // 出力: a > b: false // 以下 System.out.println("a <= b: " + (a <= b)); // 出力: a <= b: true // 以上 System.out.println("a >= b: " + (a >= b)); // 出力: a >= b: false } }
ポイント5:論理演算子(AND/OR/NOT)
複数の条件を組み合わせたい場合は、論理演算子を使用します。論理演算子とは、条件を組み合わせたり、条件を反転させたりするために使われる特殊な記号や演算子です。これらを用いることで複数の条件を1つの式にまとめたり、条件の真偽を変えたりすることが可能です。
論理演算子は、どのプログラミング言語においても活躍するもので、知っておくと非常に役立ちます。
演算子 | 名称 | 説明 |
---|---|---|
&& | 論理積(AND) | すべての条件が真(true)であれば真。(つまり、AかつB。) |
|| | 論理和(OR) | 少なくとも一つの条件が真であれば真。(つまり、AまたはB。) |
! | 論理否定(NOT) | 条件の真偽を反転(つまり、〇〇ではない)。 |
以下のJavaのコードは、上記の論理演算子を使って複数の条件を評価する方法のサンプル。この例では、特定の条件下で異なるメッセージを表示します。
public class LogicalOperatorsDemo { public static void main(String[] args) { int age = 20; boolean isStudent = true; boolean hasTicket = false; // 論理積(AND)の例 if (age > 18 && isStudent) { System.out.println("You are an adult student."); } // 論理和(OR)の例 if (isStudent || hasTicket) { System.out.println("You can enter the student event."); } // 論理否定(NOT)の例 if (!hasTicket) { System.out.println("You need a ticket to enter."); } } }
最初のif文では、年齢が18歳を超えているかつ学生であるかを確認します(&&
)。両方の条件が真のときに「You are an adult student.」と表示されます。
2番目のif文では、学生であるかチケットを持っているかのどちらか一方が真であれば「You can enter the student event.」と表示されます(||
)。
同様に最後のif文では、チケットを持っていないかを確認し(!
)、その条件が真であれば「You need a ticket to enter.」と表示されます。
if文の基本はこれだけ。特に、論理演算子(AND/OR)とかの使い方に迷う人がいるかもしれませんが、躓きやすいのはその辺だけです。
合わせて確認! Java:Switch文による条件分岐のコツを3分で解説