Vous êtes sur la page 1sur 34

MODÉLISATION &

PROGRAMMATION
OBJET
elmotaki.saloua@gmail.com

Ecole Natinale des Sciences Appliquées - ENSAJ

1
SÉANCE 8 :
INTRODUCTION À JAVA

• Introduction à java
• Éléments de base
• Classes en java (POO)

2
INTRODUCTION À JAVA

3
C’EST QUOI JAVA

• Java est un langage de programmation populaire utilisé pour développer des applications pour une
variété de plates-formes, y compris les ordinateurs, les téléphones portables, les serveurs et les
appareils embarqués.
• Il a été créé par Sun Microsystems en 1995 et a été acquis par Oracle Corporation en 2010.
• Java est un langage de programmation orienté objet, ce qui signifie qu'il utilise des concepts de la
programmation orientée objet tels que les classes, les objets et l'héritage.
• Java est également connu pour sa portabilité, sa sécurité et sa facilité d'utilisation.

4
C’EST QUOI JAVA

• Le langage de programmation Java est livré avec une plate-forme complète qui comprend trois
éléments principaux : le JDK, le JRE et la JVM.
 Le JDK (Java Development Kit) est un kit de développement logiciel qui comprend tous les outils nécessaires
(compilation, débogage, profilage…) pour développer et compiler des programmes Java.
 Le JRE (Java Runtime Environment) est un environnement d'exécution pour les programmes Java. Il contient la
JVM (Java Virtual Machine), les bibliothèques de classes et les fichiers nécessaires à l'exécution des applications
Java.
 La JVM (Java Virtual Machine) est un élément clé de la plate-forme Java. C'est un environnement d'exécution
pour les programmes Java qui fournit une abstraction de la plate-forme pour le code Java compilé.

5
COMPILATION ET
EXECUTION

• Java est à la fois compilé et interprété.


• Le code source Java est d'abord compilé en
bytecode par le compilateur Java, qui génère
des fichiers .class.
• Le bytecode est un code intermédiaire qui
est ensuite exécuté par la machine virtuelle
Java (JVM).

6
INSTALLATION & CONFIGURATION

• La première étape pour commencer à programmer en Java consiste à installer et configurer un


environnement de développement. Pour cela, nous avons besoin du JDK qui contient le compilateur
Java, les bibliothèques de classes, les outils de débogage, les outils de profilage et les outils de
déploiement.
• Une fois le JDK installé, nous pouvons configurer notre environnement de développement pour créer,
modifier et exécuter des programmes Java.
• Les environnements de développement populaires pour Java incluent Eclipse, NetBeans et IntelliJ
IDEA.

7
ELEMENTS DE BASE

8
STRUCTURE GÉNÉRALE D’UN
PROGRAMME JAVA

• Le squelette général d’un programme Java se présente comme suit (chaque classe dans un fichier
séparé et portant le même nom que celui de la classe) :

//Déclaration du package
//Déclaration du package //Déclaration du package
package monPackage
package monPackage package monPackage
public class NomDeClassePrincipale {
//Déclaration de la classe //Déclaration de la classe
// Propriétés de la classe
public class NomDeClasse1 { public class NomDeClasse2 {
// Méthodes de la classe
// Propriétés de la classe // Propriétés de la classe
public static void main(String args[]) {
// Méthodes de la classe // Méthodes de la classe
// Code du programme principal
} }
}
}

Remarque : La méthode main est une méthode spéciale en Java qui est utilisée comme point
9
d'entrée pour exécuter une application.
QUELQUES RÈGLES GÉNÉRALES POUR
JAVA

• Les déclarations individuelles se terminent par un point-virgule (;).


• Les sauts de ligne n'ont pas de signification en Java.
• L'indentation en Java est une question de style.
• Les noms de packages sont entièrement en minuscule
• Un nom de classe est une séquence de mots dont le premier caractère de chaque mot est en
majuscule et les autres en minuscule.
• Un nom de méthode/variable est une séquence de mots dont le premier caractère de chaque mot est
en majuscule et les autres en minuscule sauf le premier mot qui est entièrement en minuscule (Camel
Case).
• Une constante (final) est une séquence de mots majuscules séparés par un blanc souligné « _ ».
• Les primitives (types de base ou type primitif ) et les mots clés sont en minuscule
10
VARIABLES ET TYPES

• Chaque variable en Java a un type prédéfini, et vous déclarez le type avant la variable.
 Exemple : int x = 5; // x accepte seulement les nombres entiers
