0% ont trouvé ce document utile (0 vote)
15 vues21 pages

Java V1

Le document présente un plan de cours sur le langage Java, incluant des chapitres sur les classes, l'héritage, les exceptions, les interfaces graphiques et JDBC. Il fournit également un aperçu des caractéristiques et de l'historique de Java, ainsi que des différences entre les éditions Java (SE, EE, ME). Enfin, il aborde la syntaxe de Java et les types de commentaires disponibles dans le langage.

Transféré par

itbouchanes
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues21 pages

Java V1

Le document présente un plan de cours sur le langage Java, incluant des chapitres sur les classes, l'héritage, les exceptions, les interfaces graphiques et JDBC. Il fournit également un aperçu des caractéristiques et de l'historique de Java, ainsi que des différences entre les éditions Java (SE, EE, ME). Enfin, il aborde la syntaxe de Java et les types de commentaires disponibles dans le langage.

Transféré par

itbouchanes
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 21

03/03/2023

Université Hassan II de Casablanca


Faculté des sciences Ain – Chock
Département de mathématiques et informatique

1
Préparé par : JAI ANDALOUSSI SAID

Plan de cours

❑ Chapitre 1 : Présentation du langage JAVA


❑ Chapitre 2 : Classes JAVA
❑ Chapitre 3 : Héritage
❑ Chapitre 4 : Exceptions
❑ Chapitre 5 : Interfaces graphiques (Swing)
❑ Chapitre 6 : JDBC

1
03/03/2023

Plan de cours

❑ Chapitre 1 : Présentation du langage JAVA


❑ Chapitre 2 : Classes JAVA
❑ Chapitre 3 : Héritage
❑ Chapitre 4 : Exceptions
❑ Chapitre 5 : Interfaces graphiques (Swing)
❑ Chapitre 6 : JDBC

Chapitre 1 : Présentation du langage JAVA

Le langage Java est un langage de programmation orienté objet créé par James Gosling
et Patrick Naughton, employés de Sun Microsystems, avec le soutien de Bill Joy
(cofondateur de Sun Microsystems en 1982), présenté officiellement le 23 mai 1995 au
SunWorld.

en 2009

rachetée par

2
03/03/2023

Chapitre 1 : Présentation du langage JAVA

Quelques chiffres et faits à propos de Java en 2021 :


❑ 97% des machines d'entreprises ont une JVM installée
❑ Java est l'un des langages de programmation les plus populaires au monde,
utilisé par plus de 9 millions de développeurs dans le monde entier.
❑ Il y a plus de 8 millions de développeurs Java certifiés dans le monde, ce qui en
fait l'un des certifications les plus populaires pour les développeurs.
❑ Java est largement utilisé pour développer des applications d'entreprise, telles
que les systèmes de gestion des relations client (CRM), les systèmes de gestion
de la chaîne d'approvisionnement (SCM) et les systèmes de gestion des
ressources humaines (HRM).
❑ Java peut être utilisé pour développer des applications pour une variété de
plateformes, notamment les ordinateurs de bureau, les serveurs, les appareils
mobiles et les objets connectés.
❑ Plus de 3 milliards d'appareils mobiles peuvent mettre en oeuvre Java
❑ Plus de 1,4 milliards de cartes à puce utilisant Java sont produites chaque année
5

Chapitre 1 : Présentation du langage JAVA

Java possède un certain nombre de caractéristiques qui ont largement contribué à son
énorme succès :
Java est interprété
Le fichier source est compilé en pseudo code ou bytecode puis exécuté par un interpréteur Java : la
Java Virtual Machine (JVM). Ce concept est à la base du slogan de Sun pour Java : WORA (Write Once,
Run Anywhere : écrire une fois, exécuter partout). En effet, le bytecode, s'il ne contient pas de code
spécifique à une plate-forme particulière peut être exécuté et obtenir quasiment les mêmes résultats
sur toutes les machines disposant d'une JVM.

3
03/03/2023

Chapitre 1 : Présentation du langage JAVA

Java possède un certain nombre de caractéristiques qui ont largement contribué à son
énorme succès :

Java est portable


il n'y a pas de compilation spécifique pour chaque plate forme. Le code reste indépendant
de la machine sur laquelle il s'exécute. Il est possible d'exécuter des programmes Java sur
tous les environnements qui possèdent une Java Virtual Machine. Cette indépendance est
assurée au niveau du code source grâce à Unicode et au niveau du bytecode.

