SOS internautes
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Derniers sujets
» Emulateur CD-I : CD-I Emulator
Java : Les conditions EmptyLun 19 Déc - 11:24 par bigblaireau

» Présentation
Java : Les conditions EmptyLun 19 Déc - 11:10 par bigblaireau

» probleme incredimail
Java : Les conditions EmptyMar 22 Mar - 19:06 par vanille57540

» (supprimé)
Java : Les conditions EmptyVen 18 Mar - 20:06 par louis1806

» présentation
Java : Les conditions EmptyVen 18 Mar - 10:47 par louis1806






-40%
Le deal à ne pas rater :
-40% sur le Pack Gaming Mario PDP Manette filaire + Casque filaire ...
29.99 € 49.99 €
Voir le deal

Java : Les conditions

Aller en bas

Java : Les conditions Empty Java : Les conditions

Message  louis1806 Mer 26 Déc - 11:12

Bonjour, aujourd'hui nous allons étudier les conditions

On va étudier une instruction qui permettra de rendre vos programmes plus intéressants, plus attractif, et faire des morceaux de programmes sous certaines conditions.

Il s'agit de l'instruction if, en français si, il permet d’exécuter des instructions si une ou plusieurs conditions sont remplies. Pour les conditions, je vous renvoi au chapitre les opérateurs conditionnels. Souvenez-vous des conditions logiques && et ||

La condition if fonctionne de cette façon:

si (notre condition)
on effectue nos actions
sinon si
on effectue nos actions
sinon
on effectue nos actions

au niveau de la syntaxe:
Code:

if(notre condition){
    instruction;
    instruction;
}
else if (notre autre condition){
    instruction;
    instruction;
}
else{
    instruction;
    instruction;
}

Attention; les incolades sont obligatoire si on a plusieurs instructions dans notre if, on peut mettre autant de else if que l'on veux. Le esle n'est pas obligatoire, mais permet de réuinir dans une seule condition l'ensemble des autres possibilité qui n'on pas été écrité précédement. Ce qu'il faut savoir c'est que dès que le programme rentre dans une condition if, les autres sont oubliées, le programme ne les executes pas.
exemple:
Code:
if(a==3 && b==4){
    ... //(1);}
elseif(a==3 && b==4){
    ... //(2);}
elseif(a==3){
    ... //(3);}
elseif(a>4){
    ... //(4);}
elseif(a==5){
    ... //(5);}
else{
    ... //(6);}
dans notre exemple
si a=3 et b=4 seul les instructions avec le repère (1) seront executés
si a=3 et b est différent de 4, alors seul les instructions du repère (3) seront exécutés
si a>4 seul les instruction du repère (5) seront executés

Donc si vous avez compris, vous aurez deviné que la seconde condition (elseif(a==3 && b==4)) et l'avant dernière (elseif(a==5)) sont inutiles dans cet ordre.
Pour obtenir un code correct, on modifie ce code comme ceci:

Code:
if(a==3 && b==4){
    ... //(1);}
elseif(a==3){
    ... //(3);}
elseif(a==5){
    ... //(5);}
elseif(a>4){
    ... //(4);}
else{
    ... //(6);}

Bon, maintenant voici un exercice simple:
Vous allez écrire un programme qui demandera à l'utilisateur son âge, puis vous lui indiquerez si il est majeur ou mineur
Code:
public class main {
    public static void main(String[] args){
        int age;
        System.out.println("Entrez votre âge ");
        age = Lire.i()
        if(age>=18)
            System.out.println("Vous êtes majeur");
        else
            System.out.println("Vous êtes mineur");
    }
}

Stop!!! Tu as dit que les incollables étaient obligatoire!

Oui, mais lorsque l'on a une seule condition, elles deviennent facultatives.

Un autres exercice: Vous allez écrire un programme qui convertira un chiffre arabe et chiffre romain, je rappel : 1 = I, 2 = II, 3 = III, 4 = IV, ...

Code:
public class main {
    public static void main(String[] args){
        int nombre;
        System.out.println("Entrez un chiffre à convertir ");
        nombre =  Lire.i();
        if(nombre == 1){
            System.out.println("1 -> I");
        else if(nombre == 2){
            System.out.println("2 -> II");
        else if(nombre == 3){
            System.out.println("3 -> III");
        else if(nombre == 4){
            System.out.println("4 -> IV");
        else if(nombre == 5){
            System.out.println("5 -> V");
        else if(nombre == 6){
            System.out.println("6 -> VI");
        else if(nombre == 7){
            System.out.println("7 -> VII");
        else if(nombre == 8){
            System.out.println("8 -> VIII");
        else if(nombre == 9){
            System.out.println("9 -> IX");
        else
            System.out.println("Vous n'avez pas entré un chiffre!");
    }
}

Bon, je vais vous apprendre une façon de simplifier se code, qui est pour celui-là long.

On va utiliser pour cela le switch
la syntaxe:
Code:

switch(variable){
    case 1: instructions;break;
    case 2: insctruction; break;
    ....
    default:instructions;break;
}

switch(variable) on prend variable comme notre variable à comparer
l'instruction case 1: est équivalent à if (variable ==1)
break indique que l'on quitte la case.

voici le même programme fait avec le switch
Code:
public class main {
    public static void main(String[] args){
        int nombre;
        System.out.println("Entrez un chiffre à convertir ");
        nombre =  Lire.i();
        switch(x){
        case 1:System.out.println("1 -> I");break;
        case 2:System.out.println("2 -> II");break;
        case 3:System.out.println("3 -> III");break;
        case 4:System.out.println("4 -> IV");break;
        case 5:System.out.println("5 -> V");break;
        case 6:System.out.println("6 -> VI");break;
        case 7:System.out.println("7 -> VII");break;
        case 8:System.out.println("8 -> VIII");break;
        case 9:System.out.println("9 -> IX");break;
        Default:System.out.println("Vous n'avez pas entré un chiffre!");break;
    }
}

Voilà! On se retrouvera la prochaine fois pour les boucles.
louis1806
louis1806
Puit de science
Puit de science

Avertissement : aucun avertissement
Messages : 270
Date d'inscription : 17/06/2011
Age : 29
Localisation : Dijon

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum