Académique Documents
Professionnel Documents
Culture Documents
Objet-Java
Pr. Fatima MOURCHID
Durée: 24 heures
10 heures (Cours)
12 heures (Travaux pratiques)
2
Plan
Introduction
Présentation de Java et son environnement d’exécution
Types de données
Structures de contrôle
Tableaux de données
Opérateurs
3
Plan
5
Introduction
6
Introduction
7
Introduction
Code source Java est écrit sous la forme de classes, dans des fichiers dont
l’extension est « .java »
Ce code source est alors compilé par le compilateur « javac » en un langage
appelé bytecode et enregistre le résultat dans un fichier dont l’extension est
« .class »
Ce Bytecode est interprété par la « machine virtuelle Java » qui transforme le
code compilé en code machine compréhensible par le système d’exploitation
Exécution s’effectue par la commande « java » suivie du nom de la classe à
exécuter (sans l’extension .class)
8
Introduction
9
Introduction
Technologie Java
Composée du langage de programmation et du compilateur
JVM et des APIs (Application Programming Interfaces) regroupées dans une «
plateforme »
Java SE (Java Platform, Standard Edition): pour applications desktop
Java EE (Java Platform, Enterprise Edition): pour développer et déployer des applications
serveur, Web services, etc…
Java ME (Java Platform, Micro Edition): J2ME pour les applications embarquées (PDA,
téléphones, etc…)
Il suffit du JRE (Java Runtime Execution) pour exécuter une application java par
opposition au JDK (Java Developpement Kit)
10
Introduction
11
Introduction
12
Introduction
Méthode Main
Constitue la partie principale du programme, permettant l'exécution d'une
application Java
Doit être déclarée public, static, et void
Argument est un tableau d'éléments textuels fournissant le moyen de passer des
paramètres au programme
Argument du array de strings peut être renommé en n'importe quoi, mais la
convention est de choisir entre « args » ou « argv »
13
Introduction
14
Syntaxe du langage Java
15
Variables
Par convention :
Identificateurs de classe commencent toujours par une majuscule
Identificateurs de variables et de méthodes commencent toujours par une
minuscule
Identificateurs formés par la concaténation de plusieurs mots comportent une
majuscule à chaque début de mot sauf pour le premier mot qui dépend du type de
l’identificateur
16
Types de données
Variables locales comme les champs des classes et des objets peuvent être de
type
Primitif
Dans ce cas, la déclaration de la variable réserve la place mémoire pour stocker sa valeur
(qui dépend de son type)
Non primitif
Tableaux, matrices
Objet ou référence
Dans ce cas, la déclaration de la variable réserve la place d'une référence afin d'accéder à l'objet
lui-même (null si la référence est inconnue)
17
Types de données
Types primitifs
Types entiers signés
byte (octet) sur 8 bits
short sur 16 bits
int sur 32 bits
long sur 64 bits
Type caractère
char sur 16 bits
Types à virgule flottante
float sur 32 bits
double sur 64 bits
Type booléen: boolean (true ou false)
18
Types de données
Types primitifs
19
Types de données
Terme « void » est utilisé pour spécifier le retour vide ou une absence de
paramètres d’une méthode
Chaque type primitif possède une classe qui encapsule un attribut du type
primitif
Exemple: la classe Integer encapsule un attribut de type int et permet d’effectuer
des opérations sur les objets de type int
20
Types de données
21
Types de données
int a ;
double b = 5.0 ;
a=b;
est interdit et doit être écrit de la manière suivante :
int a ;
double b = 5.0 ;
a = (int)b ;
22
Types de données
Opérateurs de comparaison
Permettent de comparer deux variables d’un même type primitif (entier, flottant,
booléen et caractère) et renvoient une valeur booléenne
== comparaison d’égalité
!= différence
< inférieur strict
<= inférieur ou égal
> supérieur strict
>= supérieur ou égal
23
Types de données
double a = 8;
boolean estDansIntervalle = ((a >= 0) && (a <= 10)); // true ssi a appartient
à [0,10]
24
Types de données
25
Types de données
26
Types de données
Chaînes de caractères
Ne sont pas considérées en Java comme un type primitif
Classe « String », fournie dans le package « java.lang », contenant un ensemble de
méthodes permettent d’effectuer des opérations sur les chaînes de caractères
Caractéristiques
Valeur ne peut pas être modifiée
Initialisation
27
Types de données
String s1 = “hello” ;
String s2 = “world” ;
String s3 = s1 + ” ” + s2 ; // s3 =“hello world”
28
Types de données
29
Types de données
class Client {
//les attributs de la classe Client
String nom;
String prenom;
int nbCommandes;
}
30
Types de données
31
Structures de contrôle
Bloc d’instructions
Accolades {} permettent de délimiter un bloc d’instructions
Variables déclarées dans un bloc sont accessibles à l’intérieur de ce bloc
uniquement
Deux variables de même nom peuvent être déclarées dans deux blocs distincts
32
Structures de contrôle
33
Structures de contrôle
34
Structures de contrôle
35
Structures de contrôle
Structures itératives
1.Itération répétée n fois
for (int compteur = 0 ; compteur < n ; compteur = compteur + 1) {
// bloc instructions répétées n fois
}
Ou:
for (int compteur = n ; compteur > 0 ; compteur = compteur - 1) {
// bloc instructions répétées n fois
}
36
Structures de contrôle
37
Structures de contrôle
38
Structures de contrôle
39
Structures de contrôle
40
Méthodes
Méthode
Bloc d’instructions exécuté par un appel de la méthode dans le bloc du programme
principal (méthode main) ou dans une autre méthode
Créée pour
Regrouper un ensemble d’instructions qui participent à la réalisation d’une même tâche
Regrouper un ensemble d’instructions qui sont appelées à différents endroits du
programme
41
Méthodes
1.Méthodes prédéfinies
Méthodes d’une librairie
nomMethode (parametre_1,... , parametre_n);
double racine = Math.sqrt(5.2);
System.out.println("la chaîne de caractères à afficher");
42
Méthodes
43
Méthodes
44
Méthodes
3. Méthodes récursives
public class Factorielle {
static int calculeFactorielle(int n) {
if(n > 0) { // cas général
return n * calculeFactorielle (n-1); }
else { //cas d’arrêt
return 1; }
}
public static void main (String[] args) {
int valeur = 4;
System.out.println(calculeFactorielle(valeur));
}
}
45
Exercices
Outils de développement
Utiliser Eclipse, un environnement de développement intégré (IDE)
Utiliser Eclipse en mode collaboratif sur GitHub grâce à l’extension Git pour
Eclipse
46
Exercices
47
Exercices
48
Exercices
49
Exercices
Exercice 4: Écrire un programme Java qui prend un nombre en entrée et affiche sa table de multiplication
jusqu’à 100
import java.util.Scanner;
public class Exercice4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Entrer un nombre: ");
int n = sc.nextInt();
for (int i=0; i<100; i++){
System.out.println(n + " x " + (i+1) + " = " + (n * (i+1)));
}
}
}
50
Exercices
Exercice 5: Écrire un programme Java pour calculer l’aire et le périmètre d’un cercle et
l’afficher
public class Exercice5 {
public static void CalculerAirePerimetre(double rayon){
double perimeter = 2 * Math.PI * rayon;
double aire = Math.PI * rayon * rayon;
System.out.println("Le périmètre est = " + perimeter);
System.out.println("L'aire est = " + aire);
}
public static void main(String[] args) {
CalculerAirePerimetre(4.2);
}
}
51
Exercices
52
Exercices
import java.util.Scanner;
public class Exercice6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Entrer le premier nombre: ");
int nbr1 = sc.nextInt();
System.out.print("Entrer le deuxième nombre: ");
int nbr2 = sc.nextInt();
System.out.print("Entrer le troisième nombre: ");
int nbr3 = sc.nextInt();
System.out.print("Entrer le quatrième nombre: ");
int nbr4 = sc.nextInt();
System.out.println("La moyenne est: "+ (float) (nbr1 + nbr2 + nbr3 + nbr4) /4 );
}
}
53
Exercices
54
Exercices
55
Exercices
56
Exercices
57
Exercices
58
Exercices
59