プログラミング言語での1か月の経験では、switch
case
条件は、かっこ内のすべてのものをブールチェックの事柄として受け入れると仮定しました。
|| && < >
わかる?
何かのようなもの
char someChar = 'w';
switch (someChar) {
case ('W' ||'w'):
System.out.println ("W or w");
}
悲しいことに、そのように動作しないようです。スイッチケースでブールチェックを行うことはできません。
それを回避する方法はありますか?
ちなみに、私が混乱しているように聞こえるなら、すみません。この言語のすべての名前はまだわかりません:X
任意の回答を高く評価
次のような場合にORを実現できます。
switch (someChsr) {
case 'w':
case 'W':
// some code for 'w' or 'W'
break;
case 'x': // etc
}
ケースは「goto」のようなもので、複数のgotoが同じ行を共有して実行を開始できます。
できるよ -
switch(c) {
case 'W':
case 'w': //your code which will satisfy both cases
break;
// ....
}
通常、すべてのケースの後に「ブレーク」が続きます。実行を終了する場所を示すステートメント。 「break;」を省略すると、実行が継続されます。これを使用して、同じ方法で処理する必要がある複数のケースをサポートできます。
char someChar = 'w';
{
case 'W':
// no break here
case 'w':
System.out.println ("W or w");
break;
}
スイッチケースは、特定の式の代替評価の分岐です。式はスイッチの括弧で指定され、byte、short、char、およびintデータ型にすることができます。
Switchステートメントの本体は、switchブロックと呼ばれます。 switchブロック内のステートメントには、1つ以上のケースまたはデフォルトのラベルを付けることができます。 switchステートメントはその式を評価してから、一致するcaseラベルに続くすべてのステートメントを実行します。
http://docs.Oracle.com/javase/tutorial/Java/nutsandbolts/switch.html
Switchステートメントの代替(複数のif条件)の場合、最善の解決策は列挙型を使用することだと思います。例:以下の場合を考えてください:
public enum EnumExample {
OPTION1{
public double execute() {
Log.info(CLASS_NAME, "execute", "The is the first option.");
return void;
}
},
OPTION2{
public double execute() {
Log.info(CLASS_NAME, "execute", "The is the second option.");
return void;
}
},
OPTION3{
public double execute() {
Log.info(CLASS_NAME, "execute", "The is the third option.");
return void;
};
public static final String CLASS_NAME = Indicator.class.getName();
public abstract void execute();
}
上記の列挙型は、次の方法で使用できます。
EnumExample.OPTION1.execute();
これが皆さんの助けになることを願っています。