IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

switch ou else if


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 83
    Par défaut switch ou else if
    Pourquoi préférer swtich plutôt qu' une succession de else if ?

  2. #2
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    A mon avis si tu as la possibilité d'utiliser un switch c'est mieux. Mais ce n'est pas toujours possible.Un switch ne peut s'utiliser que sur une variable de type primitif (pas d'objet).

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par guigui5931
    Un switch ne peut s'utiliser que sur une variable de type primitif (pas d'objet).
    Ce n'est pas tout à fait vrai : le switch ne peut pas être utilisé avec tout les types primitifs mais seulement avec les types int ou compatible (short, char).

    De plus, avec Java 5.0 il peut être utilisé avec les enums qui sont des objets


    Quand à l'intérêt du switch, c'est bien sûr la lisibilité

    a++

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 314
    Par défaut
    Le switch te permet de ne pas effectuer tous les tests.

  5. #5
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Citation Envoyé par illegalsene
    Le switch te permet de ne pas effectuer tous les tests.
    Euh ça c'est faux à ma connaissance ....

    P.S. : bientôt les switch sur les String certainement, mais va encore falloir attendre un peu

  6. #6
    Membre éclairé Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Par défaut
    tous les tests tu dis? Si tu me dire comment faire un "et" ou un "ou" dans un switch je t'écoute.

    Par exemple, remplace le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if(a && b)
       truc;
    else if(c || d)
       bazar;
    else
       bidule;
    par un code switch plus clair...

  7. #7
    Inactif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 83
    Par défaut
    Citation Envoyé par chtig
    Euh ça c'est faux à ma connaissance ....

    P.S. : bientôt les switch sur les String certainement, mais va encore falloir attendre un peu )
    Peut-être est-ce vous qui avez raison...

    Paraît que les else if sont tous testés alors qu' avec le switch, la programme va voir directement le cas (case ...) qui convient ou alors le default.

    Donc, le switch peut se révéler plus rapide que les esle if successifs. Qui dit le contraire ?

Discussions similaires

  1. [PHP 5.3] Différence de comportement switch/case et if/else
    Par ArKam dans le forum Langage
    Réponses: 3
    Dernier message: 26/11/2010, 14h31
  2. Transformer une condition if..else en switch
    Par Nyxin dans le forum Débuter
    Réponses: 7
    Dernier message: 14/09/2010, 14h04
  3. Passage de structure else if à switch case
    Par stefsas dans le forum C#
    Réponses: 1
    Dernier message: 13/07/2010, 10h47
  4. If /Else & Switch case avec plusieurs paramètres
    Par ralek dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 07/07/2010, 19h28
  5. [Système] switch ou if-then-else
    Par boniface dans le forum Langage
    Réponses: 5
    Dernier message: 13/07/2006, 21h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo