Vous êtes sur la page 1sur 176

Cours JAVA : Tout en Un

Réalisé par Pr.Khadija EL AZHARI


Objectifs
Maîtriser la syntaxe et les principales APIs du langage Java.
Pouvoir consolider la compréhension des concepts orientés objet
Savoir programmer en Java en toute autonomie
Être en mesure de manipuler des données à l'aide de JDBC
Pouvoir tester et débuguer une application Java
Découvrir les dernières évolutions de Java
Apprendre à maîtriser l’utilisation d’un IDE Java
Prérequis
Algorithmique

Connaître les principes de la programmation orientée objet


Méthode pédagogique
Dans ce cours, nous allons combiner entre deux méthodes
pédagogiques :

1. La méthode affirmative : pour expliquer les fondamentaux


de la programmation JAVA.
2. La méthode applicative / démonstrative : pour réaliser des
exercices, des études de cas et des cas pratiques avec Mini
projets..
Plan
Présentation de l'écosystème Java
Intellij IDEA
Les bases du langage : la syntaxe
Les concepts orientés Objet en Java
Les interfaces
Les collections
Gestion des erreurs avec les exceptions
Gestion des fichiers
Génériques
Accès aux SGBDR avec JDBC
Interfaces graphiques
Introduction à JAVA
JAVA, C’est quoi ?

J A V A e s t u n l a n g a g e d e p r o g r a m m a t i o n o r i e nt é o b j e t .

O n p e u t f a i r e d e n o m b r e us es s o r t e s d e p r o g r a m m e s a v e c J a v a :

• Applications console.
• Applications web.
• Applications mobiles.
P o r t a b i l it é d u l a n g a ge .
La capacité à fonctionner plus ou moins facilement dans différents
environnements d’exécution ( différents processeurs, différents système
d’exploitation…)
JAVA, C’est quoi ?

J A V A e s t u n l a n g a g e d e p r o g r a m m a t i o n o r i e nt é o b j e t .

Un programme Java n'est pas un ensemble de procédures qui


s'appellent les unes les autres mais un ensemble de structures de
données qu'on appelle objets, chaque objet regroupant à la fois
des données et des méthodes manipulant les données.
JAVA, C’est quoi ?

Java est un langage compilé et interprété :

Les instructions JVM (JAVA VIRTUAL MACHINE) sont traduites lors


de leur exécution en instructions natives de la machine.
Langage des ordinateurs

Les ordinateurs ne peuvent comprendre et exécuter qu'un langage de


programmation de bas niveau.
Langage des humains

Les humains peuvent lire et comprendre le code source => Langage


de programmation de niveau supérieur.
Que signifie "compilation" ?

Processus de conversion du code source de niveau supérieur, du


niveau machine (niveau bas), que les ordinateurs ou les machines
peuvent comprendre.
Que signifie "compilation" ?

Compilateur
=
Intermédiaire

Code source

Langage machine
Comment fonctionne JAVA?
Comment fonctionne JAVA?
Comment fonctionne JAVA?
Comment fonctionne JAVA?
Comment fonctionne JAVA?
Comment fonctionne JAVA?
Comment fonctionne JAVA?
03

01

02
JDK : Java Development Kit
Le JDK représente l’outillage indispensable au développeur Java.

Ce kit contient les outils necessaires pour:

▪ Développer
▪ Compiler
▪ Débugger
▪ Exécuter
▪ Livrer
JVM : Java Virtual Machine
• Machine virtuelle java ou bien système d’exécution JAVA Spécifique
au couple (SE, machine).
• L'interprétation du byte code.
• Assure les même résultats dans les différents SE et machine.
JRE : Java Runtime Environment
Le JRE est destiné au client pour pouvoir exécuter un programme
Java. Il se compose essentiellement d'une machine virtuelle Java
(JVM) capable d'exécuter le byte-code et les bibliothèques standard
de Java.
Compilation
La compilation d’un programme Java ne traduit pas directement le code
source en fichier exécutable.
Elle traduit d’abord le code source en un code intermédiaire «byte
code». C’est le byte code qui sera ensuite exécuté par une machine
virtuelle (JVM ; Java Virtual Machine).
Ceci permet de rendre le code indépendant de la machine qui va exécuter
le programme.
Créons notre premier
code JAVA
Créons notre premier code JAVA
Créons notre premier code JAVA
Créons notre premier code JAVA
Créons notre premier code JAVA
Nom du
projet

