Elements du Langage Java PDF
Document Details
Dr. A. Nejeoui
Tags
Summary
This document contains a presentation on the fundamentals of the Java programming language. It covers topics such as data types, operators, expressions, instructions, and control flow structures. The document is meant to be a learning resource on the basics of Java programming.
Full Transcript
CHAPITRE 2 : LES ELEMENTS DU LANGAGE JAVA Dr. A. Nejeoui POO JAVA: GI2 1 Objectifs : INTRODUCTION Comprendre la structure d’une application Java Manipulation des variables de types primitifs Comprendre le Dépassemen...
CHAPITRE 2 : LES ELEMENTS DU LANGAGE JAVA Dr. A. Nejeoui POO JAVA: GI2 1 Objectifs : INTRODUCTION Comprendre la structure d’une application Java Manipulation des variables de types primitifs Comprendre le Dépassement Manipulation des variable de types references Les opérateurs (arithmétiques, logiques, ) Les Expressions et les Instructions POO JAVA : GI2 2 INTRODUCTION Instructions de contrôle if - else L’instruction switch Boucle for Boucle while Boucle do-while break et continue try-catch- nally return POO JAVA : GI2 3 fi STRUCTURE D’UNE APPLICATION JAVA UNE APPLICATION JAVA EST UN ENSEMBLE DE CLASSES ET INTERFACES DONT UNE AU MOINS CONTIENT LA MÉTHODE MAIN. LES CLASSES SONT COMPOSÉS DE MÉTHODES ET ATTRIBUTS. UNE MÉTHODE EST UN ENSEMBLE D'INSTRUCTIONS. IL Y A 3 TYPES D’INSTRUCTIONS, INSTRUCTIONS : DE DECLARATION D’EXPRESSION DE CONTRÔLE DE FLOT D’EXÉCUTION POO JAVA: GI2 4 POO JAVA: GI2 5 LES DECLARATIONS POO JAVA: GI2 6 LES VARIABLES DE TYPES Type PRIMITIFS Taille Min M UNE VARIABLE EST UNE ZONE byte / Byte 8 -128 127 ax MEMOIRE IDENTIFIÉE PAR UN IDENTIFICATEUR. short / Short 16 -32768 32767 CHAQUE VARIABLE POSSÈDE UN NOM ET UN TYPE ET ELLE EST VISIBLE DANS SA PORTÉE. char / Character 16 U+0000 U+FFFF EN JAVA ON DISTINGUE ENTRE : LES VARIABLES DE DE TYPE int / Integer 32 -2147483648 2147483647 PRIMITIF -922337203685 9223372036854 LES VARIABLES DE TYPE long / Long 64 REFERENCE 4775808 775807 oat / Float 32 1.4E-45 3.4028235E+38 - 1.79769313486 double / Double 64 4.9E-324 23157E308 boolean / Boolean - - - POO JAVA: GI2 7 fl OVERFLOW / UNDERFLOW BUSINESS THEME 8 OVERFLOW / UNDERFLOW Un entier int est stocké sur 32-bits, le résultat n*n est 4,000,000,000,000,000,000 dont la représentation binaire est sur 64-bits : -- Les bits du poids le plus fort -- 00110111 10000010 11011010 11001110 -- Les bits du poids le plus faible- 10011101 10010000 00000000 00000000 32-bit n’est pas suffisant pour stocker le nombre, les 4 octets du poids le plus fort sont tronqués, le nombre est donc remplacé par les 4 octets du poids le plus faible : 10011101 10010000 00000000 00000000 qui représente le nombre décimal 1651507200 et comme le bit du poids le plus fort est égal à 1, le nombre est négatif donc on aura -1651507200 Un double est stocké sur 64-bits La valeur Max = Double.MAX_VALUE = 1.7976931348623157E308 La valeur Min = Double.MIN_VALUE = 1.7976931348623157E308 Un float est stocké sur 32-bits La valeur Max = Float.MAX_VALUE = 3.4028235E38 La valeur Min = Float.MIN_VALUE = 1.4E-45 Le résultat d’un Overflow pour les types double et float donne INFINITY Le résultat d’un Underflow pour les types double et float donne 0.0 POO JAVA: GI2 9 NOM D’UNE VARIABLE Un identificateur : Doit commencer par une Lettre Java (Character.isJavaIdentifierStart(int ) doit retourner true) Doit contenir seulement des caractères de type Lettre Java ou chiffres Java (Character.isJavaIdentifierPart(int) doit retourner true ) Doit être différent des mots réservés du langage Java Doit être différent des littérales : true, false et null. Peut avoir une taille quelconque : mais de préférence il faut choisir des noms de variables significatifs et courts. Par convention : le nom d’une variables commence par une lettre minuscule. POO JAVA: GI2 1 0 50 MOTS-RÉSERVÉS JAVA abstract continue for new switch assert default if package synchronized boolean do goto private this break double implements protected throw byte else import public throws case enum instanceof return transient catch extends int short try char nal interface static void volatile class nally long strictfp while const oat native super 11 POO JAVA: GI2 1 fl fi fi 1 VARIABLES DE TYPE REFERENCE Toute variable de type différent des 8 types primitifs est dite de type référence. Example : String nom=“Hicham”; Date date; Gadget helicopter = new Helicopter(); l’API Java 8 contient plus de 4000 classes. On peut initialiser les variables de type reference par affectation d’une reference d’un type compatible ou via l’appel d’un constructeur d’un type compatible. POO JAVA: GI2 1 2 INITIALISER UNE VARIABLE une variable de type primitif int x = 35; peut être initialisée par une latérale d’un type compatible. double d=3.56; byte index=109; long mils=1234567890L; short numero=34567; char \‘ = جيمu062C'; oat x = 35.09f; char tradeM = ‘\u2122'; boolean ag=true; POO JAVA: GI2 1 fl 3 fl PORTÉE D’UNE VARIABLE Definition : La portée d’une variable c’est la section du code source dans laquelle la variable est visible. Java définit quatre niveaux de portée : Les variables membre Les paramètres d’une méthode Les variables locales Les paramètres de gestion des exceptions : accessibles dans le block catch POO JAVA: GI2 1 4 LA CLASSE STRING La classe String est une classe immuable qui représente des chaines de caractères immuables. length() charAt(int index) split(String sep) intern() substring(int beginIndex, int endIndex) match(String regex) POO JAVA : GI2 1 5 OPÉRATEURS Il y’a plusieurs type d’opérateur en Java : Opérateurs arithmétiques Opérateurs conditionnels et relationnels Opérateur logiques Opérateurs sur les bits. Opérateurs d’affectation POO JAVA: GI2 1 6 OPÉRATEURS ARITHMÉTIQUES Opérateur Utilisation Description + op1 + op2 Ajoute de op1 à op2 - op1 - op2 Soustrait op2 de op1 * op1 * op2 Multiplie op1 par op2 / op1 / op2 divise op1 par op2 % op1 % op2 Calcul le reste de la division de op1 par op2 POO JAVA: GI2 1 6 7 OPÉRATEURS UNAIRES Opérateur Utilisation Description Change le type de op à int si c’était un byte, + +op short, ou char - -op Négation arithmétique de op Opérateur Utilisation Description Incrément op par 1; il est évalué par la valeur ++ op++ de op avant incrémentation. Incrément op par 1; il est évalué par la valeur ++ ++op de op après incrémentation. Décrément op par 1; il est évalué par la valeur -- op-- de op avant décrémentation. décrément op par 1; il est évalué par la valeur -- --op de op après décrémentation. POO JAVA: GI2 1 6 8 OPÉRATEURS RELATIONNELS Opérateur Utilisation Retourne true si Un opérateur relationnel compare deux op1 est plus grand que opérandes et > op1 > op2 détermine la relation op2 entre eux op1 est plus grand ou >= op1 >= op2 égal à op2 < op1 < op2 op1 est inférieur à op2 op1 est inférieur ou égal 2 donne 1 droit signée des opérateurs de décalage de si n est un entier négatif (n >> s) + (2 >, >), par contre n >>> s 31-s) la promotion numérique Décalage à si n est un long négatif (n >> s) + (2L >> droit non 63-s) chaque opérande séparément signée -7 >>> 1 donne 2147483644 -7L >>>1 donne 9223372036854775804 avant d’appliquer les opérateurs de décalage des >>= op1>>=op2 op1=op1 >> op2 bits. >=op2 op=op >>> op2 2 6 2 AUTRES OPÉRATEURS Opérateur Description ?: Abréviation de l’instruction if-else Déclaration des tableaux (arrays), création, accès [] aux éléments.. Pour former des nom composés Détermine une liste des paramètres séparés par (params ) des virgules. ( type ) Converti une valeur au type spécifié new Pour créer un nouveau objet ou nouveau tableau Détermine si son premier opérande est une instanceof instance de son second opérande. POO JAVA: GI2 2 6 3 COMPLÉMENT À DEUX Java utilise la representation complément à deux pour représenter les nombres entiers. un nombre positifs est représenté par ça représentation binaire ordinaire. un nombre négatif est est obtenu alors par inversion des bits du nombre positif puis ajouter 1 et ignorer le dépassement. POO JAVA: GI2 2 4 EXPRESSIONS, INSTRUCTION ET BLOCS POO JAVA: GI2 2 5 EXPRESSIONS Les expressions sont utilisées pour calculer et assigner les valeurs aux variables, et pour aider Définition à contrôler le ot d’exécution du Une expression est une programme. série d’opérandes, opérateurs et appels de méthodes qui est Le rôle d’une expression est évaluée à une seule valeur. double: faire les calculs indiqués par les éléments de l’expression et retourner le résultat du calcul. POO JAVA: GI2 2 6 fl EXPRESSIONS Quelques examples d’expressions a=b+c System.out.println(“Bonjour”) Character.isJavaIdenti erPart( ch ) a++ ch = str.charAt(0) POO JAVA: GI2 2 7 fi EVALUATION DES EXPRESSIONS l’opérande a gauche est évalué en premier : int a=5; a= (a=10)+a; System.out.println(a) a+=(a=10); System.out.println(a) POO JAVA: GI2 2 8 VALEUR D’UNE EXPRESSIONS Expression Action Valeure Retournée ch = ‘a’ affecte le charactere ‘a' à la variable ch la valeur de ch après affectation de (‘a’) Chaque expression “La valeur MAX d’un Concatène la chaîne de caractères "La La chaîne de caractères : réalisé une type short est " + valeur MAX d’un type short est " et La valeur MAX d’un operation et Short.MAX_VALUE la valeur de Short.MAX_VALUE type short est 32767 après conversion au type string retourne une valeur. Character.isJavaIdentifi Appelle la méthode.isJavaIdentifierPart La valeure retournée par erPart(ch) la méthode : true POO JAVA: GI2 2 6 9 LES INSTRUCTIONS Les instructions sont équivalentes aux phrases dans les langages naturelles. Une instruction forme une unité complète d’exécution. Il y’a trois types d’instructions: Les instructions d’expressions Les instructions de déclarations Les instructions de contrôle de ux POO JAVA: GI2 3 0 fl INSTRUCTIONS D’EXPRESSIONS Toute expression terminée par un point virgule est une instruction d’expression. Exemples : aValue = 8933.234; // instruction d’affectation aValue++; // instruction d’incrémentation System.out.println(aValue); //appel de méthode Integer integerObject = new Integer(4); // instruction d’instantiation POO JAVA: GI2 3 1 INSTRUCTIONS DE DECLARATION Une instruction de declaration permet de declarer une variable de type primitif ou de type reference. Exemples : int somme; char uneLettre; Voiture voiture; Object obj; POO JAVA: GI2 3 2 INSTRUCTIONS DE CONTRÔLE DE FLOT D’EXÉCUTION if if-else switch boucles : for, while et do-while break continue try-catch- nally return POO JAVA: GI2 3 3 fi IF - ELSE La syntaxe générale : if (expression booléenne) { bloc1 } else { bloc2 } La condition doit être évaluable en true ou false et elle est obligatoirement entourée de parenthèses. La partie commençant par else est facultative. Les points-virgules sont obligatoires après chaque instruction et interdits après }. Si un bloc ne comporte qu'une seule instruction, les accolades qui l'entourent peuvent être omises. POO JAVA: GI2 3 4 SINON PENDANT ‘DANGLING ELSE’ POO JAVA: GI2 3 5 L'OPÉRATEUR TERNAIRE ( ) ?... :... int a=5, b=20, max; max = (a>b)?a:b ; System.out.println(max); POO JAVA: GI2 3 6 SWITCH La syntaxe générale : switch (expression entière ou caractère ou chaine de caractère ou Enumeration) { case i: case j: [bloc d'instructions] break; case k :........ default: } Rq: Le type de la variable d'une instruction case doit être char, byte, short, int, String ou Enum. POO JAVA: GI2 3 7 SWITCH POO JAVA: GI2 3 8 SWITCH POO JAVA: GI2 3 9 BOUCLE FOR Syntaxe Générale : for ( liste expressions1; Expression logique ; liste expressions3){ bloc } C'est la boucle contrôlée, utilisée pour répéter N fois un même bloc d'instructions liste expressions1 précise la valeur initiale des variables de contrôle (ou compteurs) Expression logique, la condition à satisfaire pour rester dans la boucle liste expressions3, une liste d’actions à réaliser à la fin de chaque boucle (en général, l'actualisation des compteurs). POO JAVA: GI2 4 0 BOUCLE WHILE L'itération while int max = 100, i = 0, somme = 0; while (expression) { bloc while (i