明らかな方法は、次を使用することですelse if
。
if (x==1 && y==1) {
//do something.
}
else if (x==3 && y==-1) {
//do something.
}
else if (x==0 && y==3) {
//do something.
}
else {
// do something as default case.
}
1 つの変形は、別の方法を使用することです。
利点は、その後使用できることですreturn
。
if (x==1 && y==1) {
//do something.
return;
}
// precompute something...
if (x==3 && y==-1) {
//do something.
return;
}
if (x==0 && y==3) {
//do something.
return;
}
// do something as default case.
return;
しかし、ネストされたelse
ブランチがない限り、大きな違いはありません。
しかし、case
実際にメリットがif else
あるのは、ケースの完全な列挙がある場合です。次に、プログラミング エラーを回避します。
switch(direction) {
case NORTH: // Do something
break;
case SOUTH: // Do something
break;
case EAST: // Do something
break;
case WEST: // Do something
break;
}
default
良い点は、分岐が必要ないことをコンパイラが実際にチェックできることです。
あなたが完全な列挙を持っていない限り、それif
はちょうど良いです。