Location
du projet
Créons notre premier code JAVA
Créons notre premier code JAVA
Créons notre premier code JAVA
Créons notre premier code JAVA
Créons notre premier code JAVA
Créons notre premier code JAVA
Créons notre premier code JAVA

C'est ce qu'on appelle une méthode


principale « main ». C'est le point de départ
de l'exécution. Et c'est ici que vous devez
commencer à exécuter ce programme. Donc
votre programme s'exécute à partir d'ici.
Créons notre premier code JAVA

Commande d’affichage
Commentaires en JAVA
Commentaires en JAVA
Les commentaires sont des déclarations qui ne sont pas exécutées
par Java.

Pour

Documenter l’intérêt (ou bien l’objectif) d’une partie de code.

Permet

Mémoriser la logique du code.


Commentaires en JAVA

Créer une variable de


type entier.
Commentaires en JAVA

Seule Ligne
Commentaires en JAVA

Plusieurs
Lignes
Commentaires en JAVA

Commentaire
pour la
documentation
Commentaires en JAVA
Identifiants en JAVA
Identifiant, c’est quoi ?

Ces objets sont identifiés par leur noms.


Identifiant, c’est quoi ?

Combien d’identifiants existent dans ce code JAVA?


Identifiant, c’est quoi ?

Nom de la classe : ABC


Le nom de la méthode : main
Le nom de la classe prédéfinie : String[]
Le nom de l’argument : args
Le nom de l’entier : x
Règles de nommage des identifiants
• Les seuls caractères autorisés pour les identificateurs java sont:

a-z , A-Z , 0-9 , $ , _

• Nous ne devons pas utiliser les mots réservés java par exemple
:public, int, etc.

• Les noms des classes et interfaces prédéfinies peuvent être


utilisé comme des identifiants.
Règles de nommage des identifiants

• Les identifiants ne peuvent pas commencer par un chiffre.

• Les identifiants java sont sensibles à la casse puisque le


langage java est un langage de programmation sensible à la
casse.

• Il n'y a pas de limite de longueur pour les identifiants java


mais il n'est pas recommandé d'utiliser des identifiants trop
longs.
Règles de nommage des identifiants

Testons alors ces règles .


Règles de nommage des identifiants

Lesquels des éléments suivants sont des identifiants java valides


et pourquoi ?

• int 123CompoundInterest = 100 ; Faux


• int main = 100 ; Valide mais ce n’est pas recommandé.
• int xyz = 500 ; Valide mais ce n’est pas recommandé.
Mots réservés en JAVA
Mots réservés en JAVA

Chaque langue a des mots qui ont une signification prédéfinie.


Par exemple, l'anglais a plus d'un million de mots avec un sens
prédéfini, comme running, Walking, Dead,dog, etc.

Ces mots ont des significations prédéfinies pour la langue


anglaise.
Mots réservés en JAVA

De même, Les mots réservés dans JAVA représentent une liste de mots-
clés prédéfinis pour une certaine signification ou fonctionnalité.

Une fonctionnalité Une valeur


Mots réservés en JAVA
De même, les mots réservés dans JAVA représentent une liste de mots-
clés prédéfinis pour une certaine signification ou fonctionnalité.
Tous les mots réservés en java sont représentés en minuscules

Une fonctionnalité Une valeur


Mots clés utilisés (Used keywords)

Mots-clés pour les types de données (8)

Mots-clés pour le contrôle du flux (11)

Mots-clés relatifs aux classes (6)


Mots clés utilisés (Used keywords)

Mots-clés pour les exceptions (8)

Mots-clés relatifs aux objets (4)

