Vous êtes sur la page 1sur 10

Chapitre 1 Langage Java

Introduction
Java est un langage de programmation à usage général, évolué et orienté objet dont la syntaxe est
proche du langage "C".
Orienté objet : Chaque fichier source contient la définition d’une ou plusieurs classes qui sont
utilisées les unes avec les autres pour former une application. Java n’est pas complètement objet car
il définit des types primitifs (entier, caractère, flottant, booléen…).

1. Caractéristiques du langage Java

Le langage Java a été développé afin de pouvoir générer des applications qui soient indépendantes
des machines et de leur système d’exploitation.
 Java est indépendant de l'architecture:
Le bytecode généré par le compilateur est indépendant de toute architecture. le code source est
transformé dans un byte-code universel exécutable par une machine virtuelle.

Java fournit de nombreuses librairies de classes remplissant des fonctionnalités très diverses : c'est
l'API Java. API (Application and Programming Interface /Interface pour la programmation
d'applications): Ensemble de bibliothèques permettant une programmation plus aisée car les
fonctions deviennent indépendantes du matériel.
Ces classes sont regroupées, par catégories, en paquetages (ou "packages").

Les principaux paquetages


 java.util : structures de données classiques;
 java.io : entrées / sorties;
 java.lang : chaînes de caractères;
 java.awt : interfaces graphiques, images et dessins;
1

Java ME/ESE/2021 Kemmouche


 javax.swing : package proposant des composants pour la création d’interfaces graphiques.
2. Syntaxe du langage java

Elle se base sur celle du C


a. Instructions, blocs et blancs
 Les instructions Java se terminent par un ;
 Les blocs sont délimités par :
{ pour le début de bloc
} pour la fin du bloc
 Un bloc permet de définir un regroupement d’instructions.
 La définition d’une classe ou d’une méthode se fait dans un bloc.
 Les espaces, tabulations, sauts de ligne sont autorisés. Cela permet de présenter un code plus
lisible.

b. Point d’entrée d’un programme Java

Pour pouvoir faire un programme exécutable il faut toujours une classe qui contienne une méthode
particulière, la méthode « main ». C’est le point d’entrée dans le programme : le microprocesseur
sait qu’il va commencer à exécuter les instructions à partir de cet endroit.

public static void main (String arg[ ] )


{
…/…
}

Exemple

public class Bonjour


{ //Accolade débutant la classe Bonjour
public static void main(String args[])
{ //Accolade débutant la méthode main
/* Pour l’instant juste une instruction */
System.out.println(“bonjour”);
} //Accolade fermant la méthode main
} //Accolade fermant la classe Bonjo

Java ME/ESE/2021 Kemmouche


3. Les mots réservés de Java

abstract default goto null synchronized

boolean do if package this

break double implements private throw

byte else import protected throws

case extends instanceof public transient

catch false int return true

char final interface short try

class finally long static void

continue float native super volatile

const for new switch while

4. Les types de bases


En Java, tout est objet sauf les types de base.
Il y a huit types de base :

Type Valeurs
Booléen vrai (true) soit faux (false)
ou 0 ou 1
char Pour représenter les caractères
Byte -27 à 27 –1 : (-128 à +127)
short -215 à 215 –1: (-32768 à 32767)
Entiers
int -231 à 231 - 1
relatifs
long -263 à 263 –1
float -1035 à + 1035
Réels

double -10400 à +10400

La taille nécessaire au stockage de ces types est indépendante de la machine. Avantage : portabilité

Java ME/ESE/2021 Kemmouche


Chapitre 2 Les classes

1 Introduction

Une classe est une construction software définissant les données (data) ou ce qu’on appelle
"état" et les méthodes ("comportement") des objets concrets construits à base de cette classe. Dans
la terminologie Java, une classe est construite de membres qui sont des champs (fields ou variables)
et des méthodes. Les champs dans une classe Java sont les données de la classe alors que les
méthodes sont les séquences d’instructions opérantes sur ces données. En d'autres termes, une
classe est définie par un ensemble d’attributs qui décrivent la classe et un ensemble de méthodes
décrivant les actions qu’une classe peut effectuer. Donc une classe est un ensemble de données et de
fonctions regroupées dans une même entité. C'est une description abstraite d’un objet.

Ainsi, un objet peut être défini comme étant une structure informatique caractérisé par un état et un
ensemble de méthodes exécutables par cet objet qui caractérise son comportement.

Objet = Etat + Comportement

 L'état d'un objet est la valeur de ses attributs c.à.d. les caractéristiques (les variables, les
attributs, propriétés ou les champs) de l’objet. Deux objets de même type sont dans le même
état si leurs valeurs coïncident.

 Le comportement est l'ensemble de fonctions. Donc le comportement d’un objet est défini
par ses méthodes. Les méthodes manipulent les variables d’instances pour créer un état
nouveau de l’objet. Les méthodes de l’objet peuvent aussi créer d’autres objets.

Exemple : l’objet Etudiant

 Etat : Matricule, Nom, Prénom.


 Comportement : ajouter un étudiant, supprimer un étudiant, modifier les informations d’un
étudiant.

