質問: 6; switch( a ){ case 0: case 1: //処理a break; case 2: case 3: case 4: //処理b break; case 5: case 6: //処理c break; case 7: case 8: case 9: //処理d break; }
回答: switch 使う方法はいろいろ出ているので。 たとえばa が常に正だとして。 if( ( 0 <= a ) && ( a < 25 ) ){ //略 } が成立していたら else if( ( 25 <= a ) && ( a < 50 ) ){ //略 } ここは通りません。 前のifが成立、ということは a<25 ですから、不成立ということは、 25<=a はかならず成立する、ということになります。 必ず成立する条件を判定するのは無駄です。 と、無駄を省くと if( a < 0 ) { ... } else if ( a < 25 ) { //略 } else if ( a < 50 ) { //略 } else if ( a < 75 ) { //略 } else if ( a < 100 ) { //略 } となります。ちょっと長いですが、switch~caseとそれほど変わらないと思います。