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

avec Java Discussion :

If/else exclusif ou pas ?


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 96
    Points : 32
    Points
    32
    Par défaut If/else exclusif ou pas ?
    Bonjour

    Desoler de poser cette question mais il me semblait que if/else if/else n'etaient pas exclusif. C'est a dire qu'avec le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
     
    public class testif {
     
    	public static void test(int c1, int c2) {
     
    		if(c1 == 1) { 
    			if(c2 == 1) { 
     
    				System.out.println("if if");
    				c2++;
    				c1++;
    			}
    			else {			
    				System.out.println("if else");				
    			}
    		}
    		else if(c1 == 2) {
    			if(c2 == 2) {
     
    				System.out.println("else if if");
     
    			}
    			else {
     
    				System.out.println("else if else");
     
    			}
     
     
    		}
    		else {
     
    			System.out.println("else");
     
    		}	
    	}
     
     
    	public static void main(String[] args) {
    		test(1,1);
    	}
     
    }
    je m'attendais a :

    if if pour etres entre dans le if du 1er if puis
    else if if car ayant modifier c1 et c2 les condition pour rentre dans le else if sont reunis

    sinon comment avoir un comportement similaire ie: passage dans le 1er branchement qui va modifier une variable puis au choix entre dans le 2nd ou 3eme branchement ou aucun et sortir de la fonction ?

    D'avance merci

  2. #2
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Rien compris à ce que tu veux faire...
    Essayes de donner un exemple concret !

    a++

  3. #3
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Le "else" est bien évidemment exclusif. Et un "else if" ce n'est jamais que mettre directement une instruction après le else.

    Si tu veux pouvoir passer dans les if suivants, il te suffit de virer le else avant ton 2ème if. Par contre si tu veux savoir si tu es rentrée dans un des if, tu auras besoin d'un booléen pour stocker l'info.

  4. #4
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Si tu rentres dans le premier if, alors il ne vérifiera pas la validité du ou des else if suivant (pour des soucis de rapidité je pense) car si il vérifie la condition du if, il ne vérifiera pas celle du else if.

    Met le tout dans une boucle si tu veux le résultat que tu attendais.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 96
    Points : 32
    Points
    32
    Par défaut
    Merci a tous pour la rapidite de vos reponses
    je vais voir ce soir si je trouve ce qu'il me faut pour mes besoins merci encore

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 96
    Points : 32
    Points
    32
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    public class testif {
     
    	public static void test(int c1, int c2) {
     
    		if(c1 == 1) { 
    			if(c2 == 1) { // on doit ajouter une nouvelle sous liste
     
    				System.out.println("1 1");
    				c2++;
    				c1++;
    			}
    			else {			
    				System.out.println("1 2");				
    			}
    		}
    		if(c1 == 2) {
    			if(c2 == 2) {
     
    				System.out.println("2 1");
     
    			}
    			else {
     
    				System.out.println("2 2");
     
    			}
     
     
    		}
    		else {
     
    			System.out.println("3");
     
    		}	
    	}
     
     
     
     
     
    	public static void main(String[] args) {
    		test(1,1);
    	}
     
    }
    Bonjour
    ceci est le code qui fait passer dans le if du premier if puis celui-ci ayant modifier la valeur des variables c1 et c2 fait rentre dans le if du second if
    pour au final donner:
    1 1
    2 1

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Et? C'est quoi la question au final?

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 96
    Points : 32
    Points
    32
    Par défaut
    la question ete de savoir comment faire pour passer dans une suite de branchements conditionnel si ces dernier modifient des variables leur faisant prendre d'autre embranchement que ce de depart.

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    dans un if .... else, la condition n'est évaluée que lorsque l'on rencontre le if

Discussions similaires

  1. [Débutant] else ne fonctionne pas
    Par XiiTox dans le forum Windows Forms
    Réponses: 6
    Dernier message: 17/06/2014, 16h07
  2. [PHP 5.2] Mon else n'est pas pris en compte
    Par beegees dans le forum Langage
    Réponses: 2
    Dernier message: 14/05/2009, 09h16
  3. Ma condition if / else ne fonctionne pas
    Par kryogen dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 11/10/2007, 18h39
  4. [Tableaux] if et else ne veulent pas marcher
    Par schats dans le forum Langage
    Réponses: 57
    Dernier message: 16/05/2007, 18h09
  5. else ne fonctionnant pas
    Par DJ ripper dans le forum Langage
    Réponses: 5
    Dernier message: 12/12/2006, 18h09

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