Mots-clés relatifs au type de retour (1)


Mots clés utilisés (Used keywords)

Mots-clés pour les modificateurs (11)

Mots-clés pour la définition des groupes (1)


Mots clés non utilisés (Unused keywords)
littéral réservé (Reserved literal)
Mots réservés en JAVA

Les mots réservés sont présentés en


bleu sur Intellij IDEA , Testons alors
ces mots .
Variables en JAVA
Variables en JAVA

Un conteneur qui stocke une valeur en mémoire pendant l'exécution


du programme.

Exemple

Stocker les deux valeurs dans des


variables pour faire des calculs.
Variables en JAVA

Type
Déclaration.
de la variable
Initialisation.
Variables en JAVA

Déclaration + Initialisation
Variables en JAVA
Variables en JAVA

Que se passe-t-il lorsqu’on exécute la déclaration et


l'initialisation ?

Chaque fois que vous déclarez une variable, java crée un bloc de
mémoire pour stocker la valeur du type déclaré et lorsque vous lui
attribuez une valeur, cette valeur se trouve dans le bloc de
mémoire qui vient d'être assigné
Types de données en JAVA
Types de données en JAVA

Types primitifs: Les types de données primitifs font partie du


langage Java et ne sont pas dérivés des classes.

• Numérique entier: court (short), int, long, byte


• Numérique flottant: float, double
• Booléen: Boolean
• Caractère : char
Types de données en JAVA

Primitive Étendue Taille Valeur par défaut


char 0 à 65 5 3 5 1 6 bits ‘\u0000’ (null)
byte -1 28 à + 1 2 7 8 bits (byte) 0
short -32 768 à +32 7 6 7 1 6 bits (short) 0
int -2 1 4 7 483 648 à + 2 1 4 7 483 32 bits 0
647
long 64 bits 0
float de ±1 .4E-45 à ±3.40282347E38 32 bits 0.0
double 64 bits 0.0
boolean true ou false 1 bit false
void - 0 bit
Numérique entier: court (short), int, long, byte

La différence entre ces quatres types d’entier.

L'allocation de mémoire et l’intervalle des valeurs à stocker.


Numérique entier: court (short), int, long, byte
Améliorer la lisibilité

Java permet l'utilisation de caractères de soulignement (_) pour améliorer


la lisibilité des grands nombres.

En java:

int i = 100_000 ;

C'est une déclaration valide et autorisée en Java.


Améliorer la lisibilité

Vous pouvez placer des traits de soulignement uniquement entre


les chiffres.

Les traits de soulignement dans les endroits suivants :

● Au début ou à la fin d'un nombre.


● Adjacent à un point décimal dans un littéral à virgule flottante.
● Avant un suffixe F ou L.
● Dans les positions où une chaîne de chiffres est attendue.
Numérique flottant: float, double

La différence entre ces deux types de numérique flottant

L'allocation de mémoire et la précision qu'ils peuvent contenir.


Numérique flottant: float, double
Numérique flottant: float, double
Numérique flottant: float, double
Numérique flottant: float, double
Numérique flottant: float, double
Numérique flottant: float, double

Float et double sont les types de données qui peuvent être utilisés pour
stocker des nombres avec des valeurs décimales.

Représentation des flottants et des doubles.

● Les flottants peuvent être représentés en utilisant f ou F.


Exemple float a = 1.23f ou float b = 1.23F

● Les doubles peuvent être représenté en utilisant d ou D.


Exemple double a = 1,23d ou double b = 1,23D.

● Par défaut, les nombres avec des valeurs décimales sont considérés
comme des doubles, si vous voulez les assigner à des flottants, vous devez
le mentionner explicitement.
Numérique flotant: float, double

Les valeurs de précision

● Float préserve les valeurs décimales jusqu'à 7 valeurs de précision.


● Double préserve les valeurs décimales jusqu'à 16 valeurs de précision.
● Le double est utilisé dans un programme où vous avez besoin d'une
valeur avec une précision élevée.
Booléen: boolean
Caractère : char
Caractère : char
Caractère : char

