オーダーメイドコース
icon
icon

Javaのif文を使って条件分岐する方法【初心者向け】

初心者向けにJavaで書くif文(条件分岐)の使い方について解説。if文の書き方から実際に書いてみたサンプルを紹介しながら条件分岐について説明しています。Javaエンジニアを目指している人は今のうちに覚えておきましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

監修してくれたメンター

mentor-kaeriyama

Javaのif文を使って条件分岐する方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

if文はJavaに限らずプログラミングの基礎になるので、ぜひ今のうちに理解しておきましょう。

目次

そもそもJavaについてよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。

 

大石ゆかり

田島メンター!!if文にはどのような役割があるんですか~?

田島悠介

ある条件が成立(true)である場合に、実行する処理を指定することができるんだ。

大石ゆかり

成立しなかった場合は、何もされないんですか?

田島悠介

不成立(false)だった場合の処理を指定する書き方もあるよ。ひとつずつ見てみよう。

 

 if文とは

if文とはプログラミングしていく上で一番基礎となる文法です。

プログラミングの条件分岐において最もよく使われます。 今回はJavaにおけるif文ですが、どのプログラミング言語においてもif文というものはプログラミングの基本事項として大切になります。

Javaだけでなく、if文の考え方としてはどの言語でも同じになるので、「if文」の概念からしっかりと理解していきましょう。

 

 if文の書き方

Javaでのif文は以下のような文法に従って書きます。

()の条件文が満たされた時に{}で囲まれた内部を実行します。

満たされるというのは()の中身が「true」の時を言います。

「false」だったときは中身を実行することなく、次の処理に移ります。

()の中身が正しい、正しくないではなく、「true」か「false」で判断していることに注意してコーディングをしましょう。

また、()に書ける条件文は以下のようなものがあります。

  •  == : 等しいとき
  • > : 左辺が右辺より大きいとき
  • < : 右辺が左辺より大きいとき

上記以外にも多くあります。 上記のようなものを関係演算子と言います。

 

田島悠介

if文では演算子の役割がとても大事になってくるね。それぞれの意味をしっかり見て、必ず間違いのないようにしよう。

大石ゆかり

確かに、最初の条件が違ってたら結果も思ってたのと全部違うのになっちゃいますもんね。

田島悠介

次に、シンプルな条件文と実行結果を指定した場合の例を実際にやってみよう。

 

[PR] 未経験からWebエンジニアを目指す方法とは

if文に利用する関係演算子

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は等しくないかどうか

これら関係演算子を用いて条件を判定してきます。

 

if文に利用する論理演算子

実際のプログラムでは複数の条件節を組み合わせることがよくあります。

例えば100 < a < 200の状態を表すときにはJavaのプログラムではこのような書き方ができません。

そこで条件節をそれぞれ1つずつに分けて、論理演算子を用いて表現することになります。
論理演算子には以下の種類があります。

演算子 用例 説明
AND 条件A && 条件B 条件Aかつ条件Bの両方を満たす
OR 条件A || 条件B 条件Aまたは条件Bのどちらか片方を満たす
NOT !(条件A) 条件Aではない(条件Aは満たさない)

 

実際に書いてみよう

以下にあるサンプルをコピーして実行してみてください。

 

Sample.java

public class Sample{
    public static void main(String[] args) {
        int l = 100;
        if(l > 50){
            System.out.println("over,50!");
    }
  }
}

実行結果

over,50!

以上のような結果になりましたか。

今回は最初に「int l = 100;」としてそれを条件文にかけているために、if( l>50 )を満たすので、if文の中身が実行されているのが分かります。

「int l = 30;」としてみるとif文の中身が実行されないことが分かると思います。

if文は「その他」というものもあります。 「else」というのが「if」でないときに入る条件です。組み合わせで、「else if」もあります。

ただ、「if」の条件に合わない時すべてに「else」に入るために書いても書かなくてもいいです。

その他の条件があるときには書きましょう。無くてもコンパイルは通ります。 これが、Javaのif文の書き方になります。

書き方で言えば、Javaだけでなくどの言語でも同じようなものです。 文法として大事な文法事項なので確実に押さえておきましょう。

 

複数のif文による分岐処理

if文の基本的な処理を見ると、初期値で100を代入しているので、over,50!が表示されることは分かりきっている事だと感じるかもしれません。

そこで、複数のif文を使用し、複数の計算をしながら分岐処理します。

今回は変数lに対して、rnd.nextInt(100);を使用して、乱数を代入しました。

これにより、0-99までのどれかの数値が代入されます。

つまり、約1/2%の確率で変数lは50より大きい数値になります。

また、変数lが50以下40寄り大きかった場合にも、再度int m = l * ran.nextInt(10);を使用して変数lに0-9までの乱数を乗算します。

これにより、最終的に何が表示されるかさえ分からない程複雑になります。

Samples.java

import java.util.Random;
public class Samples{
  public static void main(String[] args) {
    // Randomクラスのインスタンス化
    Random rnd = new Random();
    // 0-99までの乱数を代入
    int l = rnd.nextInt(100);
    //lが50より大きい場合はover,50!と表示
    if( l>50 ) {
      System.out.println("over,50!");
    // lが50より大きい場合は0-9までの乱数との掛け合わせてmに代入後、表示
    } else if( l>40 ) {
      int m = l * ran.nextInt(10);
      System.out.println(m);
    // どの条件にも当てはまらない場合
    } else {
    // lが40未満の場合はunder,40!と表示
      System.out.println("under,40!");
   }
  }
}

実行結果(3種類の実行結果が表示される可能性があります)

 

  1. 変数lが50より大きい場合
    over,50!
  2. 変数lが50以下で40より大きい場合
    再度、変数lに0-9までの乱数が掛け合わされて、変数mに代入される。
    仮に変数lの中身が35で、乱数が2だった場合、変数mには70が代入される。
    最終的に次の結果が表示される。
    70
  3. 変数lが40未満の場合
    under,40!

こちらが、ifとelse ifを使用して複数のif文を使用した分岐処理の例です。

if文を使用することで、プログラムが自動的に分岐判断をしてくれる必要性を感じることができると思います。

 

田島悠介

if文の機能については分かったかな?

大石ゆかり

()内の式がtrueだったから、{}内の処理が実行されたんですね。

田島悠介

そうだね。こういった演算子やif文の使い方は色々な言語で共通して使われるので、いつでも組めるようにしておこう。

大石ゆかり

基本の書き方をしっかりと頭に入れておかないとですね。ありがとうございます!

 

また、Javaの学習サイトもまとめているので、合わせてご覧ください。

 

Javaを学習中の方へ

これで解説は終了です、お疲れさまでした。

  • つまずかず「効率的に」学びたい
  • 副業や転職後の「現場で使える」知識やスキルを身につけたい

プログラミングを学習していて、このように思ったことはありませんか?

テックアカデミーのJavaコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。

合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、JavaやServletの技術を使ったWebアプリケーション開発を学べます。

まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。

時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!