条件分岐(switch):JAVAスプリクト初心者入門講座


JavaScript初心者さんの入門書です

条件分岐(switch)

JAVAスプリクトにおいて、条件分岐をするときは、if?else命令を使います。

これは基本ですね。

しかしながら、 他にも条件分岐の命令が存在します。それが"switch"命令なのですが、これだと、具体的な値に応じた処理が出来 ます。

例えば、1?5などの数字を与えて、それぞれの数字に応じた処理をしようとしたときに、if?else命令を使うと、 とても複雑なものになってしまいます。

var n = 5;
if(n == 1){
document.write("1が入力されました。");
} else if (n == 2){
document.write("2が入力されました。");
} else if (n == 3){
document.write("1が入力されました。");
}



このような感じです。

これだと間違いも起きやすくなり、実用的でもないのでおすすめできません。

そこでswitch命令を使うのですが、この命令は

switch(変数){
case 値:
処理;
break;
case 値:
処理;
break;
case 値:
処理;
break;
default:
処理;
break;
}

このような形で用います。

気をつけるところとしては、case 値のあとは;(セミコロン)ではなく:(コロン) であるということです。

では、サンプルプログラムです。

var n = 5;
switch(n){
case 1:
document.write("1が入力されました。");
break;
case 2:
document.write("2が入力されました。");
break;
case 3:
document.write("3が入力されました。");
break;
case 4:
document.write("4が入力されました。");
break;
case 5:
document.write("5が入力されました。");
break;
default:
document.write("エラーです。1?5の整数を入力してください。");
break;
}

上記のコードをHTMLファイルに書き込み実行してみてください。うまくいけば"5が入力されました" と表示されるはずです。また、nの値を1?5の数値に変えればそれに応じた処理になるはずです。

さて、一番最後の"default"という記述ですが、これはどういう意味なのでしょうか。

答えは、if命令で言うところのelseです。それまでのどの条件にも当てはまらなかったときの処理を記述します。

カテゴリー:初級編

「条件分岐(switch)」は参考になりましたか?

条件分岐(switch):関連記事

関数化してみる
関数という言葉は、数学でも出てきます。xなどの変数があって、その値によってyの値が変化する、いわゆ...

日付を扱う
JAVAスプリクトが、他の言語よりも優れている点として、日付や時間の扱いが簡単、という点があります...

配列を扱う
変数はみなさんもう知っていると思います。この変数とは、一つの変数には一つの値しか格納することが出来...

文字列を扱う
JAVAスプリクトにおいて、文字を表示するには document.write("表示する文字列")...

数値を扱う
さて、数値を扱ってみましょう。ここで言う数値とは、皆さんが知っているvarで宣言した変数に値を代入...

繰り返しをする上で
繰り返しの概念は、JAVAスプリクトに限らず、C言語やJAVA、C#などプログラミングにおいてはと...

繰り返し(do)
繰り返しの方法として、forとwhileはもうご存じだと思います。これら2つの形式は、主に前置判定...

繰り返し(while)
みなさんは、もう繰り返しも、for命令も知っていると思いますが、繰り返しには、まだまだやり方があり...

繰り返し(for)
条件分岐と同じように、繰り返しもJAVAスプリクトプログラミングにおいて重要な概念です。 繰り返し...

条件分岐(if)
作成するプログラムによっては、条件分岐というものが必要になってきます。 たとえば、数字を入力して、...

DHTMLとは
ニュースサイトや掲示板、ブログなど、テキストや画像だけのただ文字を読んだり画像を見たりするページを...

JAVAとの違い
JAVAとの違い JAVAとJAVAスプリクトは違うもの、と言われますが、具体的にはどう違うのでしょ...

JAVAスプリクトとは?
皆さんご存じのように、JAVAというものはもはや色々なものに使われています。では、タイトルの JA...