Unicode
Caractère : char
Caractère : char

Lesquels des énoncés suivants sont des énoncés java valides et pourquoi ?

1.float f = 124d ; Faux

2. boolean b = true ; Vrai

3.char c = 69 ; Faux
Opérateurs en JAVA
Opérateurs en JAVA
Opérateurs en JAVA
Opérateurs en JAVA : Opérateurs arithmétique

a et b sont les opérandes


+ - * / % ++ -- sont les opérateurs
Opérateurs en JAVA : Opérateurs d'incrémentation

Opérateurs
d’incrémentation

Post-incrément Pré-incrément

Post-incrément : La valeur est d'abord assignée ou utilisée dans une


expression, puis elle est incrémentée.
Pré-incrément : La valeur est d'abord incrémentée, puis assignée ou
utilisée dans une expression.
Opérateurs en JAVA : Opérateurs d'incrémentation

Post-incrément

Pré-incrément
Opérateurs en JAVA : Opérateurs de décrémentation

Opérateurs de
décrémentation

Post-décrément Pré-décrément

Post-décrément : La valeur est d'abord assignée ou utilisée dans


une expression, puis elle est décrémentée.
Pré-décrément : La valeur est d'abord décrémentée, puis assignée
ou utilisée dans une expression.
Opérateurs en JAVA : Opérateurs de décrémentation

Post-décrément

Pré-décrément
Opérateurs en JAVA :
Opérateurs d'incrémentation / décrémentation
Opérateurs en JAVA :
Opérateurs d'incrémentation / décrémentation
Opérateurs en JAVA :
Opérateurs d'incrémentation / décrémentation
Les opérateurs d’incrémentation et décrémentation ne peuvent pas être
utilisés qu'avec des variables, mais pas avec des constantes.
Opérateurs en JAVA :
Opérateurs d'incrémentation / décrémentation
Les opérateurs d’incrémentation et décrémentation ne peuvent pas être
utilisés qu'avec des variables, mais pas avec des constantes.
Opérateurs en JAVA :
Opérateurs d'incrémentation / décrémentation
L'imbrication des opérateurs d’incrémentation et de décrémentation n'est
pas autorisée.
Opérateurs en JAVA :
Opérateurs d'incrémentation / décrémentation
L'imbrication des opérateurs d’incrémentation et de décrémentation n'est
pas autorisée.
Opérateurs en JAVA :
Opérateurs d'incrémentation / décrémentation

On peut utiliser les opérateurs d’incrémentation et de décrémentation


avec des variables normales mais pas avec des variables finales.

Une variable finale , c’est quoi ?


Opérateurs en JAVA :
Opérateurs d'incrémentation / décrémentation

Une variable finale en Java est déclarée avec le mot clé final.
Les variables finales représentent les constantes en Java.
Comme les variables finales sont des constantes, elles sont initialisées
au moment de la déclaration et ne peuvent pas être réaffectées.

Variables Constantes
Opérateurs en JAVA :
Opérateurs d'incrémentation / décrémentation
Une variable finale en Java est déclarée avec le mot clé final.
Les variables finales représentent les constantes en Java.
Comme les variables finales sont des constantes, elles sont initialisées
au moment de la déclaration et ne peuvent pas être réaffectées.
Opérateurs en JAVA :
Opérateurs d'incrémentation / décrémentation

Une variable finale en Java est déclarée avec le mot clé final.
Les variables finales représentent les constantes en Java.
Comme les variables finales sont des constantes, elles sont initialisées
au moment de la déclaration et ne peuvent pas être réaffectées.

La variable finale ne
doit pas changer.
Opérateurs en JAVA :
Opérateurs d'incrémentation / décrémentation

Nous pouvons utiliser les opérateurs d'incrémentation et de


décrémentation avec tous les types primitifs, sauf les booléens.

Illogique
d’incrémenter/décrémenter
variable de type Boolean
Opérateurs en JAVA :
Opérateurs d'incrémentation / décrémentation

