【7章】Javaを学ぼう


今回は条件分岐の時に使用する、構文であるswitch文について記事を書きたいと思います。
自身のアウトプットの場となりますので、よろしくお願いいたします。

switch文について

条件分岐には最もよく使うif文の他にswitch文という構文もあります。
下図のように記述します。

Main.java
switch(条件の値) {
 case 値1:
  処理;
  break;
 case 値2:
  処理;
  break;
 case 値3:
  処理;
  break;
}

switch文は構文が少し複雑で「:」や「;」を間違えないように記述しましょう。

if文とswitch文の比較について

switch文とif文の比較を具体例を用いて確認してみます。

Main.java
//if文の場合
int x = 4;
if(x % 2 == 0) {
 //trueになる  
 System.out.println("偶数");
} else if (x % 2 == 1) {
 System.out.println("奇数");
}

//switch文の場合
int x = 4;
switch(x % 2) {
 case 0:  
  System.out.println("偶数");
  break;
 case 1:
  System.out.println("奇数");
  break;
}

switch文では、()の中の条件の値と、caseの値が「==」になるとき、処理が実行されます。
今回は「x % 2」が何であるか、で処理を分けたとき、case 0が値として一致したため("偶数")の処理が行われました。

また、switch文の最後につけているbreakとはswitch文を終了する命令です。breakがないと、合致したcaseの処理を行った後、その次のcaseの処理も実行してしまいますので、注意するようにしてください。

Main.java
int x = 4;
switch(x % 2) {
 case 0:  
  System.out.println("偶数");
  //breakがない場合
 case 1:
  System.out.println("奇数");
  break;
}

出力結果↓

コンソール
偶数
奇数  //合致しない処理まで実行されてしまう

switch文のdefaultについて

switch文では、どのcaseとも一致しなかったときに実行する処理を、defaultに指定することができます。これはif文でいうelseに似ています。

Main.java
//if文の場合
if(rank == 1) {
 System.out.println("金メダル獲得");
} else if (rank == 2) {
 System.out.println("銀メダル獲得");
} else if (rank == 3) {
 System.out.println("銅メダル獲得");
} else {
 System.out.println("メダル獲得なし");
}

//switch文の場合
switch(rank) {
 case 1:  
  System.out.println("金メダル獲得");
  break;
 case 2:
  System.out.println("銀メダル獲得");
  break;
 case 3:
  System.out.println("銅メダル獲得");
  break;
 default:
  System.out.println("メダル獲得なし");
  break;
}

以上がswitch文の説明になります。
次章では、繰り返し処理について書いていきたいと思います。よろしければご覧になってください!

最後までご覧いただきまして、ありがとうございました!