26

私がプログラミング言語で経験した1か月の経験では、switch case条件は括弧内のすべてをブール値チェックのものとして受け入れると仮定しました。つまり、次のとおりです。

|| && < >

わかる?

何かのようなもの

char someChar = 'w';
switch (someChar) {
case ('W' ||'w'):
    System.out.println ("W or w");
}

悲しいことに、そのようには機能しないようです。スイッチケースでブールチェックを行うことはできません。

それを回避する方法はありますか?

ところで、私が混乱しているように聞こえたら、大変申し訳ありません。
この言語のすべての名前はまだよくわかりません:X

4

5 に答える 5

57

次のような場合に OR を達成できます。

switch (someChsr) {
case 'w':
case 'W':
    // some code for 'w' or 'W'
    break;
case 'x': // etc
}

ケースは「goto」のようなもので、複数の goto が同じ行を共有して実行を開始できます。

于 2012-12-08T04:25:23.950 に答える
7

できるよ -

switch(c) {
    case 'W':
    case 'w': //your code which will satisfy both cases
              break;

    // ....
}
于 2012-12-08T04:26:45.237 に答える
4

通常、すべてのケースの後には「break;」が続きます。実行を終了する場所を示すステートメント。「break;」を省略した場合、実行は続行されます。これを使用して、同じ方法で処理する必要がある複数のケースをサポートできます。

char someChar = 'w';
{
case 'W':
  // no break here
case 'w': 
  System.out.println ("W or w");
  break;
}
于 2012-12-08T04:26:16.047 に答える
1

スイッチ ケースは、指定された式の代替評価の分岐です。式はスイッチのかっこで指定され、byte、short、char、および int データ型にすることができます。

switch ステートメントの本体は、switch ブロックと呼ばれます。switch ブロック内のステートメントには、1 つ以上の case または default ラベルを付けることができます。switch ステートメントはその式を評価し、一致する case ラベルに続くすべてのステートメントを実行します。

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

于 2012-12-08T04:27:29.310 に答える