Vous êtes sur la page 1sur 33

PROGRAMMATION JAVA

AU : 2021 - 2022
Auditoire : 2ème Année Licence Multimédia

DR. Jihen KHALFALLAH

jihen_khalfallah@yahoo.fr
PLAN DU COURS

• Chapitre 1 : Introduction à la POO


• Chapitre 2 : Syntaxe du langage Java
• Chapitre 3 : Concept de classe et objet
• Chapitre 4 : Héritage

2
PROGRAMMATION JAVA

Chapitre 2: La syntaxe et les éléments de


bases de java
Auditoire : 2ème Année Licence Multimédia

DR. Jihen KHALFALLAH


jihen_khalfallah@yahoo.fr
Plan
• Règle de base
• Les identificateurs
• Les commentaires
• La déclaration et l'utilisation de variables
• La priorité des opérateurs
• Les structures de contrôle
• Les tableaux
• Les chaines de caractères
• Les listes (ex ArrayList)
• Les entrées / sorties
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 4
Règles de base

• La syntaxe du langage Java se base sur celui du langage C


• Chaque instruction se termine par un ";"
• Les blocs de code sont encadrés par des accolades "{}"
• Une instruction peut tenir sur plusieurs lignes.
• L'indentation (la tabulation) est ignorée du compilateur
mais elle permet une meilleure compréhension du code par
le programmeur.

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 5


Les indentificateurs

• 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 "$".

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 6


Les commentaires

• Ils ne sont pas pris en compte par le compilateur donc ils ne


sont pas inclus dans le pseudocode.
• Ils ne se terminent pas par un ";".
• Il existe trois types de commentaires en Java :

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 7


La déclaration et l'utilisation de variables
La déclaration de variables

• Une variable possède un nom, un type et une valeur. La


déclaration d'une variable doit donc contenir deux choses :
– un nom
– le type de données qu'elle puisse contenir
• Une variable est utilisable dans le bloc où elle est définie.
• La déclaration d'une variable permet de réserver la mémoire
pour en stocker la valeur.

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 8


La déclaration et l'utilisation de variables
La déclaration de variables

• Le type d'une variable peut être un type élémentaire ou un objet :


type_élémentaire variable ;
class variable ;
• Exemple :
long nombre;

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 9


La déclaration et l'utilisation de variables
Les types élémentaires

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 10


La déclaration et l'utilisation de variables
Le format des types élémentaires
 Le format des nombres entiers
Les types byte, short, int et long peuvent être codés en décimal, hexadécimal ou octal. Pour un
nombre hexadécimal, il suffit de préfixer sa valeur par 0x. Pour un nombre octal, le nombre doit

commencer par un zéro. Le suffixe l ou L permet de spécifier que c'est un entier long.
 Le format des nombres flottants
Les types float et double stockent des nombres flottants : pour être reconnus comme tel ils
doivent posséder soit un point, un exposant ou l'un des suffixes f, F, d, D. Il est possible de
préciser des nombres qui n'ont pas la partie entière ou décimale.
• Exemple :
float pi = 3.141f;
double v = 3d
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 11
La déclaration et l'utilisation de variables
Le format des types élémentaires
 Le format des caractères
Un caractère est codé sur 16 bits car il est conforme à la norme Unicode. Il doit être entouré par
des apostrophes. Une valeur de type char peut être considérée comme un entier non négatif de 0 à
65535. Cependant la conversion implicite par affectation n'est pas possible.
Exemple :
/
* test sur les caractères */
class test1 {
public static void main (String args[]) { char code = 'D';
int index = code - 'A';
System.out.println("index = " + index);
}
}
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 12
La déclaration et l'utilisation de variables
L’initialisation des variables
Exemple :
int nombre; // déclaration
nombre = 100; //initialisation
OU int nombre = 100; //déclaration et initialisation

Les valeurs par défaut lors de l'initialisation automatique des variables


d'instances sont :

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 13


La déclaration et l'utilisation de variables
L’affectation

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 14


La déclaration et l'utilisation de variables
Les comparaisons
Java propose des opérateurs pour toutes les comparaisons :

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 15


La priorité des opérateurs
Java définit les priorités dans les opérateurs comme suit (du plus prioritaire au
moins prioritaire) :

NB: Les parenthèses


ayant une forte priorité,
l'ordre d'interprétation
des opérateurs peut être
modifié par des
parenthèses.
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 16
Les structures de contrôles
Les boucles
La boucle while

while ( boolean )
{
... // code à exécuter dans la boucle
}
• Le code est exécuté tant que le booléen est vrai. Si avant
l'instruction while, le booléen est faux, alors le code de la boucle
ne sera jamais exécuté .
• Ne pas mettre de ";" après la condition sinon le corps de la boucle
ne sera jamais exécuté
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 17
Les structures de contrôles
Les boucles
La boucle do .. while

do {
...
} while ( boolean )

• Cette boucle est au moins exécuté une fois quelque soit la valeur
du booléen

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 18


Les structures de contrôles
Les boucles
La boucle for

for ( initialisation; condition; modification) {


...
}
• Exemple :
for (i = 0 ; i < 10; i++ ) { ....}
for (int i = 0 ; i < 10; i++ ) { ....}
for ( ; ; ) { ... } // boucle infinie

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 19


Les structures de contrôles
Les branchements conditionnels
if (boolean) {
...
} else if (boolean) {
...
} else {
...
}
swith (expression) { case constante1 : instr11;
instr12;
break;
case constante2 :
...
default :
...
Dr J. Khalfallah } 2LM (ISITCom) – Programmation java 20
Les structures de contrôles
Les débranchements
• break : permet de quitter immédiatement une boucle ou un
branchement. Utilisable dans tous les contrôles de flot
• continue : s'utilise dans une boucle pour passer directement à
l'itération suivante
• break et continue peuvent s'exécuter avec des blocs nommés.
Il est possible de préciser une étiquette pour indiquer le point
de retour lors de la fin du traitement déclenché par le break.
• Une étiquette est un nom suivi de " ;" qui définit le début
d'une instruction.
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 21
Exercice 1
Ecrire un programme qui calcule la somme des 100 premiers
entiers et indique à l'écran le résultat.

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 22


Les tableaux

• Un tableau en java doit être déclaré et définit avec une taille fixe
avant d’affecter des valeurs.
– int[] tab; ou bien int tab[];
– puis tab = new int[10];
• On peut combiner les 2 étapes en :
– int[] tab = new int[10];
• Les indices commencent à partir de 0
• On peut déclarer un tableau et l’initialiser par :
– int t1 [] = {10, 20, 30, 40};
• L’attribut length calcule la taille d’un tableau :
– int taille = tab.length;
• t1.length vaut 4.
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 23
Les tableaux
Tableau à plusieurs dimensions
• Lors d’une définition de tableau le nombre de crochets
indique le nombre de dimensions du tableau.
– int t2[][] = new int[5][10] ;
• t2 est un tableau à 2 dimensions composé de 5 lignes et 10
colonnes.
• Un tableau à plusieurs dimensions peut être déclaré et
initialisé :
– int t3[][] = {{1, 2, 3, 4}, {5, 6, 7, 8}};

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 24


Les chaines de caractères
• Pour représenter une chaine de caractère, on utilise la classe
String du package java.lang
• Les chaines de caractères n’ont pas de taille fixe.
• Déclaration d’une chaine :
– String s; ou String s1=‘LM’;
• La concaténation entre chaines avec +
• Il existe des méthodes associées à la classe String:
– s.length() : retourne longueur de la chaine s
– s.equals(ch) : compare la chaine s avec la chaine ch
– s.charAt(i): retourne le caractère de la position i de la chaine s
– s.indexOf(c): retourne la première position du caractère c dans s
– s.substring(d): retourne la sous-chaîne depuis d jusqu’à la fin
– s.substring(d,f): retourne la sous-chaîne depuis d jusqu’au caractère
d’indice f non inclus.
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 25
Les listes

