Vous êtes sur la page 1sur 41

Introduction au langage Java

DAP Programmation objet

Amoudiya SIBITTI & Ichaou SAHM 1

IFNTI Sokodé S3

octobre 2023

1. Inspiré du cours de Jean-Christophe Carré


Généralités Installation Le langage Java

Table des matières

1 Généralités
POO
Histoire
Caractéristiques
Compilation
Syntaxe
2 Installation
Environnement
Installation de Java
3 Le langage Java
Introduction
Types
Variables
Structures de contrôle
Les opérations d’entrée sortie
Classes Java
Attributs et méthodes de classes Java
Compilation et exécution

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 2 / 41
Généralités Installation Le langage Java

Généralités

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 3 / 41
Généralités Installation Le langage Java

POO

Définitions POO

Définitions Wikipédia
“La programmation orientée objet [...] est un paradigme de programmation
informatique. Elle consiste en la définition et l’interaction de briques logicielles
appelées objets ; un objet représente un concept, une idée ou toute entité du
monde physique, comme une voiture, une personne ou encore une page d’un
livre.”

Sous-paradigmes
Programmation orientée prototype
Programmation orientée classe
Programmation orientée composant

Exemples de langages
Java, C#, Objective C, Python, Ruby, C++, Ada, PHP.

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 4 / 41
Généralités Installation Le langage Java

Histoire

Définition

Wikipédia
“Java est un langage de programmation de haut niveau 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.”

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 5 / 41
Généralités Installation Le langage Java

Histoire

Historique