• Java est statiquement typé : Le type d'une variable ne peut pas être modifié.
• Voici quelques types de données primitives ou simples,
• int : nombre entier.
• float : nombre à virgule flottante ou décimal.
• boolean : valeur vraie ou fausse (true/false).
• Voici d'autres types de données primitives. Un char est un caractère unique.
• double : nombre à virgule flottante plus grand et plus précis.
• byte, short et long : différentes tailles d'entiers (8, 16, 64 bits).
• Un autre type de données est la chaîne de caractères (String), qui est un objet et non une primitive. Il est utilisé pour stocker
une chaîne de caractères.
• Vous pouvez également rencontrer des noms de classes, comme Integer, Boolean ou Double. Il s'agit de classes enveloppantes
pour les types de données primitifs.
11
VARIABLES ET TYPES

• On peut déclarer des variables avec des valeurs initiales.


 Exemples : int compteur = 0;
String nom = "Samia";

• On peut également déclarer des variables sans valeurs initiales.


 Exemple: double distance;
String couleur;

• On peut définir(instancier) les variables plus tard dans notre code.


 Exemple: distance = 20;
couleur = "vert";

12
VARIABLES ET TYPES

• En Java, il existe une différence entre un caractère simple et une chaîne de caractères.
• Pour définir une chaîne de caractères, nous utilisons des guillemets doubles " ".
 Exemple : String chaine = "abcd";
• Pour définir un caractère, on utilise des guillemets simples ' ‘.
 Exemple : char lettre = 'A';
• Vous pouvez concaténer des chaînes de caractères à l'aide de l'opérateur plus (+).
 Exemple : String nomComplet = "Saloua" + "El" + "Motaki";
• Tout ce qui est concaténé avec une chaîne de caractères est automatiquement converti
en chaîne de caractères.
• Exemple : int nbrCours = 30;
String mesCours = "j'ai " + nbrCours + "cours.";
13
IMPRIMER UN MESSAGE

• Il existe deux méthodes pour afficher un message sur la console.


 System.out.println("message"); //Ceci imprime un message et termine la ligne,
 System.out.print("message"); //Ceci imprime un message et ne termine pas la ligne.

• Ces méthodes permettent d'imprimer un message une seule fois.


• Ces méthodes acceptent les concaténation des chaînes de caractères avec l'opérateur +
et les affichent.
• Exemple : int nbrCours = 30;
System.out.println("j'ai " + nbrCours + "cours.");

14
OBTENIR DES ENTRÉES

• Pour obtenir des entrées de la part de l'utilisateur, il faut importer la classe Scanner.
 import java.util.Scanner;

• Créez ensuite un scanner et affectez-le à une variable.


 Scanner scan= new Scanner(System.in);

• Pour lire le prochain int, appelez la méthode nextInt() de l'objet scan.


 int nbr = scan.nextInt();

• Pour lire la chaîne suivante, appelez la méthode next() de l'objet scan.


 String chaine = scan.next();

• Pour lire toute la ligne suivante sous forme de chaîne, appelez la méthode nextLine() de l'objet
scan.
 String chaine = scan.nextLine();
15
OPÉRATEURS MATHÉMATIQUES

• L'opérateur "+" est utilisé pour l'addition


Exemple : int sum1 = 10 + 20 ; //sum1 est 30

• L'opérateur "-" est utilisé pour la soustraction


Exemple : int diff1 = 200 - 10 ; //diff1 est 190
• L'opérateur "*" est utilisé pour la multiplication
Exemple : int prod1 = 10 * 20 ; //prod1 est 200
• L'opérateur "/" est utilisé pour la division
 Exemple : int division1 = 100 / 10 ; //division1 est 10
• Le "%" est l'opérateur de modulation. Il renvoie le reste, après la division.
 Exemple : int result1 = 4 % 2 ; //result1 est 0

16
CASTING DE DONNÉES

• Le "casting" en Java fait référence à la conversion d'un type de données en un autre type de données.
• Il existe plusieurs façons de convertir un nombre entier en une chaîne de caractères:
 Utiliser "Integer.toString(int)"
 Exemple : int num = 9;
String str = Integer.toString(num); //str est "9"
 Utiliser "String.valueOf(int)"
 Exemple : int num = 9;
String str = String.valueOf(num) ; //str est "9"
• Conversion d'une chaîne de caractères en un nombre entier
 Pour convertir une chaîne de caractères en un nombre entier en Java, on utilise "Integer.parseInt(str)"
 Exemple : String str="0";
int num = Integer.parseInt(str); //num est 0
17
LES STRUCTURES DE CONTRÔLE

• En Java, les structures de contrôle sont des instructions qui permettent de contrôler l'exécution du
programme.
• Les structures de contrôle, telles que les boucles et les instructions conditionnelles, utilisent des
conditions pour déterminer si elles doivent exécuter certaines parties du code ou non.
• Les structures de contrôle en Java sont les suivantes : "if", "if-else", "if-else if-else", "switch", "while", "do-
while" et "for".
1. La structure "if" : permet d'exécuter un bloc de code si une condition est vraie.
 Exemple:
int age = 20;
if (age >= 18) {
System.out.println("Vous êtes majeur !");
}
18
LES STRUCTURES DE CONTRÔLE

• Les structures de contrôle en Java sont les suivantes : "if", "if-else", "if-else if-else", "switch", "while", "do-
while" et "for".
2. La structure "if-else" : permet d'exécuter un bloc de code si une condition est vraie, et un autre
bloc de code si la condition est fausse.
 Exemple :
int age = 16;
if (age >= 18) {
System.out.println("Vous êtes majeur !");
} else {
System.out.println("Vous êtes mineur !");
}

19
LES STRUCTURES DE CONTRÔLE

• Les structures de contrôle en Java sont les suivantes : "if", "if-else", "if-else if-else", "switch", "while",
"do-while" et "for".
3. La structure "if-else if-else" : permet d'exécuter différents blocs de code selon plusieurs
conditions.
• Exemple : int note = 12;
if (note >= 16) {
System.out.println("Très bien !");
} else if (note >= 14) {
System.out.println("Bien !");
} else if (note >= 12) {
System.out.println("Assez bien !");
} else {
System.out.println("Echec !");
} 20
LES STRUCTURES DE CONTRÔLE

• Les structures de contrôle en Java sont les suivantes : "if", "if-else", "if-else if-else", "switch", "while",
"do-while" et "for".
4. La structure "switch" : permet d'exécuter différents blocs de code selon la valeur d'une variable.
• Exemple : int jour = 3;
switch (jour) {
case 1:
System.out.println("Lundi");
break;
case 2:
System.out.println("Mardi");
break;
case 3:
System.out.println("Mercredi");
break;
default:
System.out.println("Week-end"); 21
}
LES STRUCTURES DE CONTRÔLE

• Les structures de contrôle en Java sont les suivantes : "if", "if-else", "if-else if-else", "switch", "while", "do-
while" et "for".
5. La structure "while" : permet de répéter un bloc de code tant qu'une condition est vraie.
 Exemple :
int i = 0;
while (i < 10) {
System.out.println(i);
i++;
}

22
LES STRUCTURES DE CONTRÔLE

• Les structures de contrôle en Java sont les suivantes : "if", "if-else", "if-else if-else", "switch", "while", "do-
while" et "for".
6. La structure "do-while" : permet de répéter un bloc de code au moins une fois, puis tant qu'une
condition est vraie.
 Exemple :
int i = 0;
do {
System.out.println(i);
i++;
} while (i < 10);

23
LES STRUCTURES DE CONTRÔLE

• Les structures de contrôle en Java sont les suivantes : "if", "if-else", "if-else if-else", "switch", "while", "do-
while" et "for".
7. La structure "for" : permet de répéter un bloc de code un nombre déterminé de fois.
 Exemple :

for (int i = 0; i < 10; i++) {


System.out.println(i);
}

24
LES STRUCTURES DE DONNÉES

Tableaux
• Un tableau est une structure de données permettant de stocker plusieurs éléments en une seule unité.
• Les tableaux sont définis avec un nombre fixe d'emplacements, chacun d'entre eux contenant un
élément individuel.
• On peut ajouter et supprimer des éléments de ces emplacements en fonction de ses besoins.
• Chaque élément d'un tableau est distingué par un index numérique compris entre 0 et la taille du
tableau moins un (taille – 1).
• Les tableaux peuvent contenir n'importe quel type de valeur d'élément, des types primitifs ou des
objets, mais vous ne pouvez pas stocker différents types dans un même tableau.
• Un tableau est lui-même un objet.

25
LES STRUCTURES DE DONNÉES

Créer un tableaux- étape 1


• Pour créer un tableau en Java, on commence par déclarer une variable qui recevra le tableau. Les
variables de tableau indiquent le type d'objet que le tableau contiendra, suivi de crochets vides et du
nom du tableau.
Exemples :

int[] monTableau ; // Tableau d'entiers


String[] monTabeau; // Tableau de chaines de caractères
Batiment[] monTabeau; // Tableau d’objets de types Batiment

26
LES STRUCTURES DE DONNÉES

Créer un tableaux- étape 2


• Créer un objet de type tableau et l'affecter à cette variable.
• Il y a deux façons de procéder.
• Utiliser l'opérateur new pour créer une nouvelle instance d'un tableau.
String[] noms = new String[10];

String[] noms;
nom = new String[10];

• Lorsqu’on créer un objet tableau à l'aide de l'opérateur new, on doit indiquer le nombre d'emplacements
que le tableau contiendra à l'intérieur des parenthèses.

27
LES STRUCTURES DE DONNÉES

Créer un tableaux- étape 2


• Créer un objet de type tableau et l'affecter à cette variable.
• Il y a deux façons de procéder.
 Utiliser l'opérateur new pour créer une nouvelle instance d'un tableau.
String[] noms = new String[10];

