Heim > Java > javaLernprogramm > Warum benötigen Switch-Anweisungen Break-Anweisungen?

Warum benötigen Switch-Anweisungen Break-Anweisungen?

DDD
Freigeben: 2024-10-29 03:55:02
Original
908 Leute haben es durchsucht

 Why Do Switch Statements Need Break Statements?

Switch-Anweisungen ohne Break

Ein Fehler tritt auf, wenn einer Switch-Anweisung Break-Anweisungen zwischen Fällen fehlen. Betrachten Sie den folgenden Codeausschnitt:

switch (x) {

    case 0:
        // code

    case 1:
        // code

    case 2:
        // code
}
Nach dem Login kopieren

Erklärung

Java's switch-Anweisung erfordert Break-Anweisungen, um Fälle zu trennen. Ohne Pause wird Code in nachfolgenden Fällen ausgeführt, auch wenn die Bedingung mit einem vorherigen Fall übereinstimmt. Wenn im obigen Beispiel x 1 ist, werden beide Fälle 1 und 2 ausgeführt.

Dieses Verhalten ist normalerweise unbeabsichtigt und kann zu einer falschen Programmlogik führen. Findbugs identifiziert diesen potenziellen Fehler und kennzeichnet ihn als Warnung.

Verwendung

Break-Anweisungen werden verwendet, um die Ausführung eines Falls zu beenden und zu verhindern, dass Code in einen nachfolgenden Fall durchfällt Fälle. Der folgende Code ist grammatikalisch korrekt und führt nur den Code für den passenden Fall aus:

switch (foo) {
    case 0:
        doSomething();
        break;
    case 1:
        doSomethingElse();
        break;
    default:
        doSomeOtherThing();
        break;
}
Nach dem Login kopieren

Ausnahme

In bestimmten Szenarien kann es wünschenswert sein, dies absichtlich zuzulassen Code, der auf nachfolgende Fälle übertragen wird. Zum Beispiel

switch (foo) {
    case 0:
    case 1:
        doSomething();
        break;
    case 2:
        doSomethingElse();
        break;
    default:
        doSomeOtherThing();
        break;
}
Nach dem Login kopieren

In diesem Fall wird doSomething() ausgeführt, wenn foo entweder 0 oder 1 ist. Dies ist ein häufiges Muster, das als „Fall-Through“ bekannt ist und im Allgemeinen als akzeptabel angesehen wird, wenn kein Code vorhanden ist erscheint zwischen den Fällen (z. B. Fall 1 und Fall 2). Die meisten Analysetools kennzeichnen Fall-Through-Fälle in diesen Situationen nicht als Fehler.

Das obige ist der detaillierte Inhalt vonWarum benötigen Switch-Anweisungen Break-Anweisungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage