Introduction à Java - Cours 1

Document Details

Uploaded by Deleted User

ÉTS

Mirna Awad et Roberto Erick Lopez Herrejon

Tags

Java programming programming beginner computer science

Summary

Ce document est un cours d'introduction à la programmation Java. Il présente les concepts fondamentaux de Java, tels que la déclaration de variables, les types de données, les opérations et l'affichage d'informations.

Full Transcript

Introduction à Java Enseignante: Mirna Awad Responsable de cours: Roberto Erick Lopez Herrejon 1 Objectifs  Présenter les concepts principaux de  Contrôle de l’exécution Java  if, switch  Déclaration d...

Introduction à Java Enseignante: Mirna Awad Responsable de cours: Roberto Erick Lopez Herrejon 1 Objectifs  Présenter les concepts principaux de  Contrôle de l’exécution Java  if, switch  Déclaration de variables  Boucles – for, while, do-while  Type de données  Définition et appel des méthodes  Opérations booléennes  Opérations relationnelles  Opérations arithmétiques  Transtypage  Anatomie d’un programme  Compilation et exécution  Tableaux 2 Déclaration de variables  Type de variable suivi:  d’un nom de variable ou  d’une liste de noms de variables séparés par des virgules  Syntaxe : ; , , ;  Exemples int age; char confirmation; double pointx, pointy, deltax, deltay; 3 Règles pour les noms de variables  Les noms de variables :  Doivent commencer avec une lettre, le symbole _, ou le symbole $.   compteur  3distance  Ne peuvent pas être des mots-clés.   double  Peuvent être une séquence de lettres, de nombres, des symboles _ou $ qui suivent les 2 règles antérieures.   inc_delta  nombre3 4 Java est sensible à la casse  Les variables et toutes les autres structures de Java distinguent les majuscules et les minuscules  Exemples :  V et v  motCompteur et motcompteur 5 Types de données  Primitifs Primitifs Type Nombre de Intervalle  Les types les plus simples qui existent Bits par défaut en Java byte 8 [-128,127] short 16 [-32768, 32767]  Objets – Références int 32 [-231, , 231-1]  Sont définis par les classes et les long 64 [-263, , 263-1] interfaces float 32 32 bits virgule flottante  Chaque classe et chaque interface -3.4E38 a 3.4E38 définit un type double 64 64 bits virgule flottante -1.7E308 a 1.7E308  Type spécial char 16 Unicode void  aucun type boolean 1 true , false double  float  long  int  short  byte 6 Assigner des valeurs aux variables  Syntaxe : = ;  Exemples : x=4; y=20;  Il est possible d’assigner des valeurs dans la définition de variables : int x=4; byte y=20; double a,b,c,d = 20.5; 7 Afficher du texte à l’écran  Deux instructions de base :  System.out.print( );  sans nouvelle ligne  System.out.println();  avec nouvelle ligne  Exemples :  System.out.println("Bonjour tout le monde");  System.out.print(x);  System.out.println("Variable x = " + x); 8 Opérations de comparaison (relationnelles) Opération Signification == égal à != pas égal à > plus grand que (supérieur à) < moins grand que (inférieur à) >= supérieur ou égal à 3 && y < 15)); System.out.println("(x>3) || (y < 15) est " + (x>3 || y < 15)); System.out.println("!(x3) & (y < 15) est " + (x>3 & y < 15)); System.out.println("(x>3) | (y < 15) est " + (x>3 | y < 15)); System.out.println("(x>3) ^ (y < 15) est " + (x>3 ^ y < 15)); 12 Caractères  Un caractère est un symbole simple  Le type d’un caractère est char  Java utilise l’Unicode de 16 bits pour décoder les caractères  Exemples: ‘x’ , ‘1’, ‘y’  Caractères spéciaux : \n nouvelle ligne (new line) \t tabulateur (tab) \r touche enter (carriage return) double  float  long  int  char 13 Exemples char c = 'A'; char d = '\u0041'; char e = 'a'; Affichage? char f = 'b'; System.out.println("c= " + c + " d= " + d); System.out.println("e= " + e + " f= " + f); System.out.println(" f > e est " + (f > e)); System.out.println(" c > e est " + (c > e)); 14 Exercice de participation #1  Quelles sont les valeurs de ces variables après l’initialisation? int x = 3; double d = 4; byte b = 300; a) x=3, d=4, b=128 b) x=3, d=4, b=300 c) x=3, d=4, b=-172 d) Erreur du compilateur e) Aucune de ces réponses 15 Opérations arithmétiques  Opérations standard +, -, *, /, % (modulo), ++, --  Précédence standard () ++, -- *, /, % +, - 16 Incrément (++) et décrément (--)  Exemple si x = 10; y = ++x; => y = 11 x = 11 y = x++; => y = 10 x = 11  Même chose pour le décrément --  Abréviation : y = y + 5; équivalent à y + = 5; 17 Associativité L’associativité détermine l’ordre des opérations quand deux opérations ont la même précédence. Toutes les opérations binaires font l’association à gauche sauf l’assignation (=). 18 L’ordre d’évaluation des opérations binaires  Les opérations binaires évaluent au début le premier opérande, et ensuite le deuxième opérande.  C’est important quand on a des effets secondaires (side effects) int a = 0; int a = 0; int x = a + ++a; int x = ++a + a; System.out.println(" x= " + x); System.out.println(“x= " + x); 1 2 19 Exemple – précédence et associativité  Quelles sont les valeurs de r et de s? int a = 7; int b = 2; int c = 4; int r = a - b * c++; int s = a + b * c % 6 - 5; 20 Opérateur conditionnel  Syntaxe : condition ? : ;  Exemple : boolean test = false; int valeur = test == true ? 10 : 20; => valeur = ?  Astuce :  Procédez avec précaution parce que le code est un peu difficile à interpréter 21 Transtypage (type casting)  Règle générale : double  Si le type est suffisant  ok Exemple : float à double float  Si le type n’est pas suffisant  faire attention aux valeurs long Exemple : double à float, ça peut être correct ou non selon la valeur à int transformer. short char  Transtypage :  Implicite  automatique byte  Explicite  fait par le programmeur 22 Transtypage – exemples int i; float r; r = i; correct i = r; incorrect double x, y; int quotient; quotient = (int) (x/y ); incorrect 23 Transtypage – exemple  Quelle est la valeur de la variable i? char c = 'A'; int i = c; 24 Méthode main() en Java public class Premier { public static void main(String[ ] args) { System.out.println(“Bonjour Monde”); } } 1) Le programme est stocké dans le fichier Premier.java 2) Toute application Java doit obligatoirement contenir une méthode main() qui sera exécutée en premier par le programme Java 25 Analyse du programme Premier identifier une classe public class Premier { modificateur modificateur début de l’exécution tableau pour éléments d’entrée public static void main (String[] args) { System.out.println(“Bonjour Monde”); } afficher un message à l’écran } 26 Compiler et exécuter un programme  La compilation crée un fichier avec.class qui contient le bytecode > javac Premier.java  Premier.class  L’exécution utilise le fichier avec le bytecode > java Premier > Bonjour Monde  Dans le laboratoire, on va utiliser un outil IDE pour faire la programmation, la compilation et l’exécution  Basé sur Eclipse 27 Définitions de tableaux Syntaxe: type nom[ ] = new type [ taille ]; type nom[ ] [ ] = new type [taille1][taille2]; ou type[ ] nom = new type [taille]; type[ ] [ ] nom = new type[taille1][taille2]; Exemples : int valeurs[ ] = new int; int [ ][ ] matrice = new int; 28 Initialisation de tableaux  Avec les valeurs des indices valeurs = 4; les indices prennent des valeurs de 0 à taille – 1 matrice = 1; de chaque dimension  Avec l’énumération de valeurs dans la définition : int valeurs[] = { 5, 2, 4, 8, 9}; int matrice [ ][ ] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; 29 Taille des tableaux  On utilise le mot-clé length pour obtenir la taille d’un tableaux  Exemples : int valeurs[] = { 5, 2, 4, 8, 9}; Systemt.out.println(valeurs.length); 5 int matrice [ ][ ] = { {1, 2, 3}, {4, 5, 6},}; System.out.println(matrice.length); 2 System.out.println(matrice.length); 3 30 Exercice de participation #2  Avec la définition suivante : int matrice [ ][ ] = { {1, 4, 7}, {2, 5, 8}, {3, 6, 9} };  Question : Quelle est la valeur de matrice ? A) 5 B) 2 C) 4 D) 8 31 Un programme un peu plus complexe  Tâche :  Écrivez un programme qui reçoit le rayon d’un cercle, un nombre de type double, et qui affiche l’aire qui correspond à ce cercle.  Exemple : > java Aire 3 L’aire du cercle avec un rayon de 3 est de 28.2744  La formule à utiliser : aire = 3.1416 * rayon2 32 Calcul de l’aire d’un cercle public class Aire { public static void main(String[] args) { double rayon = Double.parseDouble(args); double pi = 3.1416; double aire = pi * rayon * rayon; System.out.print(" Aire d’un cercle avec rayon " + rayon); System.out.println(" est " + aire); } } args contient la valeur du premier paramètre args[ième] contient la valeur du ième paramètre Double.parseDouble, fait la conversion d’un String à une valeur double 33 Fil d’exécution (control flow)  Détermine l’ordre d’exécution des instructions  Les instructions sont exécutées de façon séquentielle  On peut changer l’ordre avec :  L’instruction conditionnelle (branch) :  if, switch  L’itération :  while, do-while, for  L’exécution et retour des méthodes :  return  Les exceptions : à voir sous peu  Les assertions : à voir dans les prochains cours… 34 Syntaxe de if if (condition) instruction; if (condition) { … séquence d’instructions … } condition if (condition) { vrai faux … séquence d’instructions … } else { true false … séquence d’instructions … } 35 Exemples de if if (compteur > 10) compteur = 0; if (compteur > 0 && compteur < 10) { produit = nombre * 10; total + = produit; } 36 Recommandations pour le if  Toujours utiliser { } même si c’est if (opt ==1) { une seule instruction char = ‘1’; } else { if (opt == 2) {  Toujours aligner les { } qui char = ‘2’; correspondent dans la même } // de opt = 2 colonne if (newline) { char = ‘\t’;  Toujours ajouter des } else { commentaires après le } if (opt ==3) { char = ‘3’; } // de opt = 3 } // de else newline } // de else opt = 1 37 Syntaxe de switch valeurs de type: switch (expression) { char case valeur1 : … instructions … break; byte case valeur2 : … instructions … short break; int... default : … instructions … optionnel break; } les break sont optionnels 38 Exemple de switch int val = 3; int total = 10; switch (val) { val =0 val = 1 case 0: total = 2; total = 2 break; val = 2 case 1: total = 5; total =5 case 2: total += 3; break; total += 3 default: total = 0; total = 0 break; } break total = 0 39 Exemple de switch int val = 1; int total = 10; switch (val) { val =0 val = 1 case 0: total = 2; total = 2 break; val = 2 case 1: total = 5; total =5 case 2: total += 3; break; total += 3 default: total = 0; total = 0 break; } break total = 8 40 Exercice de participation #3 int i = 3;  Quelles sont les valeurs de i et de int x = 10; x à la fin du code? A) i = 3 x = 10 switch(i) { case 0: case 1: case 2: break; B) i = 5 x = 15 case 3: i+=2; C) i = 5 x = 10 case 4: x+=i; break; D) i = 3 x = 3 default: x = 3; E) Aucune de ces réponses } 41 Conseils pour switch  Utilisez toujours le default même si vous êtes bien sûr d’avoir considéré toutes les valeurs  Dans ce cas, retournez un code d’erreur  Utilisez préférablement le break dans toutes les expressions case.  Si deux expressions case ou plus partagent du code, ajoutez un commentaire pour expliquer cela. 42 Syntaxe de la boucle while  Syntaxe : while (condition) instruction; while (condition) { … séquence d’instructions… }  Exécute l’instruction ou les instructions de la boucle pendant que l’évaluation de la condition est vraie (true) 43 Exemple de while Compteur = 1 Compteur = 2 int compteur = 1; Compteur = 3 while (compteur

Use Quizgecko on...
Browser
Browser