Nous pouvons utiliser les opérateurs d'incrémentation et de


décrémentation avec tous les types primitifs, sauf les booléens.

Illogique
d’incrémenter/décrémenter
variable de type Boolean
Opérateurs en JAVA : Opérateurs relationnelle
Les opérateurs relationnels sont utilisés pour comparer deux opérandes,
et renvoyer une valeur booléenne.
==, != , < , > , <= , >= .
Opérateurs en JAVA : Opérateurs logiques
Les opérateurs logiques sont utilisés pour construire des instructions
logiques lors de la programmation.
AND (&&) , OR (||) , NOT (!).
Opérateurs en JAVA : Opérateurs logiques
Les opérateurs logiques sont utilisés pour construire des instructions
logiques lors de la programmation.
AND (&&) , OR (||) , NOT (!).
Opérateurs en JAVA : Opérateurs logiques
Les opérateurs logiques sont utilisés pour construire des instructions
logiques lors de la programmation.
AND (&&) , OR (||) , NOT (!).
Opérateurs en JAVA : Opérateurs logiques
Les opérateurs logiques sont utilisés pour construire des instructions
logiques lors de la programmation.
AND (&&) , OR (||) , NOT (!).
Opérateurs en JAVA : Opérateurs logiques
Les opérateurs logiques sont utilisés pour construire des instructions
logiques lors de la programmation.
AND (&&) , OR (||) , NOT (!).
Opérateurs en JAVA : Opérateurs logiques
Les opérateurs d’affectation (assignation) sont utilisés en Java pour
attribuer des valeurs aux variables.
= , += , -= , *= , /= , %=.
Opérateurs en JAVA : Opérateurs logiques
Les opérateurs d'assignation sont utilisés en Java pour attribuer des
valeurs aux variables.
= , += , -= , *= , /= , %=.

Testons alors les autres opérateurs logiques.


Casting en JAVA
Casting en JAVA

Le casting ou cast consiste à effectuer une conversion d'un type vers un autre
type.

Le casting peut être effectué dans deux cas:


▪ Casting implicite.
▪ Casting explicite.
Casting en JAVA

Le casting implicite
On parle alors de sur-casting ou de sur-typage (casting implicite).
Le casting implicite est effectué lorsque la valeur d'un plus petit
type de donnée est assignée à une variable d'un plus grand type
de donnée.
Casting en JAVA

Le casting explicite
On parle alors de sous-casting ou de sous-typage.
Un casting explicite est effectué lorsque la valeur d'un plus
grand type de donnée est assignée à une variable d'un plus
petit type de donnée.
Casting en JAVA

Le casting implicite
Casting en JAVA
Le casting implicite
Casting en JAVA
Le casting implicite
Casting en JAVA
Le casting implicite

Il est performé par


le compilateur et
non pas la JVM.
Casting en JAVA
Le casting implicite

ascii code
Casting en JAVA
Le casting implicite
Casting en JAVA
Le casting explicite
Casting en JAVA
Le casting explicite

Erreur de compilation parce que


« int » est plus grand que « byte »
Casting en JAVA
Le casting explicite

Il est performé par


le programmeur
Types d’affectation en JAVA
Types d’affectation en JAVA

Affectation simple.

Affectation enchaîné.

Affectation composé.
Types d’affectation en JAVA
Affectation simple.
Types d’affectation en JAVA
Affectation enchainé.
Types d’affectation en JAVA
Affectation enchainé.

Erreur
Types d’affectation en JAVA
Affectation composé.
Types d’affectation en JAVA
Affectation composé.

Le résultat de l’addition est un


« int » et non pas « byte »
Types d’affectation en JAVA
Affectation composé.

Solution :
Casting ou bien affectation
composé
Opérateurs conditionnels
en JAVA
Opérateurs conditionnels en JAVA

Opérateurs unaires.

Opérateurs binaires.

Opérateurs ternaires
Opérateurs conditionnels en JAVA

Opérateurs unaires.

Les opérateurs qui ne prennent qu'un seul opérande.

Exemple :

