如何处理多个条件?

在我使用任何编程语言的1个月经验中,我假设switch case条件将接受括号中的任何内容作为布尔检查thingamajig,即:

 || &&  

明白我的意思了吗?

就像是

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

可悲的是,似乎没有这样的方式。 我不能在switch case中进行布尔检查。

有办法解决吗?

顺便说一句,如果我听起来很混乱,非常抱歉。 我还不太清楚这种语言的所有名称:X
任何答案都赞赏

对于这样的情况,您可以实现OR:

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

案例就像一个“goto”,多个gotos可以共享同一行开始执行。

你可以做 –

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

每个案件通常都会出现“rest”; 声明指示执行应终止的位置。 如果省略“break;”,则执行将继续。 您可以使用它来支持应该以相同方式处理的多个案例:

 char someChar = 'w'; { case 'W': // no break here case 'w': System.out.println ("W or w"); break; } 

切换案例是用于给定表达式的替代评估的分支。 表达式在switch括号中给出,可以是byte,short,char和int数据类型。

switch语句的主体称为switch块。 可以使用一个或多个案例或默认标签来标记交换机块中的语句。 switch语句计算其表达式,然后执行匹配的case标签后面的所有语句。

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

对于switch语句的替代( 多个条件 ),我认为最好的解决方案是使用枚举。 例如:考虑以下情况: –

  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(); 

希望这可以帮助你们。