• Les listes font partie des collections en java et qui ont les
caractéristiques suivantes :
– Ils sont dynamiques (pas de taille fixe)
– Peuvent contenir des objets de types différents
– Possèdent des méthodes propres de manipulation
• Les listes sont définies dans le package java.util
• Il existe plusieurs types de liste, nous citons
– ArrayList
– Vector
– List,…
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 26
ArrayList

• Un ArrayList est une collection d’objets qui :


– n‘a pas de taille limite
– accepte n'importe quel type de données, y compris null
• Création d’un ArrayList:
ArrayList al = new ArrayList();
• On peut créer un ArrayList de type objet particulier :
ArrayList<String> ls = new ArrayList<String>();
ArrayList<Integer> li = new ArrayList<Integer>();
ArrayList<Cercle> lc = new ArrayList<Cercle>();

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 27


ArrayList : Méthodes

• al.add(objet) : Ajouter un objet à la liste


• al.size() : Déterminer la taille de la liste:
• al.get(i): retourne l'élément d'indice i de la liste,
• al.remove(i): efface l‘élément d'indice i,
• al.isEmpty() : renvoie « vrai » si la liste est vide,
• al.removeAll() : efface tout le contenu de la liste,
• al.contains(Object element) : retourne true si
l'élément passé en paramètre est dans l'ArrayList, false
sinon. (utile pour la recherche).
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 28
Définition Entrée/Sortie

• Une entrée/sortie en Java consiste en un échange de données


entre le programme et une autre source, par exemple l’écran, le
clavier, un fichier,…
• Java met à disposition un ensemble d'objets permettant de
réaliser cet échange.
• Java a décomposé les objets traitant les E/S en deux catégories :
– les objets travaillant avec des flux d'entrée (in), pour la lecture de flux ;
– les objets travaillant avec des flux de sortie (out), pour l'écriture de
flux.

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 29


Sortie Standard (écran)
• L’objet System.out correspond au flux de sortie standard (l’écran).
• Il possède des méthodes permettant l’affichage sur l’écran qui sont :
la méthode print ou println (avec retour à la ligne).
• Syntaxe :
System.out.println("message");
System.out.println(variable);
System.out.println("message" + variable);

• Exemple :
System.out.println(" Le total des achats est : " +
somme);
Dr J. Khalfallah 2LM (ISITCom) – Programmation java 30
Entrée standard (clavier)

• L’objet System.in correspond à l’entrée standard (clavier).


• En Java, pour indiquer qu’il faut lire ce qui est saisie au clavier on
peut utiliser un objet de la classe Scanner (du package
java.util) qui est initialisé sur l’objet System.in
• Syntaxe :
Scanner sc = new Scanner(System.in);
• La classe Scanner met à la disposition un ensemble de
méthodes pour lire des données à partir du clavier selon leurs
types.

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 31


Entrée standard (clavier)

• Ces Méthodes de la classe Scanner retourne la valeur


saisie:
– sc.nextInt() : pour la saisie de type int
– sc.nextLong() : pour la saisie de type long
– sc.nextDouble() : pour la saisie de type double
– sc.nextLine() : pour la saisie de type String
• Ces Méthodes de la classe Scanner retourne la valeur
saisie:
– sc.nextLine().charAt(0)

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 32


Entrée standard (clavier)

• Exemple :
Scanner sc = new Scanner(System.in);
System.out.println("donner un entier positif");
int n = sc.nextInt();
if(n < 0)
System.out.println ("cet entier est negatif");
else

Dr J. Khalfallah 2LM (ISITCom) – Programmation java 33

Vous aimerez peut-être aussi