Origines
1990 : Développeurs de Sun insatisfaits du langage C++ (raisons pour
l’instant pas de votre niveau)
1992 : Création du langage Oak (chêne)
1994 : Changement de nom en Java (raison officielle : “Oak” était déjà
une marque de cartes vidéo ; raison officieuse : "Les développeurs
boivent beaucoup de café")
23 mai 1995 : Lancement officiel
1996 : Java Development Kit (JDK) 1.0
1997 : JDK 1.1 (amélioration de la syntaxe et des exceptions, refonte de
l’interface graphique (listener))
1998 : Java 2 (apport du multimédia, une nouvelle interface graphique
incorporée : Swing)
2004 : Java 5 (ajout de fonctionnalités : types génériques, autoboxing,
types énumérés, nouveau look, . . .)
2009 : Sun est racheté par Oracle

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 6 / 41
Généralités Installation Le langage Java

Caractéristiques

Les caractéristiques

Wikipédia
”Le langage Java a pour particularité d’être compilé vers un code intermédiaire
formé de bytecodes qui va être interprèté dans une machine virtuelle Java
appelée en anglais Java Virtual Machine (JVM) en faisant abstraction du
système d’exploitation.”

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 7 / 41
Généralités Installation Le langage Java

Compilation

Compilation

Wikipédia
la compilation est la transformation d’un code source en un code exécutable.
Elle est réalisée par un programme appelé compilateur. “En informatique, la
compilation est la transformation d’un code source en un code exécutable. Elle
est réalisée par un programme appelé compilateur.
Un compilateur est un programme qui transforme un code source en un code
exécutable. Généralement, le code source est écrit dans un langage de
programmation (le langage source), il est de haut niveau d’abstraction, et
facilement compréhensible par l’humain. Le code exécutable est généralement
écrit en langage de plus bas niveau (appelé langage cible), par exemple un
langage d’assemblage ou langage machine, afin de créer un programme
exécutable par une machine.”

Wikipédia
“Le bytecode (terme anglais signifiant ≪ code en bytes ≫) est le code binaire
généré à partir du code source. ou langage machine, afin de créer un
programme exécutable par une machine.”

Exemples de langages compilés (par opposition à interprété comme Python)


Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 8 / 41
Généralités Installation Le langage Java

Compilation

Portabilité

Une caractéristique du langage Java


Langage Java :
Langage compilé “classique”
“Compile one time, run anywhere”

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 9 / 41
Généralités Installation Le langage Java

Syntaxe

Syntaxe à respecter

Règles à respecter pour éviter les erreurs de compilation !


Chaque ligne se termine par le caractère ";" c’est une instruction.
Les blocs d’instruction sont entourés par des accolades { }
Les expressions booléennes des structures de contrôle sont entourées par des
parenthèses ()
Les commentaires sont déclarés par // ou par /* et */ autour des blocs de
commentaires

Exemple
i f ( v a r i a b l e == 2 ) {
System . o u t . p r i n t l n ( ” B o n j o u r ” ) ; //Un c o m m e n t a i r e
}

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 10 / 41
Généralités Installation Le langage Java

Installation

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 11 / 41
Généralités Installation Le langage Java

Environnement

Qu’est-ce que l’environnement d’exécution Java ?

Qu’est-ce que l’environnement d’exécution Java ?


L’environnement d’exécution Java est une couche logicielle qui permet
d’exécuter correctement des programmes Java.

Les différents types d’environnement


Il en existe deux environnements Java.
JRE - Java Runtime Environment : Il fournit uniquement les outils
nécessaires à l’exécution de programmes Java. Il fournit entre-autres la
machine virtuelle Java.
JDK - Java Development Kit : Il fournit tous les outils nécessaires à
l’exécution mais aussi au développement de programmes Java. Il fournit
entre-autres la machine virtuelle Java et le compilateur.

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 12 / 41
Généralités Installation Le langage Java

Installation de Java

Installation

Installation
sudo apt-get install default-jdk.
sudo apt-get install default-jre.
java -version.

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 13 / 41
Généralités Installation Le langage Java

Le langage Java

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 14 / 41
Généralités Installation Le langage Java

Introduction

Généralités

Rappel et spécificités sur les types de données


Un type de données détermine : 2 catégories de type en Java :
La taille de son espace de stockage Types simples (Entier, Caractère, . . .)
L’intervalle de ses valeurs Types complexes ou composés
Les opérations possibles (Tableau, Classe, . . .)

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 15 / 41
Généralités Installation Le langage Java

Types

Les types simples en Java

Ce ne sont pas des Entier, Caractère, Réel, . . .


Nom Équivalent Intervalle de valeurs
byte Entier sur 8 bits [−128; 127]
short Entier sur 16 bits [−32768; 32767]
int Entier sur 32 bits [−2147483648; 2147483647]
long Entier sur 64 bits [−9223372036854775808; 9223372036854775807]

float Décimal a sur 32 bits [≈ ±10−45 ; ±1038 ]


double Décimal a sur 64 bits [≈ ±10−323 ; ±10308 ]
char Caractère 16 bits UTF-16
boolean Booléen true/false
a. IEEE754

Classes Wrapper
Tous les types simples ont leur équivalent complexe → classes “wrapper”.

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 16 / 41
Généralités Installation Le langage Java

Types

Les types complexes en Java

En Java, les types complexes sont des classes


Une variable de type [nom d’une classe] contient une “référence” sur un
objet résultant de l’instanciation de cette classe (ou null).

Règles générales
Par convention, les noms de types simples commencent par une minuscule, et
les noms de types complexes commencent par une majuscule.
Un fichier de classe commence donc par une majuscule et se termine par une
extension .java
Une seule classe publique par fichier (voir spécificateurs d’accès)

API
L’API a fournit une bibliothèque très importante de classes
(http://java.oracle.com).
a. Application Programming Interface

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 17 / 41
Généralités Installation Le langage Java

Variables

Généralités sur les variables

Variables en Java
En Java, une variable est un morceau de mémoire qui a un type, on appelle ce
type compile-time type.

Syntaxe de déclaration d’une variable


nom de variable en lowerCamelCase.
<Type> <n o m V a r i a b l e >;

Exemples de déclarations

S t r i n g nom ;
f l o a t largeur , longueur , hauteur ;

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 18 / 41
Généralités Installation Le langage Java

Variables

Opérateurs

Opérateurs arithmétiques
+ - * / %

Opérateurs d’affectation
= += -= *= /= %= ++ --

Opérateurs de comparaison
< > <= >= == !=

Opérateurs logiques
! (non) && (et) || (ou) ?

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 19 / 41
Généralités Installation Le langage Java

Variables

Manipulation des variables (1/2)

Égalité de deux variables


Le comportement des opérateurs de comparaison, logiques et d’affectation
dépend du type des variables :
Type simple : égalité des valeurs
Type complexe : égalité des références

Comparaison d’objets
Pour la comparaison d’objets, Java fournit la méthode equals.

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 20 / 41
Généralités Installation Le langage Java

Variables

Manipulation des variables (2/2)

Exemples
1 i n t a =1 , b =1;
2 System . o u t . p r i n t l n ( a==b ) ; // t r u e
3
4 I n t e g e r i 1=new I n t e g e r ( 1 ) , i 2=new I n t e g e r ( 1 ) ;
5 System . o u t . p r i n t l n ( i 1==i 2 ) ; // f a l s e
6 System . o u t . p r i n t l n ( i 1 . e q u a l s ( i 2 ) ) ; // t r u e

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 21 / 41
Généralités Installation Le langage Java

Variables

Les tableaux en Java (1/2)

Le type Tableau est un type complexe


Syntaxe :
1 < t y p e e l t > [ ] <nom tab 1 > = {< e l t 1 >, <e l t 2 >, . . . , <e l t n >};
2 < t y p e e l t > [ ] <nom tab 2 >;
3 <nom tab 2 > = new <t y p e e l t >[< t a i l l e > ] ;
4 <nom tab 2 >[< i n d i c e >] = <v a l e u r >; // 0 ≤ i n d i c e < t a i l l e

Remarques
L’attribut length permet d’obtenir la taille du tableau
La classe Arrays permet la manipulation de tableaux plus complexes à
l’aide de méthodes de classe (tri, copie, . . .)

Taille non dynamique


Contrairement à Python, les tailles des tableaux ne peuvent évoluer après leur
allocation.

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 22 / 41
Généralités Installation Le langage Java

Variables

Les tableaux en Java (2/2)

Exemple de manipulation de tableaux

1 i n t [ ] t a b 1 = new i n t [ 4 ] ;
2

3 i n t [ ] [ ] t a b 2 = new i n t [ 2 ] [ 3 ] ;
4

5 i n t [ ] [ ] t a b 3 = new i n t [ 4 ] [ ] ;

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 23 / 41
Généralités Installation Le langage Java

Structures de contrôle

Structures conditionnelles (1/2 : if et switch...case)

Syntaxe de if ... else Exemple

1 i f (< e x p r B o o l é enne >) { i f ( a == 2 ) {


2 <I n s t r u c t i o n O u B l o c > return true ;
3 } [ else { } else {
4 <I n s t r u c t i o n O u B l o c > return false ;
5 }] }

Syntaxe du switch...case Exemple


1 s w i t c h (< e x p r >) { s w i t c h ( numJour ) {
2 c a s e <c o n s t 1 > : case 1 :
3 <i n s t r u c t i o n s C a s 1 > r e t u r n ” Lundi ” ;
4 [ break ; ] break ;
5 c a s e <c o n s t 2 > : case 2 :
6 <i n s t r u c t i o n s C a s 2 > r e t u r n ” Mardi ” ;
7 [ break ; ] break ;
8 ... // l e s a u t r e s j o u r s . . .
9 default :
10 <i n s t r u c t i o n s p a r D e f a u t > default :
11 [ break ; ] t h r o w new E x c e p t i o n ( ) ;
12 } }

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 24 / 41
Généralités Installation Le langage Java

Structures de contrôle

Structures conditionnelles (2/2 : ?)

Opérateur ternaire ?
Cet opérateur utilise la valeur booléenne de la première expression pour choisir
laquelle des 2 expressions suivantes sera évaluée. Syntaxe :
<e x p r B o o l é enne> ? <e x p r S i V r a i > : <e x p r S i F a u x >;

Si a est vraie alors on évaluera l’expression b sinon la c.

Exemple
int a = 3;
i f ( a == 3 ) {
System . o u t . p r i n t l n ( ” l a v a l e u r de a e s t é g a l à 3 ” ) ;
} else {
System . o u t . p r i n t l n ( ” l a v a l e u r de a n ’ e s t p a s 3 ” ) ;
}

Résultat à l’exécution
la valeur de a est égal à 3

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 25 / 41
Généralités Installation Le langage Java

Structures de contrôle

Structures itératives (1/2 : for)

Syntaxe du for (Équivalent du pour)

f o r (< i n i t i a l i s a t i o n > ; <e x p r B o o l > ; <e x p r P a s >) {


<i n s t r u c t i o n O u B l o c >
}

Remarques
<initialisation> donne la valeur initiale de la variable d’itération. La
déclaration est possible à cet endroit là.
<exprBool> donne la condition de continuation de la boucle.
<exprPas> donne le pas (et est obligatoire).

Exemple
f o r ( i n t i =0 ; i <10 ; i ++) {
System . o u t . p r i n t l n ( i ) ;
}

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 26 / 41
Généralités Installation Le langage Java

Structures de contrôle

Structures itératives (2/2 : while et do...while)

Syntaxe du while (équivalent du tant que)

w h i l e ( e x p r B o o l é enne ) {
<i n s t r u c t i o n O u B l o c >
}

Syntaxe du do...while (équivalent du répéter...tant que)

do {
<i n s t r u c t i o n O u B l o c >
} w h i l e (< e x p r B o o l é enne >);

Attention
Le do...while n’est pas l’équivalent du répéter...jusqu’à ce que !
L’expression booléenne détermine la condition de continuation et non la
condition d’arrêt !

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 27 / 41
Généralités Installation Le langage Java

Les opérations d’entrée sortie

Les opérations d’entrée et sortie

Les classes InputStream et outputstream


Les données (texte, image, son,...) sont échangées en entrée et en sortie
(lecture et écriture) à travers des flux d’octet (Les classes InputStream et
outputstream). Un flux est une sorte de tuyau de transport séquentiel de
données.
Java met à votre disposition 3 flux spécifiques :
Le flux d’entrée System.in est connecté à l’entrée standard qui est par
défaut le clavier.
Le flux de sortie System.out est connecté à la sortie standard qui est par
défaut l’écran.
Le flux de sortie System.err est connecté à la sortie standard qui est par
défaut l’écran.

Les classes Reader et Writer


Pour lire et écrire les flux de caractères il est important d’utiliser les classes
Reader et Writer.Il existe de nombreuses sous-classes pour traiter les flux de
caractères.
Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 28 / 41
Généralités Installation Le langage Java

Les opérations d’entrée sortie

Exemple d’un flux de sortie

1 import java . io . ∗ ;
2
3 public class EntreeSortie {
4 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
5 BufferedReader console ;
6 c o n s o l e = new B u f f e r e d R e a d e r ( new I n p u t S t r e a m R e a d e r ( System . i n ) ) ;
7 System . o u t . p r i n t l n ( ” Quel e s t v o t r e nom : ”);
8 S t r i n g name = n u l l ;
9 try {
10 name = c o n s o l e . r e a d L i n e ( ) ;
11 } c a t c h ( I O E x c e p t i o n e ){
12 name = ”<” + e + ”>” ;
13 }
14 System . o u t . p r i n t l n ( ” B o n j o u r ” + name ) ;
15 }
16 }

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 29 / 41
Généralités Installation Le langage Java

Les opérations d’entrée sortie

Les opérations d’entrée et sortie

Les opérations
Pour lire et écrire les flux de caractères il est important d’utiliser les classes
Reader et Writer.Il existe de nombreuses sous-classes pour traiter les flux de
caractères.

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 30 / 41
Généralités Installation Le langage Java

Classes Java

Définition d’une classe

Syntaxe
Une classe est un ensemble de données et de fonctions regroupées dans une
même entité.

Remarque
Les noms de classe respectent la règle du CamelCase.
Une classe comporte sa déclaration, des variables et les définitions de ses
méthodes.
Pour accéder à une classe il faut en déclarer une instance de classe ou objet.

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 31 / 41
Généralités Installation Le langage Java

Classes Java

Déclaration d’une classe en Java

Syntaxe
1 c l a s s <NomClasse> {
2 // a t t r i b u t s
3 <a c c e s 1 > <t y p e 1> <a t t r i b u t 1 >, . . . , <a t t r i b u t n >=<i n i t 1 >;
4 <a c c e s 2 > <t y p e 2> <a t t r i b u t 2 >=<i n i t 2 >, . . . , <a t t r i b u t n >;
5 ...
6
7 // c o n s t r u c t e u r s
8 <a c c e s 3 > <NomClasse >([< t y p e 1> <param1 >, <t y p e 2> <param2 >, . . . ] ) {
9 // i n s t r u c t i o n s
10 }
11 ...
12
13 // mé t h o d e s
14 <a c c e s 4 > <t y p e> <nomMethode >([< t y p e 1> <param1 >, . . . ] ) {
15 // i n s t r u c t i o n s
16 }
17 ...
18 }

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 32 / 41
Généralités Installation Le langage Java

Classes Java

Exemple de classe

fichier Personne.java
1 p u b l i c c l a s s Chien {
2
3 // L i s t e d e s a t t r i b u t s de l a c l a s s e
4 String couleur = ” Noir ” ;
5 int poids ;
6
7 // L i s t e d e s mé t h o d e s de l a c l a s s e
8 i n t poid (){
9 return 20;
10 }
11 }

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 33 / 41
Généralités Installation Le langage Java

Classes Java

Les mots clés

Les mots clés qui gèrent la visibilité des entités


Il existe 3 modificateurs explicites qui peuvent être utilisés pour définir les
attributs de visibilité des entités (classes, méthodes ou attributs) : public,
private et protected. Leur utilisation permet de définir des niveaux de
protection différents.

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 34 / 41
Généralités Installation Le langage Java

Classes Java

Les mots clés

Les rôles des modificateurs


Modificateur Rôle
public Une variable, méthode ou classe déclarée public est visible
par tous les autres objets.
protected Si une méthode ou une variable est déclarée protected,
seules les méthodes présentes dans le même package que
cette classe ou ses sous-classes pourront y accéder.
On ne peut pas qualifier une classe avec protected.
private Les composants ne sont visibles qu’à l’intérieur
de la classe : ils ne peuvent être modifiés que par
des méthodes définies dans la classe et prévues à cet
effet. Les méthodes déclarées private ne peuvent
pas être en même temps déclarées abstract car elles
ne peuvent pas être redéfinies dans les classes filles.

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 35 / 41
Généralités Installation Le langage Java

Attributs et méthodes de classes Java

Méthodes
Syntaxe pour la déclaration
<a c c e s > <t y p e R e t o u r > <nomMethode >([ param è t r e s ] ) {...}

Retour d’une méthode


Le type en retour d’une méthode est déclaré avant le nom de la méthode.
On utilise le mot clé void pour indiquer que la méthode ne retourne
aucune valeur.
Le mot-clé return doit être utilisé si le type de retour n’est pas void.

Exemple
p u b l i c S t r i n g c o n c a t e n e r ( S t r i n g s1 , S t r i n g s 2 ) {
r e t u r n s1 + s2 ;
}

Syntaxe pour l’invocation


L’invocation d’une méthode se fait via le caractère . écrit après l’instance de la
classe (ou le nom de la classe pour une méthode static).
Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 36 / 41
Généralités Installation Le langage Java

Attributs et méthodes de classes Java

Objet
Instanciation d’une classe
Pour instancier un objet d’une classe, on fait un appel explicite à l’opérateur
new en précisant la classe à instancier.
Un objet est donc une instance d’une classe.

Syntaxe du mot-clé new

<NomClasse> <n o m I n s t a n c e > = new <NomClasse >([ param è t r e s ] ) ;

Exemples

1 public class Classe1 {


2 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
3 C l a s s e 2 n o m I n s t a n c e = new C l a s s e 2 ( ) ; // I n s t a n c i a t i o n
4 nomInstance . a f f i c h e r ( ) ; // I n v o c a t i o n de mé t h o d e
5 }
6 }
7
8 public class Classe2 {
9 public void a f f i c h e r () { //Dé c l a r a t i o n de mé t h o d e
10 System . o u t . p r i n t l n ( ”Mé t h o d e a f f i c h e r ( ) de C l a s s e 2 ” ) ;
11 }
12 }

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 37 / 41
Généralités Installation Le langage Java

