Académique Documents
Professionnel Documents
Culture Documents
CONTROLE DE JAVA
1. L’instruction IF
Le mot else et l’instruction qu’il introduit étant facultatifs, l’instruction if présente deux
formes :
if (condition) {
bloc d'instructions 1;
}
else {
bloc d'instructions 2;
}
Imbrication des IF
if (condition 1) {
bloc1;
}
else if (condition 2) {
bloc2;
}
else if (condition 3) {
bloc3;
}
else {
bloc4;
}
Nous avons déjà mentionné que les instructions figurant dans chaque partie du choix d’une
instruction pouvaient être absolument quelconques. Elles peuvent en particulier renfermer à
leur tour d’autres instructions if. Compte tenu des deux formes possibles de l’instruction if
(avec ou sans else), il existe certaines situations où une ambiguïté apparaît.
Voici un exemple d’utilisation de if imbriqués. Il s’agit d’un programme de facturation avec
remise. Il lit en donnée un simple prix hors taxes et calcule le prix TTC correspondant (avec
un taux de TVA constant de 18,6%). Il établit ensuite une remise dont le taux dépend de la
valeur ainsi obtenue, à savoir :
• 0 % pour un montant inférieur à 1 000 F,
• 1 % pour un montant supérieur ou égal à 1 000 F et inférieur à 2 000 F,
• 3 % pour un montant supérieur ou égal à 2 000 F et inférieur à 5 000 F,
• 5 % pour un montant supérieur ou égal à 5 000 F.
Ce programme est accompagné de deux exemples d’exécution.
public class Tva
{ public static void main (String[] args)
{ double taux_tva = 21.6 ;
double ht, ttc, net, tauxr, remise ;
System.out.print ("donnez le prix hors taxes : ") ;
ht = Clavier.lireDouble() ;
ttc = ht * ( 1. + taux_tva/100.) ;
if ( ttc < 1000.) tauxr = 0 ;
else if ( ttc < 2000 ) tauxr = 1. ;
else if ( ttc < 5000 ) tauxr = 3. ;
else tauxr = 5. ;
remise = ttc * tauxr / 100. ;
net = ttc - remise ;
System.out.println ("prix ttc " + ttc) ;
System.out.println ("remise " + remise) ;
System.out.println ("net à payer " + net) ;
}
}
Résultat :
2. L’instruction SWITCH
L'instruction switch permet de s'affranchir des branchements else if vu précédemment, dans le
cas où les conditions sont toujours des tests d'égalité sur la même variable. Une
grosse contrainte porte sur le paramètre de l'instruction switch : il doit être obligatoirement
de type entier. On peut donc uniquement utiliser le switch pour comparer des valeurs entières
entre elles.
public class Switchgen{
public static void main (String[] args){
int n ;
System.out.print ("donnez un nombre entier : ") ;
n = Clavier.lireInt() ;
switch (n) {
case 0 : System.out.println ("nul") ;
break ;
case 1 :
case 2 : System.out.println ("petit") ;
case 3 :
case 4 :
case 5 : System.out.println ("moyen") ;
break ;
default : System.out.println ("grand") ;
}
System.out.println ("Au revoir") ;
}
}
Résultat :
………
Syntaxe de l’instruction switch
switch (expression){
case 1 : [ suite_d’instructions_1 ]
case 2 : [ suite_d’instructions_2 ]
..............
case n : [ suite_d’instructions_n ]
default : [ suite_d’instructions ]
}
Le fonctionnement est le suivant. Toutes les conditions sont testées, et toutes celles qui sont
vraies voient leur bloc d'instructions exécuté. Si on souhaite, que seul le bloc correspondant à
la condition vérifiée ou à la première condition vérifiée soit exécuté, il faut terminer chaque
bloc par l'instruction break comme ceci :
case 1: {
bloc1;
break;
}
3. L’instruction do... while
L'instruction do...while correspond au "repeat" des autres langages. Il correspond au cas où
le traitement doit s'éffectuer au moins une fois et lorsque c'est lui qui détermine l'état de la
condition. La syntaxe est la suivante :
do {
instruction1;
instruction2;
...
instructionn;
}
while (condition);
4. L’instruction while
L'instruction while permet d'itérer un bloc d'instructions tant qu'une condition est vérifiée.
Elle présente de plus l'avantage de tester la condition avant la première exécution. La syntaxe
est la suivante :
Exemple 2 :
public class While1
{ public static void main (String args[])
{ int n, som ;
som = 0 ;
while (som < 100)
{ System.out.print ("donnez un nombre : ") ;
n = Clavier.lireInt() ;
som += n ;
}
System.out.println ("Somme obtenue : " + som) ;
}
}
Résultat :
Donnez un nombre : 15
Donnez un nombre : 27
Donnez un nombre : 14
Donnez un nombre : 56
Somme obtenue : 112
5. L’instruction For
La boucle for est utilisée pour répéter un traitement sous forme de bloc d'instructions un
certain nombre de fois en principe connu à l'avance. La syntaxe est la suivante.
Exemple 1 :
public class For1
{ public static void main (String args[])
{ int i ;
for (i=1 ; i<=5 ; i++)
{ System.out.print ("bonjour ") ;
System.out.println (i + " fois") ;
}
}
}
Exemple 2 :
public class For2
{ public static void main (String args[])
{ int i = 1 ;
i=1;
while (i <= 5)
{ System.out.print ("bonjour ") ;
System.out.println (i + " fois") ;
i++ ;
}
}
}
Exemple 3 :
public class For3
{ public static void main (String args[])
{ int i, j ;
for (i=1 , j=3 ; i<=5 ; i++, j+=i)
{ System.out.println ("i = " + i + " j = " + j) ;
}
}
}
Résultat :
i=1j=3
i=2j=5
i=3j=8