Java ME/ESE/2021 Kemmouche


2 Instance de classe ou objet

Java est un langage orienté objet : tout appartient à une classe sauf les variables de types primitives.
Un objet est une variable de type classe et on dit qu’un objet est une instance d'une classe (i.e.,
une variable dont le type est une classe). Un objet est donc la réalisation effective d'une classe. Pour
chaque instance d’une classe, le code est le même, seul les données sont différentes à chaque objet.

Syntaxe de déclaration d’une classe: public class Nom_classe. Donc la structure d’une classe :

public class Nom_classe


{
- Déclaration des attributs
- Déclaration et définition des méthodes qui comprend donc la signature de la méthode et son
code.
}

Ainsi la représentation graphique d’une classe (une fabrique d’objets logiciels)

Nom_classe

Signature var1
Signature var2

...

Signature varN

Signature méthode1
Signature méthode2

...

Signature méthodeM

2.1. Déclaration des attributs

Une notion fondamentale en programmation objet consiste à séparer, dans la description ou


l’implémentation des objets, les parties visibles de l’extérieur (public) et que l’on appelle interface
de celles qui n’ont pas besoin d'être connues (private) à l’extérieur de l’objet. L’intérêt de séparer
ainsi les parties publiques des parties privées est de garantir une évolutivité possible des classes,
sans avoir à modifier les programmes qui les utilisent, à partir du moment où l’on conserve leur
interface publique.

Java ME/ESE/2021 Kemmouche


Les attributs sont des variables nécessaires au fonctionnement de l’objet. L’accessibilité des
composants d’une classe se fait grâce aux qualificatifs private ou public. Elle est également liée
aux localisations dans les packages.

<accès> Type_Attribut Nom_Attributs

L’accès peut être :

private Les attributs ne sont visibles que dans la même classe


Les attributs sont visibles par toutes les classes même si elles
public
ne sont pas dans le même package.

protected Les attributs sont visibles dans les classes héritées


Il est, par défaut, public dans les classes du même package
Sans nature d'accès
auquel il appartient et private en dehors.

Les attributs d’une classe sont déclarés en utilisant le mot clé private et le Type_Attribut peut être
int, char, etc..

2.2. Déclaration et définition des méthodes

Les méthodes sont les opérations à appliquer aux objets de la classe. Elles sont définies de façon
générique pour toutes les instances possibles d'une classe mais, à l'exécution, une méthode est reliée
à une seule instance de sa classe. Ainsi, appeler une méthode n'a pas de sens en soi. On appelle la
méthode sur une instance de la classe. On précisera donc toujours l'objet sur lequel la méthode
s'exécute. Au sein de la méthode, on peut utiliser les noms des attributs pour accéder directement
aux attributs de l'objet sur lequel la méthode a été appelée.

En Java on ne fait pas seulement de déclaration de méthode, on fait directement la définition de la


méthode qui consiste à fournir le code de la méthode.

Il existe quatre types de méthodes :

1er type : la méthode libre

C’est la méthode la plus simple. Son corps peut contenir n’importe quel traitement.
Sa signature est :

public type de retour Nom_de_la_méthode (liste des paramètres)


{
code de la méthode

Java ME/ESE/2021 Kemmouche


}

2èmr type : la méthode constructeur

Le rôle d'un constructeur est l'instanciation d’un objet (la création d’une instance). Une fois on
définit une classe on peut créer (ou déclarer) autant d'objets de type la classe définie. Un objet est
donc la matérialisation concrète d'une classe. On dit qu'un objet est une instance d'une classe (i.e.,
une "variable" dont le type est une classe) et créer un objet c'est instancier une classe.
Les constructeurs permettent de définir des comportements particuliers des attributs lors de
l'instanciation d'une classe. Donc le rôle des constructeurs n'est pas seulement de construire les
objets, mais c'est aussi d'initialiser les objets.
Le constructeur par défaut est sans paramètres. Il s’écrit de la façon suivante:

public Nom_Classe ( )
{
...
}

Le constructeur avec paramètres permet d'initialiser un nouvel objet.

Le mot clé this

