Maison > Java > javaDidacticiel > Pourquoi les instructions Switch ont-elles besoin d'instructions Break ?

Pourquoi les instructions Switch ont-elles besoin d'instructions Break ?

DDD
Libérer: 2024-10-29 03:55:02
original
906 Les gens l'ont consulté

 Why Do Switch Statements Need Break Statements?

Instructions Switch sans interruption

Une erreur se produit lorsqu'une instruction switch manque d'instructions break entre les cas. Considérez l'extrait de code suivant :

switch (x) {

    case 0:
        // code

    case 1:
        // code

    case 2:
        // code
}
Copier après la connexion

Explication

L'instruction switch de Java nécessite des instructions break pour séparer les cas. Sans interruption, le code des cas suivants est exécuté même lorsque la condition correspond à un cas précédent. Dans l'exemple ci-dessus, si x vaut 1, les deux cas 1 et 2 seront exécutés.

Ce comportement est généralement involontaire et peut conduire à une logique de programme incorrecte. Findbugs identifie cette erreur potentielle et la signale comme un avertissement.

Usage

Les instructions Break sont utilisées pour terminer l'exécution d'un cas et empêcher le code de passer aux suivants. cas. Le code suivant est grammaticalement correct et n'exécutera que le code correspondant au cas correspondant :

switch (foo) {
    case 0:
        doSomething();
        break;
    case 1:
        doSomethingElse();
        break;
    default:
        doSomeOtherThing();
        break;
}
Copier après la connexion

Exception

Dans certains scénarios, il peut être souhaitable d'autoriser intentionnellement code pour passer aux cas suivants. Par exemple,

switch (foo) {
    case 0:
    case 1:
        doSomething();
        break;
    case 2:
        doSomethingElse();
        break;
    default:
        doSomeOtherThing();
        break;
}
Copier après la connexion

Dans ce cas, doSomething() sera exécuté si foo vaut 0 ou 1. Il s'agit d'un modèle courant connu sous le nom de « fall-through » et est généralement considéré comme acceptable lorsqu'aucun code apparaît entre les cas (par exemple, cas 1 et cas 2). La plupart des outils d'analyse ne signaleront pas les cas d'échec comme des erreurs dans ces situations.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal