Webプログラミング研究所〜初心者・中級者Webプログラマ(CGI・Perl・PHP・Javaプログラム言語)のための支援サイト〜 「Webプログラミング研究所」TOPへ 「Webプログラミング研究所」TOPへ
 
「プログラミングサンプル集」TOPへ 「プログラミングサンプル集」TOPへ
 
目次をフレームで表示 目次をフレームで表示
 

switch文

 
概要
条件分岐を行う方法としてif文とswitch文があります。
if文は次のような書式です。
if(<条件1>) {
  //<条件1>に当てはまった場合の処理
} else if (<条件2>) {
  //<条件2>に当てはまった場合の処理
} else if (<条件3>) {
  //<条件3>に当てはまった場合の処理
} else {
  //いずれの条件にも当てはまらなかった場合の処理
}
(※注)「else if」という書き方はPHPとJavaの場合です。Perlの場合「elsif」と記述しなければなりません。
if文の場合は上記<条件1>、<条件2>、<条件3>にはどのような条件でもかまいません。条件を順々にチェックし、最初に当てはまった条件の処理が行われます。
プログラムを行っているときに、ある1つの変数の値により、条件分岐を行いたいという場合があります。
そのような場合はswitch文で、次のように記述することができます。
 $param = 2;
 switch($param) {
    case <値1>:

        //変数$paramの値が<値1>の場合
      break;   //breakでswitchブロックから脱出
    case <値2>:

        //変数$paramの値が<値2>の場合
     break;   //breakでswitchブロックから脱出
    case <値3>:

        //変数$paramの値が<値3>の場合
     break;   //breakでswitchブロックから脱出
    default:

        //変数$paramの値が上記のいずれの値にもマッチしなかった場合
      break;   //switchブロック内にこの後の処理が無いため、このbreakは書かなくk手も良い。
 }
 
Perl Perlにはswitch文がありません。if文で代用してください。
 
PHP サンプルソース
<?php
  $param = 2;
    switch($param) {
      case 1:

        echo "1番目";
        break;
      case 2:

        echo "";
        break;
      case 3:

        echo "3番目";
        break;
      default:

        echo "それ以外";
        break;
    }

?>

実行結果
2番目

PHPは、PerlやJavaと違い、switch文で数値と文字列のいずれも比較することができます。

サンプルソース
<?php
  $str = "ABE";
    switch($str) {
      case "ABC":

        echo "1番目";
        break;
      case "BCD":

        echo "2番目";
        break;
      case "CDE":

        echo "3番目";
        break;
      default:

        echo "それ以外";
        break;
    }

?>

実行結果
それ以外
 
Java サンプルソース
public class BasicSwitch {
  public static void main(String[] args) {
    int param = 2;
    switch(param) {
      case 1:

        System.out.println("1番目");
        break;
      case 2:

        System.out.println("2番目");
        break;
      case 3:

        System.out.println("3番目");
        break;
      default:

        System.out.println("それ以外");
        break;
    }

  }
}

実行結果
2番目

(※注)Javaでは、switchブロックで比較できるのは数値(int型)のみであり、文字列(String型)を比較することはできません。
ただし、一文字(char型)の場合は比較することができます。

サンプルソース
public class BasicSwitch3 {
  public static void main(String[] args) {
    char param = 'b';
    switch(param) {
      case 'a':

        System.out.println("1番目");
        break;
      case 'b':

        System.out.println("2番目");
        break;
      case 'c':

        System.out.println("3番目");
        break;
      default:

        System.out.println("それ以外");
      break;
    }

  }
}

実行結果
2番目
 
NOTE
 
ご意見箱コーナー (管理者宛てメール)
このページは、あなたの参考になりましたか?

参考になった  どちらともいえない  あまり参考にならなかった

ご意見・ご感想・ご要望がありましたら、ご記入いただければ幸いです。
今後のコンテンツ作成、ページ改善等の参考にさせていただきます。

 


Webプログラマになりたい人のためのスクール・講座情報

クリエイターの皆さん!お仕事ありますよ!フェローズに!

パソコンスクールガイド
積極的な情報収集が目標実現の近道です。

就職・起業・SOHO・それとも副業? デジハリがノウハウを伝授!

就転職に強い、資格取得スキルアップ専門校ヒューマンアカデミー

CsideNet レンタルサーバー サブドメイン型 780円/月
CGI/SSI/PHP、データベース(MySQL)が利用できます。1週間の試用期間があるのがGood!!

転職・派遣・就職・アルバイトの求人情報検索支援サイト 〜 14ALL JOB SEARCH 〜
 
 
  「Webプログラミング研究所」TOPへ 「Webプログラミング研究所」TOPへ
 
「プログラミングサンプル集」TOPへ 「プログラミングサンプル集」TOPへ
 
目次をフレームフレームで表示 目次をフレームで表示

Copyright (C) 2004 - 2005 IWAMODE Project All Rights Reserved.