Le mot clé "this." est utilisé pour lever ambiguïté entre les attributs et les champs d’instance. Il est
utile lorsqu’on a besoin de se référer à l’instance de l’objet dans laquelle on se trouve. "this." est
absolument nécessaire lorsque le nom de l’attribut et celui du paramètre du constructeur (ou autre
méthode) sont les mêmes. Comme dans l’exemple ci-dessus : couleur et couleur. this.couleur fait
référence à la variable couleur (l'attribut) alors que couleur (après le =) fait référence à la valeur de
l’argument donné en appelant la méthode.

3èmr type : les méthodes accesseurs (getts)

Elles concernent la lecture des attributs. Sa signature :

public type_d’attribut Nom_méthode( )


{
Return Nom_Attribut ;
}
- Une méthode get doit être public
- Une seule variable à retourner
7

Java ME/ESE/2021 Kemmouche


4èmr type : les méthodes mutateurs (setts)

Les setts sont des méthodes qui affectent des paramètres à des attributs. Elles permettent la
modification des attributs et l'initialisation des attributs des objets crées par un constructeur sans
paramètres. Sa signature est :
public type_d’attribut Nom_méthode (type param1)
{
Nom_Attribut = param1 ;
}

Application

Ecrire un programme qui permet de créer une classe Etudiant ayant pour attributs nom, prénom,
matricule et pour méthodes les getts et setts de ces attributs, un constructeur sans paramètres et un
constructeur avec tous les paramètres.

3 Création d’un objet (instanciation d’une classe)

Crée un objet : instancier une classe.


On définit une classe après on instancie des objets à cette classe, par la déclaration de l’objet de
type la classe définie. Pour la même classe, on peut avoir plusieurs objets. Créer une instance d’un
objet signifie créer une copie de cet objet dans la mémoire de l’ordinateur en respectant la définition
de sa classe. A partir de la classe on peut créer des milliers de copies d’objets qui ont la même
description. Bien que ces objets appartiennent à la même classe, leurs attributs peuvent avoir des
valeurs différentes. En d’autres termes, un programme peut créer de multiples instances d’objets
d'une même classe qui définit un template (moule) d’objets à créer.
On peut créer un objet en déclarant une référence sur la classe correspondant au type. Cette
opération permet de réserver en mémoire une adresse qui référencera l’objet.

Nom-classe Nom-objet

Par exemple, pour déclarer un objet Et1 de type Etudiant on écrira:

Etudiant Et1;

Pour que cet objet soit réellement construit, c’est `a dire que la référence désigne un emplacement à
partir duquel on pourra accéder aux caractéristiques de l’objet, on devra appeler l’opération new qui
alloue cet emplacement en mémoire et le renvoie à la référence de l’objet. On dispose alors d’une
nouvelle instance de l’objet. Par exemple, pour la construction effective de notre Etudiant Et1, on
écrira:
8

Java ME/ESE/2021 Kemmouche


Et1 = new Etudiant ( );
Pour construire effectivement l'objet, on invoque l'opération qui permet d'écrire les deux
instructions précédentes en une seule fois comme suit:

Nom_classe Nom_objet = new Nom_classe ( ) ;

Etudiant Et1 = new Etudiant( )

Il est également possible d’initialiser la construction en en initialisant les attributs de l'objet de la


manière suivante :

Nom_classe Nom_objet = new Nom_classe (liste valeurs du constructeur) ;

Exemple: Création d’un objet Etud1 de type Etudiant

Etudiant Etud1 = new Etudiant ( 12345, "ABCD" ,"EFG" ) ;

4 Appel d’une méthode

La syntaxe d'appel d'une méthode par un objet est la suivante

Nom_objet.Nom_méthode ;

Exemple: Etud1.getMat( ) ;

La syntaxe d'appel d'une méthode My method ( ) appartenant à la classe Myclass, est la suivante :

Myclass.Mymethod (les arguments de la méthode Mymethod) ;

Structure d’un programme java contenant une classe main

public class Nom_class


{
//déclaration des attibuts
//déclarations des méthodes

public static void main (String arg[])


{
……. // Code du programme
} //end du main
} //end de la classe

Application

compléter la classe de l'application ci-dessus en ajoutant la fonction "main ( )" qui permet de :
- créer un objet "et1" en utilisant le constructeur avec paramètres et un objet "et2" en utilisant le
constructeur sans paramètre;
- afficher les matricules des deux objets;
- remplir le matricule de et2 en utilisant la méthode set_Matricule;
9

Java ME/ESE/2021 Kemmouche


- réafficher le matricule de et2.
5. Syntaxe des fonctions d'entrée/sortie

5.1. Affichage

La syntaxe de l’instruction d’écriture sur l’écran est la suivante

Type d’affichage syntaxe


System.out.println("Message à afficher")
Afficher un message
System.out.println(variable)
Afficher une variable

L'affichage sur la console se fait à l'aide des méthodes de la classe "System". La concaténation des
messages et des données (valeurs de variables) se fait à l’aide de l’opérateur "+".

Exemple :

System.out.println( "Bonjour" + " " + "tout le monde") ;


System.out.println("Le résultat de la somme est:"+" "+X) ;
System est la classe
println( ) est la méthode
out est la variable qui représente un objet nommé out
Donc System.out.println signifie que la variable out est définie à l’intérieur de la classe
System et possède la méthode println( ).

5.2. Lecture des données à partir du clavier

Pour lire une donnée à partir du clavier, on fait appel à la classe Scanner dont l’instanciation est :

Scanner nom_objet = new Scanner(System.in)

L’utilisation de cette classe nécessite la bibliothèque : import java.util.*

Scanner lire = new Scanner (System.in) ;

lire est l'objet de la classe Scanner qu'on peut utiliser pour la lecture des donnés L’appel de l’objet
lire se fait en appelant l’une de ses méthodes qui dépend du type de la variable qui va être lue.

Type Méthode correspondante


Lecture d’un entier nom_objet.nextInt()
Lecture d’un réel nom_objet.nextFloat()
Lecture d’une chaîne de caractère nom_objet.next()

10

Java ME/ESE/2021 Kemmouche

Vous aimerez peut-être aussi