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

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

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

今回はJavaのif文を使って条件分岐する方法を説明します。

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

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説している記事をまずご覧ください。

 

なお本記事は、TechAcademyのJava講座の内容をもとに作成しています。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

田島悠介

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

 

 if文とは

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

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

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

 

 if文の書き方

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

()の条件文が満たされた時に{}で囲まれた内部を実行します。 満たされるというのは()の中身が「true」の時を言います。 「false」だったときは中身を実行することなく、次の処理に移ります。 ()の中身が正しい、正しくないではなく、「true」か「false」で判断していることに注意してコーディングをしましょう。

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

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

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

 

田島悠介

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

大石ゆかり

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

田島悠介

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

 

[PR] Javaで挫折しない学習方法を動画で公開中

実際に書いてみよう

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

 

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の学習サイトもまとめているので、合わせてご覧ください。

また、オンラインのプログラミングスクールTechAcademyでは、Java講座を開催しています。

JavaやServletの技術を使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。