Java if 文の条件分岐はプログラム開発でよく使います。
しかし、Java if文の書き方は多種類あり、完璧に覚えるのは難しいです。
そこでJava開発初心者の方向けに、if文の書き方を解説していきます。
本記事を読めば、Java if文の書き方・使い方を理解でき、すぐに開発作業に移ることが可能です。
Java初心者の方には有益な記事なので、ぜひ参考にしてみてください。
Javaのifとは
Javaのif文は条件分岐の際に使用します。
条件分岐とは文字通り、条件ごとに処理を分岐させることです。
具体例をあげて詳しく説明します。
数値「1」が代入された変数を A と設定し、条件分岐させましょう。
すると、「もし変数Aが 1 だったら変数Aの中身を出力し、変数Aが 1 以外だったら変数Aに 1 を代入」という処理の分岐が可能です。
このように if文は条件に合致するかどうかで処理を分岐させます。
ifの基本構文
if文の基本構文をご紹介します。
基本的な構文はどのプログラミング言語でも同じです。
そのためifの基本構文を頭に入れておくと、他の言語にも容易に応用ができます。
ifの基本構文は次のようになります。
if( 条件式 ){
条件式が true 時の処理
}
条件式が合致していれば true となり、中括弧 { } で囲った処理が実施されます。
条件式が合致していないと false となり、処理は何も実施されません。
では次に else if を含めた if文を紹介します。
if( 条件式① ){
条件式①が true 時の処理
} else if( 条件式② ) {
条件式②が true 時の処理
}
else if を使用すると、分岐条件を増やすことが可能です。
しかしコードの保守性の面を考えて、増やしすぎには注意しましょう。
また else だけにするやり方もあります。
条件式①が合致しない場合にのみ、特定の処理をしたい時に使えるので覚えておきましょう。
if( 条件式① ){
条件式①が true 時の処理
} else {
処理
}
基本的なJava if文の書き方
if文の基本構文をおさえたところで、次によく使うJava if文の書き方を解説します。
主に次のようなケースでの Java if文の使い方をまとめました。
- 文字列の比較
- 数値の比較
文字列同士の比較は、2 つのやり方があるので両方の解説をします。
- String クラスの equals メソッドを使う
- 比較演算子 「==」を使う
「equals」を用いた文字列の比較
まずは String クラスの equals メソッドを使った比較方法についてです。
String food = "meet";
String fruit = "banana";
if (food.equals(fruit)) {
System.out.println("foodとfruitは一緒です。");
} else {
System.out.println("foodとfruitは違います。");
}
上記の場合、変数 food と変数 fruit の文字列は異なるので、出力結果は「foodとfruitは違います。」です。
「food.equals(fruit)」のように、引数部分(fruit)と呼び出し元(food)の文字列の値が一緒かどうかを比較しています。
「==」を用いた文字列の比較
「==」を用いた文字列の比較は可能ですが注意が必要です。
文字列は「String food = “meet”;」のように宣言されると、メモリ上に文字列を格納する場所が確保されます。
food や fruit が保持しているのは、こうした格納場所です。
food や fruit を使う際は、文字列が格納されたメモリの場所をたどって値を引っ張り出しています。
この参照という仕組みがあるため「==」を用いた比較は、文字列の値が一緒かどうかではなく文字列がメモリ上で格納されている場所が一緒かどうかの比較です。
そのため文字列だけを比較したい場合は、equals を使用しましょう。
数値の比較
Java if文による数値の比較は「比較演算子」を使用します。
よく使われる比較演算子は次の通りです。
- a==b:aとbは等しい
- a!=b:aとbは等しくない
- a < b:aはbより小さい
- a<=b:aはb以下
- a > b:aはbより大きい
- a > =b:aはb以上
演算子の左側の値と、右側の値を比較する時に比較演算子を使います。
int number = 100;
if (number < 200) {
System.out.println(number + "は200より小さい値です");
}
if (number > 10) {
System.out.println(number + "は10より小さい値です");
}
if (number <= 100) {
System.out.println(number + "は100以下の値です");
}
if (number >= 100) {
System.out.println(number + "は100以上の値です");
}
if (number == 100) {
System.out.println(number + "は100です");
}
if (number != 200) {
System.out.println(number + "は200ではありません");
}
実行結果は次の通りです。
100は200より小さい値です
100は10より小さい値です
100は100以下の値です
100は100以上の値です
100は100です
100は200ではありません
複数条件におけるif文の書き方
論理演算子を組み合わせることで、複数の条件式を使って細かい分岐ができます。
論理演算子 | 記述方式 | 意味 |
---|---|---|
AND | A && B | AとBがtrueなら全体条件式はtrue |
OR | A || B | AまたはBがtrueなら全体条件式はtrue |
論理演算子を使えば、複数の条件式を繋げて実現できます。
int number = 100;
if ((number < 200) || (number >= 150)) {
System.out.println(number + "は150以上または200未満の値です");
}
if ((number < 200) && (number >= 150)) {
System.out.println(number + "は150以上かつ200未満の値です");
}
実行結果は下の通りです。
150は150以上または200未満の値です
最初の if 文では「(number < 200)」と「(number >= 100)」のどちらかを満たせば処理が実行されます。
2つ目の if 文では「(number < 200)」と「(number >= 100)」の両方を満たす必要があるので、処理は実行されません。
【一覧】Javaのif文で使用する比較演算子・論理演算子
Java if文で使える比較演算子と論理演算子を整理しましょう。
簡単に見返せるよう表にまとめました。
== | if(A == B){処理内容} | AとBが同じ値の時に「処理内容」が実行される |
!= | if(A != B){処理内容} | AとBが異なる値の時に「処理内容」が実行される |
< | if(A < B){処理内容} | AがBよりも小さい値の時に「処理内容」が実行される |
<= | if(A <= B){処理内容} | AがB以下の時に「処理内容」が実行される |
> | if(A > B){処理内容} | AがBよりも大きい値の時に「処理内容」が実行される |
>= | if(A >= B){処理内容} | AがB以上の時に「処理内容」が実行される |
AND | if(AD){処理内容} | AがBより小さいかつ、CがDよりも大きい時に「処理内容」が実行される |
OR | if(AD){処理内容} | AがBよりも小さいまたは、CがDよりも大きい時に「処理内容」が実行される |
! | if(!(A==B)){処理内容} | AとBが同じ値ではない時に「処理内容」が実行される |
Javaでは上記の比較演算子・論理演算子が使用できるので覚えておきましょう。
if文で書く際のコツ
実際に if文を書く際に気をつけるべき点を紹介します。
ネストを浅く書く
ネストとは if文の中にさらに if文を書いた状態のことを言います。
if (条件式) {
if (条件式) {
処理
}
}
ネストを深く書くと、ソースコードの保守性が低下してしまいます。
if (条件式) {
if (条件式) {
if (条件式) {
if (条件式) {
処理
}
}
}
}
ネストを深く書いてしまうと、非常に見にくいソースコードの完成です。
他人が見た場合、どんな処理なのか理解しづらい内容となってしまいます。
そのため、なるべくネストは浅く書くことが必須です。
三項演算子でif文を1行に省略
三項演算子を使うと、 if文を 1 行に省略して書くことが可能です。
基本構文は次のような形になります。
「条件式 ? 式1 : 式2」
使用例を交えて具体的に見ていきましょう。
int score = 100;
String result = score > 50 ? "high" : "low";
System.out.println(result);
実行結果として「high」が出力されます。
ポイントは、条件式「score > 50」が true か false かによって変数 result に入る値が変化する点です。
条件式「score > 50」の値が true だった時に式1(result=high)の結果を返し、false だった場合に式2(result=low)の結果を返します。
内容によっては、三項演算子を使う方が簡潔に記述可能です。
Javaプログラミングのスキルを活かして収入を増やすなら
なかには、副業での収入獲得やフリーランスへの独立を目的にJavaプログラミングのスキル習得に励んでいる人もいますよね。
ただ、身につけたスキルをどう収入UPに繋げればいいのか、イメージが湧かない人もいるはず。
そんな方は、ぜひフリーランスのミカタをご活用ください。
出典:フリーランスのミカタ
フリーランスのミカタは、平均単価80万円以上の案件を取り揃える、ITエンジニアに特化したフリーランスエージェントです。具体的には、次のような週3回からフルリモートで請け負える案件を豊富に掲載しています。

また希望年収や稼働時間だけでなく、扱うプログラミング言語などを細かく指定して案件を探せるため、自分にあう仕事を見つけやすいサイト仕様になっています。
ただし、上記のような案件は条件として2〜3年の実務経験が求められるケースが多いです。そのため、応募する際はどれくらいの経験が必要なのかを前もってチェックしておきましょう。
フリーランスのミカタを活用すれば、中・長期的な安定収入が得られる案件が見つかりますよ。
どんな案件が掲載されているか気になる人は、下のボタンから自分にあう案件を探してみてください。
まとめ
本記事では、Java開発初心者の方向けに、if文の書き方を解説しました。
if文はプログラミング開発でよく使う手法です。
そのため、複雑になりやすい文法でもあります。
Java if文の書き方や使い方に迷ったら、ぜひ本記事を参考にしてみてください。