String[] noms;
nom = new String[10];

• Lorsqu’on créer un objet tableau à l'aide de l'opérateur new, on doit indiquer le nombre d'emplacements
que le tableau contiendra à l'intérieur des parenthèses.

28
LES STRUCTURES DE DONNÉES

Créer un tableaux- étape 3


• La troisième étape consiste à stocker des éléments dans le tableau.
• On peut accéder à la valeur de n'importe quel emplacement d'un tableau en spécifiant le numéro d'index
entre parenthèses (l'indexation commence à zéro).
• Ceci crée un tableau de trois entiers et définit ensuite les valeurs individuelles en utilisant un numéro d'index
entre parenthèses.
int[] monTableau = new int[2];
monTableau[0] = 42; int[] monTableau = { 42, 13, 78}
monTableau[1] = 13;
monTableau[2] = 78;
• Remarque : si on utilise un index différent de zéro jusqu’à (taille – 1), on obtient une exception
ArrayIndexOutOfBoundsException.

29
LES STRUCTURES DE DONNÉES

Le tableau est un Objet


• Il dispose des méthodes héritées de la classe Object, en plus il dispose de la propriété à lecture seule :
length.
int taille = monTableau.length;

• Lorsqu’un tableau est créé, il est impossible de le redimensionner.


 La solution :
- créer un nouveau tableau avec la taille souhaitée. int T1[] = new int[20] ;
int tmp[] = new int[21] ;
- copier les éléments du tableau initial. for (int i=0 ; i<T1.length ; i++)
- supprimer ce tableau. tmp[i] = T1[i] ;
tmp[20] = nouvelle valeur;
T1 = tmp;
30
LES STRUCTURES DE DONNÉES

Tableau à 2 dimensions
• En Java, pour créer un tableau à deux dimensions, on utilise la syntaxe suivante :
int[][] tableau2D = new int[nbrLignes][nbrColonnes];
 tableau2D.length : le nombre de lignes
 tableau2D[i].length : le nombre de colonne de la ligne i
• Chaque ligne de la matrice peut avoir un nombre d’élément différent.
• Remarques :
 Une matrice M est un tableau de tableaux int M [][] = {
 Chaque M[i] est un tableau pouvant être créé séparément {2, 3},
 La matrice M peut être créée comme un tableau dont les {1, 45, 6, 3},
éléments sont créés ultérieurement. {3, 7, 9}
};
31
LES COLLECTIONS : ARRAYLIST

Java ArrayList
• La classe ArrayList est un tableau redimensionnable, qui fait partie du package java.util.
• La différence entre un tableau standard et une ArrayList en Java est que la taille d'un tableau ne peut
pas être modifiée. En revanche, il est possible d'ajouter ou de supprimer des éléments d'une liste de
tableaux quand on le souhaite.
• Une ArrayList, contrairement à un tableau simple, peut contenir des données de différents types.
• Exemple : Créer son propre serveur Java Créez un objet ArrayList appelé cars qui stocke des chaînes
de caractères :
import java.util.ArrayList; // import the ArrayList class

ArrayList<String> cars = new ArrayList<String>(); // Create an


ArrayList object

32
LES COLLECTIONS : ARRAYLIST

Quelques fonctions de ArrayList:


• La classe ArrayList dispose de nombreuses méthodes utiles.
• Par exemple:
• pour ajouter des éléments à la liste, utiliser la méthode add() : cars.add("Ford");
• Pour accéder à un élément de la liste de tableaux, utiliser la méthode get(index) : cars.get(3);
• Pour modifier un élément, utiliser la méthode set() et se référer au numéro d'index : cars.set(0, "Opel");
• Pour supprimer un élément, utiliser la méthode remove() : cars.remove(1); cars.remove("BMW");
• Pour connaître le nombre d'éléments d'une liste de tableaux, utilisez la méthode size : cars.size();
• Une autre classe utile du package java.util est la classe Collections, qui comprend la méthode sort()
permettant de trier les listes par ordre alphabétique ou numérique
Collections.sort(cars);
Collections.sort(cars, Collections.reverseOrder());
33
LES COLLECTIONS : ARRAYLIST

Boucle sur une ArrayList:


• On peut Parcourir les éléments d'une ArrayList à l'aide d'une en utilisant la méthode size() pour
spécifier le nombre de fois que la boucle doit être exécutée :

ArrayList<String> cars = new ArrayList<String> cars = new


ArrayList<String>(); ArrayList<String>();

cars.add("Volvo"); cars.add("Volvo");
cars.add("BMW"); cars.add("BMW");
cars.add("Ford"); cars.add("Ford");
cars.add("Mazda"); cars.add("Mazda");

for (int i = 0; i < cars.size(); i++) { for (String i : cars) {


System.out.println(cars.get(i)); System.out.println(i);
} } 34

Vous aimerez peut-être aussi