L'opérateur d'incrémentation est un opérateur unaire puisqu'il opère sur un


seul opérande.
Opérateurs conditionnels en JAVA

Opérateurs binaires.

Les opérateurs binaires sont des opérateurs qui fonctionnent sur deux
opérandes.

Exemple :

Les opérateurs comme « + » , « - », « / » sont des opérateurs binaires.


puisqu'ils opèrent sur deux opérandes.
Opérateurs conditionnels en JAVA

Opérateurs ternaires.

les opérateurs qui prennent trois opérandes.

Syntaxe :

Si Boolean expression = True


Opérateurs conditionnels en JAVA

Opérateurs ternaires.

les opérateurs qui prennent trois opérandes.

Syntaxe :

Si Boolean expression = False


Opérateurs conditionnels en JAVA
Opérateurs conditionnels en JAVA
Opérateurs conditionnels en JAVA
Récupérer des données en JAVA
Récupérer des données en JAVA
Récupérer des données en JAVA
Récupérer des données en JAVA
Echanger deux variables
en JAVA
Echanger deux variables en JAVA

Variable
temporaire
Branchements conditionnels
en JAVA
Branchements conditionnels en JAVA

Vous pouvez faire face à des scénarios où vous voulez


exécuter un certain bloc de code en fonction d'une certaine
condition. c'est là que l'instruction if…else entre en jeu.

Ici, les instructions entre


accolades sont exécutées si la
condition est vraie,
mais si la condition est
fausse, le code est ignoré.
Branchements conditionnels en JAVA
Branchements conditionnels en JAVA
Branchements conditionnels en JAVA
Branchements conditionnels en JAVA
Il peut y avoir des scénarios où vous voulez exécuter un
certain code si la condition est fausse. Dans ce cas, vous
pouvez utiliser l'instruction if avec else.

Ici, les instructions du code


dans la condition « else » est
ignoré.
Branchements conditionnels en JAVA

Ici, les instructions du code


dans la condition « if » est
ignoré.
Branchements conditionnels en JAVA
Branchements conditionnels en JAVA

La condition doit être


booléenne et non pas int
Branchements conditionnels en JAVA

La condition doit être


booléenne et non pas
float
Branchements conditionnels en JAVA

La condition doit
être booléenne et
non pas double
Branchements conditionnels en JAVA
Branchements conditionnels en JAVA

(=) signifie une


affectation, nous ne
pouvons pas l’utiliser
Branchements conditionnels en JAVA

Nous devons utiliser


(==) qui signifie une
comparaison.
Branchements conditionnels en JAVA
Branchements conditionnels en JAVA
Branchements conditionnels en JAVA

Exercice

Écrivez un programme java pour les banques qui permet


aux utilisateurs âgés de plus de 21 ans de s'inscrire et de
créer un compte. Si l'utilisateur a moins de 21 ans, il n'est
pas autorisé à créer un compte.

Si l'utilisateur a plus de 21 ans, imprimez 'éligible'.


Si l'utilisateur a moins de 21 ans, imprimez "inéligible".
Branchements conditionnels en JAVA
Solution
Branchements conditionnels en JAVA
Solution
Branchements conditionnels en JAVA

If …. else if …. else
Branchements conditionnels en JAVA

If …. imbriqué
Branchements conditionnels en JAVA
Exercice

Ecrivez un programme java pour les banques qui permet aux


utilisateurs de plus de 21 ans de s'inscrire et de créer un compte.
• Si son âge est supérieur à 55 ans, créez un compte senior pour lui
• Si son âge est compris entre 21 et 55 ans, créez-lui un compte
d'épargne normal.
• Si l'utilisateur a moins de 21 ans, ne l'autorisez pas à créer un
compte.

Si l'utilisateur a > 21 ans mais < 55 ans, imprimez "compte


d'épargne".
Si l'utilisateur a > 55 ans, imprimez "compte senior".
Si l'utilisateur a moins de 21 ans, imprimez "ineligible".
Branchements conditionnels en JAVA

Vous aimerez peut-être aussi