Java est orienté objet


comme la plupart des langages récents, Java est orienté objet. Chaque fichier source
contient la définition d'une ou plusieurs classes qui sont utilisées les unes avec les autres
pour former une application. Java n'est pas complètement objet car il définit des types
primitifs (entier, caractère, flottant, booléen,...).

Chapitre 1 : Présentation du langage JAVA

Java possède un certain nombre de caractéristiques qui ont largement contribué à son
énorme succès :

Java est simple


le choix de ses auteurs a été d'abandonner des éléments mal compris ou mal exploités
des autres langages tels que la notion de pointeurs (pour éviter les incidents en
manipulant directement la mémoire), l'héritage multiple et la surcharge des opérateurs,
...

Java est fortement typé


toutes les variables sont typées et il n'existe pas de conversion automatique qui risquerait
une perte de données. Si une telle conversion doit être réalisée, le développeur doit
obligatoirement utiliser un cast ou une méthode statique fournie en standard pour la
réaliser.

4
03/03/2023

Chapitre 1 : Présentation du langage JAVA

Java possède un certain nombre de caractéristiques qui ont largement contribué à son
énorme succès :

Java assure la gestion de la mémoire


l'allocation de la mémoire pour un objet est automatique à sa création et Java récupère
automatiquement la mémoire inutilisée grâce au garbage collector qui restitue les zones
de mémoire laissées libres suite à la destruction des objets.

Chapitre 1 : Présentation du langage JAVA

Java possède un certain nombre de caractéristiques qui ont largement contribué à son
énorme succès :
Java est sûr
la sécurité fait partie intégrante du système d'exécution et du compilateur. Un programme
Java planté ne menace pas le système d'exploitation. Il ne peut pas y avoir d'accès direct à
la mémoire. L'accès au disque dur est réglementé dans une applet.

Les applets fonctionnant sur le Web sont soumises aux restrictions suivantes dans la
version 1.0 de Java :
• aucun programme ne peut ouvrir, lire, écrire ou effacer un fichier sur le système de
l'utilisateur
• aucun programme ne peut lancer un autre programme sur le système de l'utilisateur
• toute fenêtre créée par le programme est clairement identifiée comme étant une
fenêtre Java, ce qui interdit par exemple la création d'une fausse fenêtre demandant
un mot de passe
• les programmes ne peuvent pas se connecter à d'autres sites Web que celui dont ils
proviennent.

10

5
03/03/2023

Chapitre 1 : Présentation du langage JAVA

Java possède un certain nombre de caractéristiques qui ont largement contribué à son
énorme succès :

Java est économe


le pseudo code a une taille relativement petite car les bibliothèques de classes requises
ne sont liées qu'à l'exécution.

Java est multitâche


il permet l'utilisation de threads qui sont des unités d'exécutions isolées. La JVM, elle
même, utilise plusieurs threads.

11

Chapitre 1 : Présentation du langage JAVA

Il existe 2 types de programmes avec la version standard de Java : les applets et les
applications.

• Une application autonome (stand alone program) est une application qui s'exécute
sous le contrôle direct du système d'exploitation.
• Une applet est une application qui est chargée par un navigateur et qui est exécutée
sous le contrôle d'un plug in de ce dernier.

Les principales différences entre une applet et une application sont :

▪ les applets n'ont pas de méthode main() : la méthode main() est appelée par la
machine virtuelle pour exécuter une application.
▪ les applets ne peuvent pas être testées avec l'interpréteur. Elles doivent être testées
avec l'applet viewer ou doivent être intégrées à une page HTML, elle même visualisée
avec un navigateur disposant d'un plug in Java,

12

6
03/03/2023

Chapitre 1 : Présentation du langage JAVA

Un bref historique de Java


