検索

キーワード


【Java】初心者ハンズオンセミナー用コード解説 トレーニング4『条件分岐』を理解しよう!

  • 公開日:2020-07-10 22:53:22
  • 最終更新日:2021-01-25 09:29:10
【Java】初心者ハンズオンセミナー用コード解説 トレーニング4『条件分岐』を理解しよう!

こんにちは。新人エンジニアのサトウです。

Javaの基本的なプログラムについて紹介していきます。

システムエンジニアとして駆け出したばかりですが、初心者なりの視点で記事を書いているので、

プログラミングについて興味がある方✅、Javaについて勉強し始めた方へ情報共有できればうれしいです。

 

今回はjavaの条件分岐(If文とSwitch文)についてです。

では始めていきましょう!

そもそも条件分岐とは

プログラミングにおいては、条件によってそれぞれ処理を分けることです。 

If文やSwitch文を使うことによって、条件ごとに異なる処理を行うことができます。

 

たとえば、

値Aが値Bと等しい(←これが条件)場合は処理Cを実行し、

値Aが値Bと異なる(←これが条件)場合は処理Dを実行するなど、

設定した条件によってそれぞれの処理をするように命令できます。

 

また同じ条件分岐でもIf文とSwitch文には違いがあるので、それぞれ順に解説していきます!


条件分岐のアルゴリズム

では実際に条件分岐のコードを書きていきましょう。

Javaでの基本的な条件分岐の方法は


If 文による条件分岐

Switch文による条件分岐


の二つがあります。


If文による条件分岐

式や2つの値の関係性を条件にして処理を分岐する方法として、If文はよく使われます。


「値Aと値Bが等しい」や「式Ctrueである(boolean)」などの関係性を条件にすることができます。

基本構文

if (条件1) 条件1の時の処理;

 

if (条件1) {

               条件1の時の処理;

} else {

               その他の時の処理;

} 

 

if (条件1) {

                条件1の時の処理;

} else if (条件2) {

                条件2の時の処理;

}else {

                その他の時の処理;

} 

 

条件が複数に分かれる場合は、『else』を用いたIf-else文を使って分岐処理させることができます。


基本構文に習って今回は、


  • aが値bと等しい、
  • aが値bより大きい、
  • aが値bより小さいの



3条件に分岐してそれぞれ処理を記述したいと思います。

public class Training4 {
    public static void main(String[] args) {
        int a = 7;
        int b = 10;
			 
		if (a == b) {
		System.out.println("a は b と同じです");
		} else if (a >= b) {
		System.out.println("a は " + b + " 以上です。");
	    } else {
		System.out.println("a は " + b + " 未満です。");
		}
	}
}

条件1に(a=b)、条件2に(a>=b)が設定されています。

else{}の処理には、条件1・2以外つまり(a<=b)の条件が割り当てられています。

elseには設定された条件以外のその他すべての条件が適用されるので覚えてくださいね。


実行すると、

aは10未満です。

となります。

今回はa=7,b=10という値が設定されているので,

その他の条件に割り当てられ、その他の時の処理が行われました。

 

If文の条件分岐は以上です。


Switch文による条件分岐

Switch文は、条件分岐を多く使用したいときに役立つ方法です。

byte,short,int char,Stringなどの基本型を条件の値にすることができます。

boolean型や浮動小数点型(float,double)、long型は使えないので注意してください。

基本文法

switch () {
            case
定数1:
                
定数1の場合の処理
                 break;
            case
定数2:
                
定数2の場合の処理
                 break;
            default:
                
その他何も当てはまらない場合の処理
}

 














条件が増加するごとに『case 定数: その定数の処理 break;』を増やして書けば容易に条件分岐ができます。

break;をコメントアウト(または削除)すると次のcaseの処理をしてしまうので注意しましょう!


基本構文に習って今回は、


変数Aが

1の場合

2の場合

3の場合

4の場合

5の場合の


5条件の分岐処理を設定して記述したいと思います。

public class Training4_1 {
    public static void main(String[] args) {
        int A = 3; 
        switch (A) {
            case 5:
			System.out.println("北海道");
			break;
			case 4:
			System.out.println("宮城県");
			break;
			case 3:
			System.out.println("愛知県");
			break;
			case 2:
			System.out.println("広島県");
			break;
			case 1:
			default:
			System.out.println("福岡県");
       }
   }

}


今回のコードで注意してほしいのは、case 1:の後にbreak;句が無いことです!

もしもA=1だった場合、case 1:の次のdefault:処理が行われることになりますね。

ぜひ自分でコードを変更して試してみてください!



これを実行すると、

愛知県


となります。
今回は、値A=3なのでcase 3:の処理が実行されました。


Switch文の条件分岐は以上です。



【著者】

新人SE・サトウ

読者を始め私自身も知りたい!と思うような知って得するプログラミング知識やIT情報を日々発信中です。
筆者の憧れの人物は、コリン・ファースさん、渡部篤郎さん。
教養のあるカッコいい大人になれるよう、プログラミングを始め興味関心を持ったことを毎日勉強しております !!

よく読まれている記事
【Java】JSPでタグライブラリを使う(JSTL)

【Java】JSPでタグライブラリを使う(JSTL)

こんにちは。エンジニアの新田です!ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。今回は、JSPの標準タグライブラリ「JSTL」について紹介します。Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!関連記事リンク: 【Java】JSPの基本的な構文/【Java】JSPのアクションタグ

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!そもそもStringとは何?『 String 』... Java言語において文字列のデータ型を指します。基本デ

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!Stringクラスformatメソッドの文字列整形【java.utilパッケージ】Formatterクラスfo

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者にも✅、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!文字列を扱う3つのクラス【java.langパッケージ】java.langパッケージの文字列を扱うクラスにはS

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!プリミティブ型と参照型プログラム開発では型を持った変数を使ってデータのやり取りをしますが、データ型によって仕様