Attributs et méthodes de classes Java

Un constructeur

Un constructeur
En Java, vous pouvez écrire au sein d’une classe des constructeurs, prenant
éventuellement des paramètres d’entrée, et initialisant l’objet lors de sa
création. Le constructeur est alors automatiquement appelé par l’opérateur new
quand vous instanciez un nouvel objet de la classe. Le constructeur d’une classe
ressemble à une méthode, sans sortie, sans type, et qui a le même nom que la
classe.

Exemple
Prenons un constructeur d’un triangle prenant en entrées la base et la hauteur.
1 public class Triangle {
2 // C o n s t r u c t e u r de l a c l a s s e T r i a n g l e
3 T r i a n g l e ( double h , double b ){
4 hauteur = h ;
5 base = b ;
6 }
7 }
Avec le constructeur au-dessus, il est possible de créer un objet et de l’initialiser
de manière très compacte : DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023
Amoudiya SIBITTI & Ichaou SAHM 38 / 41
Généralités Installation Le langage Java

Compilation et exécution

Méthode main

Caractéristiques
Toute application Java doit avoir une méthode main dans la classe
principale servant de point d’entrée. L’exécution d’une application Java
commence par l’appel de la méthode main.
La déclaration de cette méthode est toujours la même. Elle prend un
paramètre en entrée, un Tableau de Chaı̂ne de caractères (String[]) qui
récupère les paramètres donnés dans le terminal lors de l’exécution du
programme. De plus, elle doit être public static et ne doit rien
retourner (void).
Chaque classe Java peut avoir sa méthode main permettant de la tester.
Cette classe devient ainsi exécutable.