Voici un bref historique des versions Java :
1.0 : La première version publique de Java a été publiée en 1996. Elle comprenait des fonctionnalités telles que l'exécution de code sur
plusieurs plates-formes et une sécurité renforcée.
1.1 : La version 1.1 a été publiée en 1997 et a ajouté de nouvelles fonctionnalités telles que les classes internes, les classes anonymes et
les collections.
1.2 (ou JDK 1.2) : Publiée en 1998, la version 1.2 de Java a ajouté le Swing GUI toolkit, l'API Collections et les expressions régulières.
1.3 : La version 1.3 de Java a été publiée en 2000 et comprenait des améliorations de performances, une meilleure prise en charge des
EJB et des améliorations de l'API Swing.
1.4 : La version 1.4 de Java a été publiée en 2002 et a ajouté des fonctionnalités telles que la gestion des erreurs, les assertions, le
support des chaînes de caractères Unicode et l'API de formatage de texte.
5.0 (ou JDK 1.5) : Publiée en 2004, la version 5.0 de Java a ajouté des fonctionnalités telles que les annotations, les types génériques, les
énumérations et l'autoboxing/unboxing.
6 (ou JDK 1.6) : Publiée en 2006, la version 6 de Java a ajouté des améliorations de performances, des améliorations de l'API Swing et
l'ajout de Java Compiler API.
7 (ou JDK 1.7) : La version 7 de Java a été publiée en 2011 et a ajouté des fonctionnalités telles que les littéraux de chaîne switch, les
captures multiples des exceptions, les try-with-resources et l'amélioration des performances du compilateur.
8 (ou JDK 1.8) : Publiée en 2014, la version 8 de Java a ajouté des fonctionnalités telles que les expressions lambda, l'API de temps et de
date, les annotations de type et l'amélioration des performances des Streams.
9 (ou JDK 9) : Publiée en 2017, la version 9 de Java a ajouté des fonctionnalités telles que le module système, l'API de processus et les flux
de réactifs.
10 (ou JDK 10) : Publiée en 2018, la version 10 de Java a ajouté des fonctionnalités telles que la déclaration var, l'API pour les interfaces
privées et l'amélioration des performances de la compilation.
11 (ou JDK 11) : Publiée en 2018, la version 11 de Java a ajouté des fonctionnalités telles que le support de HTTP/2, l'amélioration de13l'API
pour les chaînes de caractères et le support de TLS 1.3.

Chapitre 1 : Présentation du langage JAVA

Un bref historique de Java


Voici un bref historique des versions Java :

12 (ou JDK 12) : Publiée en 2019, la version 12 de Java a ajouté des fonctionnalités telles que la switch expression, l'API de la JVM pour
les conteneurs, la mise à l'échelle dynamique des machines virtuelles et l'amélioration des performances du garbage collector.
13 (ou JDK 13) : Publiée en 2019, la version 13 de Java a ajouté des fonctionnalités telles que la syntaxe de texte brut pour les littéraux,
l'API de point d'ancrage pour les Garbage Collectors, le support de la mise en cache des compilateurs JIT et l'ajout de plusieurs
fonctionnalités pour les API de flux et d'E/S.
14 (ou JDK 14) : Publiée en 2020, la version 14 de Java a ajouté des fonctionnalités telles que les enregistrements, les expressions switch,
le support des chaînes de caractères au format UTF-8 et l'amélioration de la lecture des fichiers.
15 (ou JDK 15) : Publiée en 2020, la version 15 de Java a ajouté des fonctionnalités telles que les opérateurs de text blocks, l'amélioration
des performances de l'allocation de mémoire et l'ajout d'une API pour les sockets Unix.
16 (ou JDK 16) : Publiée en 2021, la version 16 de Java a ajouté des fonctionnalités telles que les enregistrements de classe locales,
l'amélioration de la gestion des erreurs, l'ajout de l'API Vector API pour les calculs à haute performance et l'ajout de fonctionnalités pour
les flux et les E/S.
17 (ou JDK 17) : Publiée en 2021, la version 17 de Java a ajouté des fonctionnalités telles que la rétrocompatibilité avec des versions
antérieures, l'amélioration des performances du garbage collector, l'ajout de l'API contextuelle et la simplification des paramètres du JDK.

14

7
03/03/2023

Chapitre 1 : Présentation du langage JAVA

Un bref historique de Java


Quelle est la différence entre les plates-formes JRE et SE ?

15

Chapitre 1 : Présentation du langage JAVA

Un bref historique de Java


Quelle est la différence entre JRE et JDK ?

16

8
03/03/2023

Chapitre 1 : Présentation du langage JAVA

Un bref historique de Java


Depuis sa version 1.2, Java a été renommé Java 2. Les numéros de version 1.2 et 2
désignent donc la même version. Le JDK a été renommé J2SDK (Java 2 Software
Development Kit) mais la dénomination JDK reste encore largement utilisée, à tel point
que la dénomination JDK est reprise dans la version 5.0. Le JRE a été renommé J2RE (Java
2 Runtime Environment).
Trois plate-formes d'exécution (ou éditions) Java sont définies pour des cibles distinctes
selon les besoins des applications à développer :

