web-dev-qa-db-de.com

Wie mache ich einen Fall mit mehreren Bedingungen?

In der 1-monatigen Erfahrung, die ich mit einer beliebigen Programmiersprache gemacht habe, bin ich davon ausgegangen, dass switchcase-Bedingungen alles in der Klammer als boolesches Prüflingsingamajig akzeptieren würden, dh

|| && < >

Weißt Du, was ich meine?

so etwas wie

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

Leider scheint das nicht so zu funktionieren. Ich kann kein boolesches Einchecken im Schalterfall haben. 

Gibt es einen Weg dahin?

Übrigens, es tut mir leid, wenn ich mich verwirrend anhöre. Ich kenne die Namen für alles in dieser Sprache noch nicht ganz: X
.__ Alle Antworten geschätzt

21
AfroMan

Für solche Fälle können Sie ein OR erreichen:

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

Fälle sind wie ein "goto" und mehrere gotos können dieselbe Zeile zum Starten der Ausführung verwenden.

46
Bohemian

Du kannst tun -

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

    // ....
}
6
devang

Jedem Fall folgt normalerweise eine "Pause"; Anweisung, um anzugeben, wo die Ausführung beendet werden soll. Wenn Sie das "break" weglassen, wird die Ausführung fortgesetzt. Sie können dies verwenden, um mehrere Fälle zu unterstützen, die auf dieselbe Weise behandelt werden sollten:

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

Fallwechsel sind Verzweigungen für alternative Auswertungen eines bestimmten Ausdrucks. Der Ausdruck ist in der Switch-Klammer angegeben und kann Datentypen Byte, Kurz, Zeichen und Int sein.

Der Hauptteil einer switch-Anweisung wird als switch-Block bezeichnet. Eine Erklärung im Schalterblock kann mit einem oder mehreren Groß- oder Standardkennzeichen versehen werden Etiketten. Die switch-Anweisung wertet ihren Ausdruck aus und führt dann .__ aus. alle Anweisungen, die auf die zutreffende Fallbezeichnung folgen.

http://docs.Oracle.com/javase/tutorial/Java/nutsandbolts/switch.html

1
Aram Kocharyan

Für eine alternative Anweisung zum Wechseln ( multiple if conditions ) denke ich, dass die beste Lösung eine Aufzählung ist. Zum Beispiel: Betrachten Sie den Fall unten: -

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

}

Die obige Aufzählung kann auf folgende Weise verwendet werden:

EnumExample.OPTION1.execute();

Hoffentlich hilft das euch Jungs.

0
Jibandeep Bal