Syntaxe invariable À apprendre par coeur !

p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { . . . }

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 39 / 41
Généralités Installation Le langage Java

Compilation et exécution

Compilation et exécution d’une application Java

Compilation
Avant d’exécuter un programme Java, les fichiers sources sont compilés dans
une forme intermédiaire : le Java Byte Code d’extension .class (pouvant
être placé dans un dossier classes précisé grâce à l’option -d). Pour compiler,
on se place dans le répertoire du package et on exécute la commande :
j a v a c [−d c l a s s e s ] <chemin >/<N o m F i c h i e r >. j a v a

Exécution
La Java Virtual Machine (JVM) commence l’exécution en appelant la
méthode main de la classe spécifiée. Pour lancer l’exécution, la commande à
exécuter est :
j a v a [− c l a s s p a t h c l a s s e s ] <nomPackage >.<N o m F i c h i e r >

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 40 / 41
Généralités Installation Le langage Java

Compilation et exécution

Exemple

Exemple.java

1 p u b l i c c l a s s Exemple {
2 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
3 System . o u t . p r i n t l n ( ” 42 e s t l a r é p o n s e ” ) ;
4 }
5 }

Compilation (crée le fichier Exemple.class)

j a v a c Exemple . j a v a

Exécution

j a v a Exemple

Amoudiya SIBITTI & Ichaou SAHM DAP : Introduction au langage Java - IFNTI Sokodé S3 - octobre 2023 41 / 41

Vous aimerez peut-être aussi