▪ Java Standard Edition (J2SE / Java SE) : environnement d'exécution et ensemble complet
d'API pour des applications de type desktop. Cette plate-forme sert de base en tout ou
partie aux autres plate-formes
▪ Java Enterprise Edition (J2EE / Java EE) : environnement d'exécution reposant
intégralement sur Java SE pour le développement d'applications d'entreprises
▪ Java Micro Edition (J2ME / Java ME) : environnement d'exécution et API pour le
développement d'applications sur appareils mobiles et embarqués dont les capacités ne
permettent pas la mise en oeuvre de Java SE

17

Chapitre 1 : Présentation du langage JAVA

Un bref historique de Java


Avec différentes éditions, les types d'applications qui peuvent être développées en Java
sont nombreux et variés :

▪ Applications desktop
▪ Applications web : servlets/JSP, portlets, applets
▪ Jeux : Les jeux peuvent être développés en Java à l'aide de bibliothèques telles que
LWJGL (Lightweight Java Game Library) et jMonkeyEngine.
▪ Applications pour appareil mobile (MIDP) : midlets
▪ Applications scientifiques : Les applications scientifiques telles que la modélisation
numérique et la simulation peuvent être développées en Java à l'aide de bibliothèques
telles que JAMA (Java Matrix Package) et JFreeChart.
▪ Applications pour appareil embarqué (CDC) : Xlets
▪ Applications pour carte à puce (Javacard) : applets Javacard
▪ Applications temps réel

18

9
03/03/2023

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Java est un langage objet qui s’appuie sur la syntaxe du langage C et du C++. Java est un
langage objet : on doit utiliser les classes et les objets ; C++ est un langage orienté objet,
sorte de langage hybride permettant à la fois la programmation classique sans objets et la
programmation avec objets.
La figure ci-dessous présente un programme réalisant la somme des nb
éléments d’un tableau tabEnt d’entiers.

19

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
• Java est sensible à la casse.
• Les blocs de code sont encadrés par des accolades. Chaque instruction se termine par un
caractère ';' (point virgule).
• Une instruction peut tenir sur plusieurs lignes :
Les commentaires
Il existe trois types de commentaire en Java :

20

10
03/03/2023

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
La déclaration de variables
Une variable possède un nom, un type et une valeur.
La déclaration d'une variable permet de réserver la mémoire pour en stocker la valeur.
Le type d'une variable peut être :
• soit un type élémentaire dit aussi type primitif déclaré sous la forme
type_élémentaire variable;
• soit une classe déclarée sous la forme classe variable ;

Rappel : les noms de variables en Java peuvent commencer par une lettre, par le caractère de
soulignement ou par le signe dollar. Le reste du nom peut comporter des lettres ou des nombres
mais jamais d'espaces.
21

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les types élémentaires
Les types élémentaires ont une taille identique quelque soit la plate-forme d'exécution :
c'est un des éléments qui permet à Java d'être indépendant de la plate-forme sur laquelle
le code s'exécute

Remarque : Les types élémentaires commencent tous par une minuscule.

22

11
03/03/2023

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Exemples de déclaration de variables avec ou sans valeur initiale

23

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Exemples de déclaration de variables avec ou sans valeur initiale

24

12
03/03/2023

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Exemples de déclaration de variables avec ou sans valeur initiale
Java vérifie qu’une variable locale (à la fonction main() dans cet exemple) est initialisée
avant son utilisation. Si la variable n’est pas initialisée, le compilateur signale un message
d’erreur comme sur les exemples ci-dessous.

Lorsque vous essayez de compiler ce code, le compilateur Java signalera une erreur

25

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Exemples de déclaration de variables avec ou sans valeur initiale
L’instruction suivante écrit en début de ligne (indiquée par \n), pour chaque variable, son
nom suivi de sa valeur convertie en caractères. L’opérateur + est ici un opérateur de
concaténation de chaînes de caractères.

26

13
03/03/2023

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Exemple de résultats d’exécution de la classe TypesPrimitifs :

Remarque : pour chaque type, des constantes indiquant les maximums et les minimums sont définies
: Byte.MIN_VALUE, Byte.MAX_VALUE, Short.MIN_VALUE, etc.
27

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA

28

14
03/03/2023

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les constantes symboliques
Les constantes symboliques sont déclarées comme des variables précédées de final . Leur
contenu ne peut pas être modifié par la suite. L’identificateur de la constante est souvent
écrit en majuscules. Exemples de déclaration de constantes symboliques :

