LOGOProgrammation Orientée Objet POO Disponible sur: https://sites.google.com/a
LOGOProgrammation Orientée Objet POO Disponible sur: https://sites.google.com/a/esi.dz/s-aroussi/ Mme BOUTOUMI L2 2019 – 2020 Université Saad Dahlab de Blida Éléments de base de Java 2 Le langage Java • JAVA est un langage de programmation orientée objet. • Java hérite partiellement la syntaxe de C++ mais non ses défauts (pointeurs, allocation, désallocation, héritage multiple,...). • Java utilise les classes et les types de base. • Java est portable (indépendant de toute plate-forme). • Java est fiable(fortement typé et pas de pointeurs en apparence). • Java est sûr (Mécanisme d’exception, vérification du code à l’exécution et des accès réseau et/ou fichiers). • Récupération automatique de la mémoire inutilisée (Garbage Collector). La plateforme de JAVA (1) 3 • Plateforme = environnement matériel ou logiciel sur lequel le programme est exécuté. • La plateforme Java se compose de: la Java Virtual Machine (JVM) ou la machine virtuelle Java. l’interface de programmation Java ou Java Application Programming Interface (Java API) Plateforme de base matériel Programme Java Machine Virtuelle Java API Java Plateforme Java La plateforme de JAVA (2) 4 • API Java • Une vaste collection de composants logiciels (classes et interfaces). • Organisée en bibliothèques (packages). • Offre de nombreux services de manière standard (indépendamment de la plateforme matérielle). • Exemple de packages •Java.lang: gestion des chaînes de caractères (String), interaction avec l’OS (System), programmation parallèle (Thread). • Java.util: parseur de chaîne, Liste, Dictionnaires, HashTable,… • Java.io: gestion des entrées/Sorties (écran, clavier, fichier). • java.applet: gestion des applets. •Java.awt et Java.swing: gestion de l’interface graphique: Fenêtres, boutons, boites de dialogue, événements souris,.. La plateforme de JAVA (3) 5 • La Machine Virtuelle Java (JVM) se charge d'abstraire le comportement d'une machine. • Le programme n’est pas traduit en langage machine, mais dans un pseudo langage universel qui dispose de toutes les fonctionnalités communes à toutes les machines: bytecode. • Pour exécuter un programme java sur une machine, il suffit qu’elle dispose d’un programme approprié , machine virtuelle, pour interpréter le bytecode. • La machine virtuelle (JVM pour Java Virtual Machine) sert de passerelle entre le bytecode et le langage machine. Le bytecode est un langage proche du langage machine, indépendant de la plateforme (Matériel + Système d’exploitation) La plateforme de JAVA (4) 6 Dans la technologie Java, on a donc besoin : • Langage de programmation, • Compilateur, • JVM, • APIs Java, Les différentes éditions de Java: • Java SE (Java Platform, Standard Edition): J2SE pour applications classiques (desktop ou bureau) • Java EE (Java Platform, Enterprise Edition): J2EE pour développer et déployer des applications serveur, Web services, etc. APIs Java • Java ME (Java Platform, Micro Edition): J2ME pour les applications embarquées, PDA, téléphones, etc. • On veut juste exécuter, il suffit du JRE (Java Runtime Execution) par opposition au JDK (Java Developpement Kit). Compilation d’un programme Java 7 fichier.java Fichier.class Code source ByteCode CompilationJavaVMJavaVMJavaVM Windows Linux Mac Interprétation Syntaxe de Java 8 • S’appuie sur la syntaxe du langage C • Structure: //déclaration des bibliothèques import nom_bib; // Tout en Java est une classe class Nom_de_la_classe {//début //déclaration des attributs & variables globales … // méthodes (fonction) utilisés .. //le programme principale (celui qui s’exécute) doit contenir une méthode main public static void main (String[] args) { // liste des instructions séparées par « ; » } } // fin Règles de base: - Les blocs de code sont encadrés par des accolades. - Chaque instruction se termine par un caractère ';' (point virgule). - Java est sensible à la casse: void<>Void Chaque objet, classe, programme ou variable est associé à un nom : l'identificateur, qui peut se composer de tous les caractères alphanumériques et des caractères _ et $. Le premier caractère doit être une lettre, le caractère de soulignement ou le signe dollar. 9 Exemple class Facto { public static void main(String [] args) { int n=10; int f=1; for (int i=1;i<=n;i++) { f*=i; } System.out.println(f); } } Il y a toujours une méthode “public static void main”, exécutée quand l’application démarre Chaque variable (argument ou variable locale) est une cellule, avec un type déclaré statiquement Les entiers ne sont pas des objets, mais des types abstraits Il faut initialiser les variables locales avant de les utiliser 10 Les variables Déclaration Une variable possède un nom, un type et une valeur. La déclaration d'une variable doit donc contenir deux choses : un nom et le type de données qu'elle peut contenir. Type Soit un type élémentaire, primitif , déclaré sous forme : • type_élémentaire variable; Soit une objet appartenant à une classe, sous la forme: • classe variable ; Exemple long nombre; int compteur; String chaine; int jour, mois, annee; 11 Les types élémentaires Type Désignation Longueur Valeurs Commentaires boolean valeur logique : true ou false 1 bit true ou false pas de conversion possible vers un autre type byte octet signé 8 bits -128 à 127 short entier court signé 16 bits -32768 à 32767 char caractère Unicode 16 bits \u0000 à \uFFFF entouré de cotes simples dans du code Java int entier signé 32 bits -2147483648 à 2147483647 float virgule flottante simple précision 32 bits 1.401e-045 à 3.40282e+038 double virgule flottante double précision 64 bits 2.22507e-308 à 1.79769e+308 long entier long 64 bits -9223372036854775808 à 9223372036854775807 NAN Infinity, -Infinity Not A Number Infinie Ce sont des valeurs spéciales 12 Initialisation des variables En Java, toute variable est initialisée avec une valeur par défaut en accord avec son type. Les valeurs par défaut lors de l'initialisation automatique (uniquement pour les attributs) sont : Type Valeur par défaut boolean false byte, short, int, long 0 float, double 0.0 char \u000 classe null 13 Affectation Le signe = est l'opérateur d'affectation et s'utilise avec une expression de la forme variable = expression. Exemple : x = y = z = 0; Si opération sur des opérandes de types différents, le compilateur détermine le type du résultat en prenant le type le plus précis des opérandes. Exemple: • une multiplication d'une variable de type float avec une variable de type double donne un résultat de type double. • une opération entre un opérande entier et un flottant, le résultat est du type flottant. 14 Les Opérateurs En plus des opérateurs relationnels habituels (<, <=, >,>=, ==, !=) Java propose les opérateurs suivants: A l'intérieure d'une expression analysée de gauche à droite l’ordre est: Incréments ++ et décréments -- multiplication, division et reste de division (modulo) addition et soustraction comparaison le signe = d'affectation d'une valeur à une variable L'usage des parenthèses permet de modifier cet ordre de priorité. & a & b ET binaire ^ a ^ b OU exclusif binaire | a | b OU binaire && a && b ET logique || a || b OU logique 15 Les structures de contrôles Les Boucles (1) While while ( boolean ) { ... // code a exécuter dans la boucle } Do..While do { ... } while ( boolean ) 16 Les structures de contrôles Les Boucles (2) For for (initialisation; condition; modification) { ... } Exemple : for (i = 0 ; i < 10; i++ ) { ....} for (int i = 0 ; i < 10; i++ ) { ....} Il est possible d'inclure plusieurs traitements dans l'initialisation et la modification de la boucle : chacun des traitements doit être séparé par une virgule. Exemple : for (i = 0 , j = 0 ; i * j < 1000;i++ , j+= 2) { ....} 17 Les structures de contrôles Le Conditionnel (1) La structure "if" ("si") if (condition) { instruction 1; … } La structure "if-else" ("si- sinon") if (condition) { … } else { … } La structure "else-if" if (condition1) { … } else if (condition 2) { … } else if (condition 2) { … } else { … } 18 Les structures de contrôles Le Conditionnel (2) switch( expression ) { case valeur1: ... break; case valeur2: ... break; … default: ... } On ne peut utiliser switch qu'avec des types primitifs d'une taille maximum de 32 bits (byte, short, int, char). Si une instruction case ne contient pas de break alors les traitements associés au case suivant sont exécutés. Il est possible d'imbriquer des switch 19 Opérateur conditionnel (ternaire) (condition) ? instruction si vrai : instruction si faux; la condition doit être entre des parenthèses Lorsque la condition est vraie, l'instruction de gauche est exécutée Lorsque la condition est fausse, l'instruction de droite est exécutée Exemple total = (niveau ==5) ? 10 : 5; Est équivalent à: if (niveau == 5) total = 10; else total = 5 ; Les entrées sorties 20 Affichage sur console • Affichage sur la console System.out.print(chaîne de caractères à afficher) System.out.println(chaîne de caractères à afficher) • chaîne de caractères peut être : • une constante chaîne de caractères (String) System.out.println("coucou"); • une expression de type String System.out.println(age); • une combinaison (concaténation) de constantes et d'expressions de type String. La concaténation est exprimée à l'aide de l'opérateur + System.out.println("L'age de la uploads/Industriel/ cours-java.pdf
Documents similaires
-
24
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 03, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.9739MB