switch文 つづき |
|
 |
ざっと見といて。 |
|
一致した場合だけ
実行するからだね。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
ケースを書く順番は
値の番号順じゃなくて
いいんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
ケースを作る場合の注意点 |
|
|
|
caseの値は1から順番に付ける必要はない |
|
|
|
 |
int
num = 1;
switch(num){
case
999:
System.out.println("いきなり999でも、ご自由にどうぞ。");
break;
}
|
|
|
|
|
|
|
|
|
|
caseの値は、飛び飛びの値でもマイナス値でもOK。順番も関係ない。 |
|
|
|
 |
int
num = 1;
switch(num){
case
1:
System.out.println("とりあえず1から");
break;
case
100:
System.out.println("1からいきなり100に飛んでも大丈夫");
break;
case
-8:
System.out.println("マイナスでも大丈夫");
break;
} |
|
|
|
|
|
|
|
|
|
caseの値は、小数は使えない |
|
|
|
 |
double
num = 0;
switch(num){
case 1.5:
System.out.println("小数は使えません");
break;
} |
|
|
|
|
|
|
|
|
|
caseの値は、switchの変数の型の範囲内で書くこと |
|
|
|
 |
byte
num = 10;//byte型で宣言して初期化
switch(num){
case
9999999:
System.out.println("byte型の範囲を超えてるので不可");
break;
} |
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ここで使ったbreak文は
switch文だけじゃなく
他の制御文でも使う。
処理を打ち切る時使うんだ。
後で見ていくよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
for文や
while文で
使うよ。 |
 |
|
 |
他でも
使うんだ。 |
|
|
|
caseの変わりに
breakと
組み合わせてね。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
あと、caseの変わりに使える
default文(でふぉるとぶん)
という命令もある。
これは、
全てのcaseに一致しなかった
場合に必ず実行されるんだよ。
ケースの最後に一個だけ書ける。
もちろん、必要がなければ
書かなくてもいい。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ねえ、なぽちゃん。
defaultの
日本語の意味は? |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
う。
プログラミングでは
「標準」とか「基本」
みたいな意味で
使われてるんだけど。
英単語だと
「怠慢」「債務不履行」
とかの意味しかないん
だよね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
面白いねー。
じゃあ「基本」
にしよっと!
|
 |
|
 |
分からん。。。
気が向いたら
調べてみんよ。 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
じゃあ、
switch文の処理の流れを
見てみよう。
大きな流れはこんな感じ。
条件式と一致したケースが
実行されるよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
やっぱり、流れもどこか
if文に似てるね。
たくさんケースを書けても
一個しか実行できないのも
if文と同じだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
次に
switch文の変数の有効範囲。
caseとbreakの間で宣言した
変数はその中でだけ有効。
外からは使えない。
それから、
switchのブロック内には
ケース以外のコードは書けない。
もちろん、変数の宣言もだめ。
注意しよう。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
基本的に
今まで見てきた、
変数の有効範囲
と同じね。 |
 |
|
 |
はいっ |
|
|
|
|
|