29

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les opérateurs arithmétiques, relationnels, logiques
Les opérateurs arithmétiques réalisent des opérations sur des variables entières ou
réelles. Les opérations possibles sont listées ci-après.

Les opérateurs d’incrémentation

30

15
03/03/2023

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les opérateurs (relationnels) de comparaison

Les opérateurs logiques

31

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Le transtypage (cast)
Le transtypage est nécessaire quand il risque d’y avoir perte d’information, comme lors de
l’affectation d’un entier long (64 bits) à un entier int (32 bits), ou d’un réel double vers un
réel float. On force alors le type, indiquant ainsi au compilateur qu’on est conscient du
problème de risque de perte d’information.

Byte → short → int → long → float → double

Remarque : dans les expressions arithmétiques, les entiers de type byte ou short sont considérés
comme des int (convertis d’office en int). Si b1 est un byte, b1 + 1 est considéré être un int.
L’affectation b1 = b1 + 1 est illégale sans cast (de type int -> byte)
32

16
03/03/2023

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les tableaux à une dimension : Les tableaux d’éléments de type primitif
Plusieurs éléments de même type peuvent être regroupés (sous un même nom) en tableau.
On peut accéder à chaque élément à l’aide d’un d’indice. Le premier élément porte l’indice
0. Les tableaux sont alloués dynamiquement en Java. Ils sont initialisés par défaut à 0 pour
les nombres et à faux pour les tableaux de booléens.

Exemples de déclarations : tableau de types primitifs (type int) avec allocation et


initialisation du tableau :

(1) et (2) sont identiques et corrects en Java. La forme (2) indique mieux un tableau d’entiers nommé tabEnt, et
initialisé avec les valeurs 1, 2 et 3.

tabEnt est une référence non initialisée vers un tableau d’entiers. 33

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les tableaux à une dimension : Les tableaux d’éléments de type primitif
Exemples de déclarations avec allocation dynamique du tableau :

déclare et définit la variable tabEnt comme une référence sur un tableau d’entiers, mais ne
réserve pas de place mémoire pour ce tableau. L’allocation doit se faire avec new en
indiquant le nombre d’éléments. Ci-après, on réserve 10 éléments de type int, numérotés
de 0 à 9.

34

17
03/03/2023

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les tableaux à une dimension : Les tableaux d’éléments de type primitif

Ou encore en une seule instruction :

tabEnt.length fournit la longueur déclarée du tableau tabEnt (soit 10 sur l’exemple).

35

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les tableaux à une dimension : Les tableaux d’objets
On déclare de la même façon un tableau d’objets. tabBalle est un tableau d’éléments de
type Balle pouvant référencer six objets de type Balle numérotés de 0 à 5.

Les chaînes de caractères étant gérées en Java sous forme de classes, on peut de même
déclarer des tableaux d’objets de type String (chaînes de caractères).

36

18
03/03/2023

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les tableaux à une dimension : Les tableaux à plusieurs dimensions
On peut généraliser la notion de tableau à une dimension pour créer des tableaux
multidimensionnels. Un tableau à deux dimensions est un tableau de tableaux.

Un tableau à deux dimensions de deux lignes


et d’un nombre variable de colonnes.

Un tableau d’entiers à deux dimensions de deux


lignes et trois colonnes.

37

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les instructions de contrôle (alternatives, boucles)
Les instructions de contrôle du déroulement lors de l’exécution des instructions ont la
même syntaxe que pour le langage C. Leur syntaxe est présentée succinctement ci-
dessous. L’espace n’étant pas significatif en Java, les instructions peuvent être présentées
(indentées) de différentes façons.

38

19
03/03/2023

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les instructions de contrôle (alternatives, boucles)

39

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les instructions de contrôle (alternatives, boucles)

40

20
03/03/2023

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les instructions de contrôle (alternatives, boucles)
Les boucles for, while et do ... while

• exp1 : évaluée avant de commencer la boucle.


• exp2 : condition évaluée en début d’itération ; la boucle continue si exp2 est vraie.
• exp3 : évaluée en fin de chaque itération.

ou encore surtout s’il y a plusieurs instructions dans la boucle :

41

Chapitre 1 : Présentation du langage JAVA

LA SYNTAXE DE JAVA
Les instructions de contrôle (alternatives, boucles)

42

21

Vous aimerez peut-être aussi