La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Master 1 SIGLIS java Lecteur Stéphane Tallard Chapitre 4 – Structures de contrôle.

Présentations similaires


Présentation au sujet: "Master 1 SIGLIS java Lecteur Stéphane Tallard Chapitre 4 – Structures de contrôle."— Transcription de la présentation:

1 Master 1 SIGLIS java Lecteur Stéphane Tallard Chapitre 4 – Structures de contrôle

2 Java Lecteur - Chapitre 4 Structures de contrôles 2 Master 1 SIGLIS Objectifs du chapitre A la fin de ce chapitre, vous connaitrez : L'affectation; Les opérateurs courants du langage Java ; Les littéraux ; Le if then else ; La boucle do while ; La boucle for

3 Java Lecteur - Chapitre 4 Structures de contrôles 3 Master 1 SIGLIS Affectation b = true ; mul = (int)(1*2*3*4*5*6) ; b = a ; p = 2.0 * Math.PI ; str = "The integer " + Long.MAX_VALUE + " is mighty big." ; = ; Exemples boolean b = true ; int mul = (int)(1*2*3*4*5*6) ; int a = Integer.MAX_VALUE / 2 ; int b = a ; double p = 2.0 * Math.PI ; String str = "The integer " + Long.MAX_VALUE + " is mighty big. Syntaxe On copie dans On peut déclarer les variables en leur donnant une valeur initiale

4 Java Lecteur - Chapitre 4 Structures de contrôles 4 Master 1 SIGLIS Opérateurs arithmétiques +, -, /, *, % : addition, soustraction, division, multiplication, modulo public class OperateursArithmetiques { public static void main(String[] args) { int ii = 1; int ij = 5 ; int ik = 12 ; double k = 3.1416 ; ; System.out.println("ii : " + ii); System.out.println("ij : " + ij); System.out.println("ik : " + ik); System.out.println("( ik / ( ij + ii ) : " + ( ik / ( ij + ii ))); System.out.println("( (3*ik) % ( ij + (2*ii) ) : " + ( (3*ik) % ( ij + (2*ii) ))); System.out.println("(ii + k) : " + (ii + k)); } ii : 1 ij : 5 ik : 12 ( ik / ( ij + ii ) : 2 ( (3*ik) % ( ij + (2*ii) ) : 1 (ii + k) : 4.1416 Résultat:

5 Java Lecteur - Chapitre 4 Structures de contrôles 5 Master 1 SIGLIS Incrémentation et décrémentation automatique ++, -- : incrémentation ( ajout d'une unité) et décrémentation (ajout d'une unité) en notation postfixe (i++ ou i--) : on utilise la variable et on l'incrémente ou décrémente ensuite en notation infixe (++i ou –-i) : on incrémente ou décrémente la variable et on l'utilise ensuite. public class AutoInc { public static void main(String[] args) { int i = 1; System.out.println("i : " + i); // Pré-incrémentation System.out.println("++i : " + ++i); // Post-incrémentation System.out.println("i++ : " + i++); System.out.println("i : " + i); // Pré-décrémentation System.out.println("--i : " + --i); // Post-décrémentation System.out.println("i-- : " + i--); System.out.println("i : " + i); } i : 1 ++i : 2 i++ : 2 i : 3 --i : 2 i-- : 2 i : 1 Exemple Résultat

6 Java Lecteur - Chapitre 4 Structures de contrôles 6 Master 1 SIGLIS Opérateurs relationnels Les opérateurs relationnels créent un résultat de type boolean: true ou false,>=, <=, ==, != : strictement inférieur, strictement supérieur, inférieur ou égal, supérieur ou égal, équivalent, non équivalent public class OperateursRelationnels { public static void main(String[] args) { int ii = 1; int ij = 5 ; System.out.println("ii == ii : " + (ii == ii)); System.out.println("ij > ii : " + (ij > ii)); System.out.println("ij < ii : " + (ij < ii)); System.out.println("ij != (ii + 4) : " + (ij != (ii + 4)) ); } ii == ii : true ij > ii : true ij < ii : false ij != (ii + 4) : false Exemple Exécution

7 Java Lecteur - Chapitre 4 Structures de contrôles 7 Master 1 SIGLIS Les opérateurs d'équivalence et les objets == et != utilisés sur des objets compare les références et non les objets pointés pour tester le contenu des objets il faut utiliser la méthode equals public class OperateursEquivalenceEtObjets { public static void main(String[] args) { String claude = "Claude"; String pierre = "Pierre" ; String s1 = claude ; String s2 = pierre ; String s3 = new String("Claude") ; System.out.println("claude == pierre : " + (claude == pierre)); System.out.println("s1 == s2 : " + (s1 == s2 )); System.out.println("s1 == claude : " + (s1 == claude)); System.out.println("s2 == pierre " + ( s2 == pierre) ); System.out.println("s3 == claude " + ( s3 == claude ) ) ; System.out.println("s3.equals(claude) " + ( s3.equals(claude) ) ) ; } claude == pierre : false s1 == s2 : false s1 == claude : true s2 == pierre true s3 == claude false s3.equals(claude) true Exemple (String) Exécution

8 Java Lecteur - Chapitre 4 Structures de contrôles 8 Master 1 SIGLIS Les opérateurs logiques Les opérateurs logiques créent un résultat de type boolean: true ou false &&, ||, ! : et, out, non public class OperateursLogiques { public static void main(String[] args) { java.util.Random rand = new java.util.Random(); //on tire deux nombres au hasard int i = rand.nextInt() % 100; int j = rand.nextInt() % 100; // on s'assure qu'in sont positifs i = Math.abs(i) ; j = Math.abs(j) ; System.out.println("i = " + i); System.out.println("j = " + j); System.out.println("i > j is " + (i > j)); System.out.println("i < j is " + (i < j)); System.out.println("i >= j is " + (i >= j)); System.out.println("i <= j is " + (i <= j)); System.out.println("i == j is " + (i == j)); System.out.println("i != j is " + (i != j)); System.out.println("(i < 50) && (j < 50) is " + ((i < 50) && (j < 50)) ); System.out.println("(i < 50) || (j < 50) is " + ((i < 50) || (j < 50)) ); } i = 99 j = 83 i > j is true i < j is false i >= j is true i <= j is false i == j is false i != j is true (i < 50) && (j < 50) is false (i < 50) || (j < 50) is false Exemple Exécution

9 Java Lecteur - Chapitre 4 Structures de contrôles 9 Master 1 SIGLIS Priorité des opérateurs Combien vaut d1 ? 5,666666 ? 0,25 ? ?????? Utilisez des parenthèses ! double d1 = 2.0 / 3.0 + 5.0 ; public class Priorité { public static void main(String[] args) { double d1 = 2.0 / 3.0 + 5.0 ; double d2 = 2.0 / (3.0 + 5.0) ; double d3 = (2.0 / 3.0) + 5.0 ; System.out.println("2.0 / 3.0 + 5.0 = " + d1); System.out.println("2.0 / (3.0 + 5.0) = " + d2); System.out.println("(2.0 / 3.0) + 5.0 = " + d3); } 2.0 / 3.0 + 5.0 = 5.666666666666667 2.0 / (3.0 + 5.0) = 0.25 (2.0 / 3.0) + 5.0 = 5.666666666666667 Exemple Exécution

10 Java Lecteur - Chapitre 4 Structures de contrôles 10 Master 1 SIGLIS Blocs d'instructions commence par { et se termine par } contient des affectations, des déclarations de variables, des structures de contrôle, des appels de méthodes, mais aussi d'autres blocs d'instruction. { int i = 34 ; int k = i * 3 ; } Exemple

11 Java Lecteur - Chapitre 4 Structures de contrôles 11 Master 1 SIGLIS Branchement conditionnel if-then-else if (condition) bloc d'instructions 1 else bloc d'instructions 2 if (condition) bloc d'instructions 1 else bloc d'instructions 2 Java évalue condition (qui doit être une expression de type boolean); Si condition vaut true, il exécute blocs d'instructions 1 Si condition vaut false, il exécute bloc d'instructions 2. public class BranchementConditionnel { public static void main(String[] args) { // on prend le temps de l'horloge système en milli secondes. long time = System.currentTimeMillis(); if ((time % 2) == 0) { System.out.println("Nombre pair !") ; } else { System.out.println("Nombre impair !") ; } Exemple Nb: Le else est optionnel

12 Java Lecteur - Chapitre 4 Structures de contrôles 12 Master 1 SIGLIS Branchement conditionnel: switch-case switch(expression) { case valeur-entiere1: bloc d'instructions 1; [break;] case valeur-entiere2: bloc d'instructions 2; [break;]... default : bloc d'instructions n; } switch(expression) { case valeur-entiere1: bloc d'instructions 1; [break;] case valeur-entiere2: bloc d'instructions 2; [break;]... default : bloc d'instructions n; } On évalue expression qui doit être de type entier; Parmi les constantes qui sont utilisées dans le switch-case, on recherche la constante qui est égale à la valeur trouvée Si on en a trouvé une, on exécute le bloc d'instructions correspondant et les blocs suivants (y compris le bloc default) jusqu'à rencontrer un break Si on n'a rien trouvé, on exécute le bloc d'instructions default s'il existe ; public class VoyellesEtConsonnes { public static void main(String[] args) { // on tire une lettre au hasard char c = (char)(Math.random() * 26 + 'a'); System.out.print(c + ": "); switch(c) { case 'a': case 'e': case 'i': case 'o': case 'u': case 'y': System.out.println("Voyelle"); break; default: System.out.println("consonne"); } $ java VoyellesEtConsonnes d: consonne $ java VoyellesEtConsonnes y: Voyelle Exécution Exemple

13 Java Lecteur - Chapitre 4 Structures de contrôles 13 Master 1 SIGLIS Itération while on évalue conditionqui doit être une expression de type boolean Si condition est true, on exécute bloc d'instructions et on recommence; Si condition est false, l'exécution du while est terminée. while (condition) bloc d'instructions while (condition) bloc d'instructions public class DoWhile public static void main(String[] args) { int i = 0 ; while ( i < 23) { System.out.println(" hello" ) ; i = i + 1 ; } java DoWhile hello Exemple Exécution

14 Java Lecteur - Chapitre 4 Structures de contrôles 14 Master 1 SIGLIS Itération do-While do bloc d'instructions ; while (condition) do bloc d'instructions ; while (condition) on exécute le bloc d'instructions ; on évalue condition (qui doit être une expression de type boolean); Si condition vaut true, on recommence; Si condition vaut false, l'exécution du do-while est terminée. public class While { public static void main(String[] args) { long time = 0 ; do { // on prend le temps de l'horloge système en milli secondes. time = System.currentTimeMillis(); if ((time % 7) == 0) { System.out.println("Nombre multiple de 7!"); } else { System.out.println("Nombre non multiple de 7 !!!!"); } while ((time % 7) != 0 ) ; } java While Nombre non multiple de 7 !!!!... Nombre non multiple de 7 !!!! Nombre multiple de 7! Exécution Exemple Le bloc d'instruction est exécuté au moins une fois.

15 Java Lecteur - Chapitre 4 Structures de contrôles 15 Master 1 SIGLIS Iteration for On exécute l'opération d'initialisation On évalue condition (qui doit être une expression de type boolean) (1); Si condition vaut true, on exécute le bloc d'instructions, on exécute opération on recommence en (1); Si condition vaut false, l'exécution du for est terminée for (initialisation;condition;opération) bloc d'instructions for (initialisation;condition;opération) bloc d'instructions

16 Java Lecteur - Chapitre 4 Structures de contrôles 16 Master 1 SIGLIS Iteration For (2) public class For { public static void main(String[] args) { int nbMultiple7 = 0 ; long nb ; // on initialise le générateur de nombres aléatoires java.util.Random rnd = new java.util.Random() ; for (int i = 0; i < 100000; i++) { // on tire au sort un entier nb = rnd.nextInt() ; if ((nb % 7) == 0) { nbMultiple7 = nbMultiple7 + 1 ; } System.out.println("J'ai eu " + nbMultiple7 + " multiples de 7") ; } java For J'ai eu 14107 multiples de 7. Exécution Exemple

17 Java Lecteur - Chapitre 4 Structures de contrôles 17 Master 1 SIGLIS Un texte ici


Télécharger ppt "Master 1 SIGLIS java Lecteur Stéphane Tallard Chapitre 4 – Structures de contrôle."

Présentations similaires


Annonces Google