Vous êtes sur la page 1sur 14

PAQUETAGES ET CLASSES STANDARD

1. QUELQUES PAQUETAGES ET LEURS CLASSES

Paquetage Quelques classes

java.lang String, Math,

Les classes enveloppes : Integer, Double, Float, …

java.util Arrays, Calendar, Date, Vector, Scanner

java.applet Applet

java.text DateFormat, NumberFormat, DecimalFormat

java.awt Graphics, Button, Label, TextField

javax.swing JButton, JLabel, JTextField,

java.io InputStream, OutputStream

java.sql Connection, Statement, ResultSet,

On utilise le mot-clé «import» pour permettre au compilateur d’accéder aux classes contenues dans
un paquetage.

Le paquetage java.lang est automatiquement incorporé par le compilateur.

2. LA CLASSE Arrays
Elle facilite l’utilisation des tableaux.

Quelques méthodes de la classe Arrays

Méthode Description
equals() Pour comparer les éléments de deux tableaux.
Si les 2 tableaux comparés sont les mêmes
alors la valeur booléenne true est retournée
sinon c’est false
fill() Pour initialiser les éléments d’un tableau
sort() Pour faire le tri d’un tableau
binarySearch() Pour localiser un élément du tableau qui
contient une valeur particulière.
Cette méthode requière un tableau trié (par la

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 1


méthode sort()).
Elle nécessite 2 arguments : le 1er est le nom du
tableau, le 2e le critère de recherche
La méthode retourne un entier : un entier positif
représente l’indice de l’élément recherché dans
le tableau; un entier négtif indique que
l’élément recherché ne se trouve pas dans le
tableau

Exemple : la méthode equals()


import java.util.*;
public class EqualsDemo
{
public static void main(String args[])
{
int note1Etudiant[] ={90,80,70};
int note2Etudiant[]={90,80,70};
if (Arrays.equals(note1Etudiant, note2Etudiant))
System.out.println("LES TABLEAUX SONT IDENTIQUES") ;
else
System.out.println("LES TABLEAUX SONT DIFFERENTS") ;
}
}

Exemple : la méthode fill()


import java.util.*;
public class FillDemo
{
public static void main(String args[])
{
float idEtudiant[] = new float[2000];
Arrays.fill(idEtudiant,1);
for(int i=0; i<idEtudiant.length; i++)
System.out.println(idEtudiant[i]);
Arrays.fill(idEtudiant,200,301,0);
for(int i=0; i<idEtudiant.length; i++)
System.out.println(idEtudiant[i]);
}
}

Exemple : la méthode sort()


import java.util.*;
class sortDemo
{
public static void main(String args[])
{

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 2


String monTabl[] = {“Marie”,”Adam”,”Cocou”, “Ballo”};
Arrays.sort(monTabl);
for(int i=0; i<monTabl.length; i++)
System.out.println(monTabl[i]);
}
}

Exemple : la méthode binarySearch()


import java.util.*;
public class SearchDemo
{
public static void main(String args[])
{
int indice ;
String monTabl[] = {“Marie”,”Adam”,”Cocou”, “Ballo”};
Arrays.sort(monTabl);
indice = Arrays.binarySearch(monTabl, "Cocou");
if( indice >=0)
System.out.println(“Cocou est dans le tableau à l’indice : ” + indice );
else
System.out.println(“Cocou non present dans le tableau” );
}
}

3. LA CLASSE Scanner

Pour les entrées clavier.

Rmq : System.out.println() => application de la méthode println() sur la sortie


standard.
Pour la lecture il faut utiliser l’entrée standard : System.in
Il y a une méthode de récupération de données pour chaque type (sauf les char) : nextLine()
pour les String, nextInt() pour les int, nextDouble(),nextLong(), nextByte(), etc.

Exemple :
import java.util.Scanner;// import java.util.*;

public class Lectureclavier


{
public static void main (String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("saisissez un entier: ");
int i = sc.nextInt() ;
System.out.println("Saisissez une chaîne de caractères : ") ;
sc.nextLine() ;

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 3


String str = sc.nextLine() ;
}
}

4. LA CLASSE String

La classe String permet de manipuler les chaînes de caractères.

Il est possible de déclarer une instance de la classe String comme suit :

String s = ‘’Bonjour le monde’’ ;

Une autre manière beaucoup plus usitée consiste à utiliser le mot clé new

String s = new String (“Bonjour le monde”);// String s = new String ();s=”Bonjour le monde”;

Exemples de méthodes de la classe String

Méthode
Description
s.charAt (i) Retourne le caractère de rang i (relativement à zéro) de la chaîne s

s.equals(s1) Compare le contenu des deux chaînes s et s1

s.equalsIgnoreCase(s1) Comme equals, mais sans distinguer les majuscules des minuscules.

s.length() Permet d’obtenir la longueur de la chaîne s

s.substring(i,j) Permet de créer une sous-chaîne en extrayant de la chaîne s, les


caractères de la position i à la position j (la première position incluse,
la deuxième exclue)

s.toUpperCase() Crée une nouvelle chaîne en remplaçant toutes les minuscules


par leur équivalent en majuscules
s.toLowerCase() Crée une nouvelle chaîne en remplaçant toutes les majuscules par
leur équivalent en minuscules

String.valueOf(x) Convertit la valeur x de type primitif en une chaîne de caractères

Remarque: Le tableau ci-dessus montre que Java a deux types de méthodes: méthodes de classe et
méthodes d’instance.

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 4


Les méthodes d’instances sont associées à une instance spécifique d’une classe. Les méthodes de
classe contiennent le mot-clé static dans leur définition.

Parfois, les méthodes de classe portent le nom de méthodes statiques alors que les méthodes
d’instance s’appellent méthodes non statiques.

Une classe pour illustrer quelques méthodes de la classe String

public class StringDemo


{
public static void main (String[] args)
{
String s = new String ("Bonjour à nouveau");
//Connaître la longueur de la chaîne de caractères s : la méthode length()
System.out.println ("La longueur de la chaîne s est " + s.length()) ;
// Convertir un type primitif en String : la méthode statique valueOf
double i= 5.2594 ;
String iString = String.valueOf(i) ;
System.out.println("La longueur de iString est " + iString) ;
// Illustrer d’autres méthodes de la classe String
System.out.println("Le caractère à l’indice 6 est " + s.charAt(6)) ;
System.out.println("En majuscule " + s.toUpperCase( )) ;
}
}

Tableau de chaînes de caractères

Pour créer un tableau d’entiers, on a utilisé une déclaration comme la suivante :

int note[] = new int[5];

Pour créer un tableau de chaînes de caractères, on procédera de manière analogue :

String matière[] = new String[4] ;

Exemples:

public class StringArrayDemo


{
public static void main(String[] args)
{
// déclarer un tableau de 4 éléments de types String
String matiere [] = new String[4] ;

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 5


// Créer et initialiser des chaînes de caractères
matiere[0] = new String ("Mathématique") ;
matiere[1] = new String ("Informatique") ;
matiere[2] = new String ("Economie") ;
matiere[3] = new String ("Marketing") ;
// Afficher des valeurs avec une boucle
for (int i=1 ; i <matiere.length ; i++)
{System.out.println(matiere[i]); }
// affichage du nombre d’éléments dans le tableau
System.out.println(matiere.length + " éléments") ;
// affichage du nombre de caractères dans Marketing
System.out.println("La longueur de Marketing est " + matiere[3].length()) ;
// Invoquer la méthode toUpperCase pour la première chaîne
System.out.println(matiere[0].toUpperCase()) ;
// Rechercher la valeur Marketing dans le tableau
String valeurRech = "Marketing";
int i = 0;
boolean retrouver = false;
// Début de la boucle
while ( i <matiere.length && ! retrouver )
{
if (valeurRech.equals(matiere[i]))
retrouver = true;
else i ++;
}
if (retrouver)
System.out.println("On a retrouvé " + valeurRech) ;
else System.out.println("On n’a pas retrouvé " + valeurRech) ;
}
}

A partir de cet exemple, on remarque qu’il faut faire une différence entre le champ length d’une
instance de tableau et la méthode length() de la classe String.

5. LA CLASSE Vector

Elle permet de manipuler des vecteurs dynamiques.

Les éléments d’une instance de la classe Vector doivent contenir des références à des instances
de classes.

Exemples de méthodes de la classe Vector

Méthode
Description
v.add (o) Ajoute l’élément o spécifié à la fin du vecteur

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 6


v.capacity() Retourne la capacité courante du vecteur

v.contains(o) Recherche l’élément spécifié o dans le vecteur.

v.get (i) Retourne l’élément de la position i spécifiée.

v.indexOf(o) Recherche la première occurrence de l’élément


o spécifié

v.remove(i) Assigne la valeur null à l’élément de la position i

v.size() Retourne le nombre d’éléments contenus dans


le vecteur

Une classe pour illustrer la classe Vector

import java.util.Vector ;
public class VectorDemo
{
public static void main(String [ ] args)
{
// Créer une instance de vecteur de trois éléments
Vector unVector = new Vector(3) ;
// Créer des instances de String
String s1 = new String("Mathématique");
String s2 = new String("Informatique");
String s3 = new String("Economie");
String s4 = new String("Marketing");

// Les deux premiers éléments du vecteur. Illustration de quelques méthodes


unVector.add(s1) ;
unVector.add(s2) ;
System.out.println("Le nombre d’éléments = " + unVector.capacity( )) ;
System.out.println(unVector.size( ) + " éléments sont dans le vecteur") ;

// recherche de l’élément "Mathématique"


if (unVector.contains("Mathématique"))
System.out.println("Le vecteur contient la chaîne \"Mathématique\"") ;
elseSystem.out.println("Le vecteur ne contient pas la chaîne " + "Mathématique") ;

// Ajouter deux autres éléments aux vecteurs


unVector.add(s3) ;
unVector.add(s4) ;
System.out.println("Le nombre d’éléments = " + unVector.capacity( )) ;
System.out.println("Le nombre d’éléments présents = " + unVector.size( )) ;
// Afficher les éléments du vecteur
for (int i = 0 ; i < unVector.size( ) ; i ++)
{ System.out.println(unVector.get(i)); }
}

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 7


}
Remarquez que Vector était instancié avec 3 éléments. Mais on a pu placer plus d’éléments (4) qu’on
en a déclaré.

6. CLASSE Decimalformat

La classe DecimalFormat est utilisée pour formater l’affichage des nombres. Pour cela il faut
procéder comme suit :

1) Créer une instance de la classe DecimalFomat en passant au constructeur un masque de


formatage.
Le masque détermine comment le nombre sera affiché. Pour construire le masque on utilise
en général les caractères comme suit :

- le caractère ‘’# ‘’: il permet l’affichage d’un chiffre significatif ;

- Le caractère ‘’, ‘’ : il joue le rôle de séparateur de milliers ;

- Le caractère ‘’0’’ : il permet l’affichage de tout chiffre même non significatif ;

- Le caractère ‘’.’’ : il indique la virgule

Exemple :

Format Nombre à afficher Résultat de l’affichage

##.## 3.50 3.5

3.977 3.98

0.70 .7

##0.00 3.5 3.50

.7 0.70

###,### 000,000 99999 99,999

2) Après avoir instancié la classe DecimalFormat, on invoque la méthode format pour l’instance
créée.

Une classe pour illustrer le formatage des nombres

import java.text.DecimalFormat;
public class FormatDemo
{
public static void main (String[] args)
{

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 8


double prix = 02.6;
DecimalFormat fd = new DecimalFormat("#,00.000");
System.out.println("Le nombre formaté: " + fd.format(prix)) ;
}
}

Les séquences d’échappement

En dehors de la classe DecimalFormat, il existe des séquences de caractères non imprimables qui
permettent d’organiser l’affichage

Notation Signification

\b Retour arrière (BS - Backspace)

\t Tabulation horizontal (HT – Horizontal Tabulation)

\n Saut de ligne (LF – Line Feed)

\f Saut de page (FF – FormFeed)

\r Retour chariot (CR – Cariage Return)

\" Griffe

\’ Apostrophe

\\ Antislash

On peut définir une constante caractère en fournissant directement son code en hexadécimal sous la
forme :

\uxxxx où xxxx est le code (unicode)

7. LA CLASSE Applet

7.1. Le principe des applets

Java permet de développer deux sortes de programmes : les applications (autonomes) et les applets.
La vocation d’une applet est d’être téléchargée sur une machine donnée à partir d’une machine
distante qui en fournit le code. Dans ces conditions, les concepteurs de Java ont prévu des
restrictions nécessaires pour assurer une sécurité absolue sur la machine d’exécution. En particulier,
la machine virtuelle interdit à une applet :

- d’accéder aux fichiers locaux ;

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 9


- de lancer un programme exécutable local ;
- d’obtenir des informations relatives au système local

On peut exécuter une applet dans un logiciel de navigation supportant java ou dans
l'appletviewer du JDK.

7.2. L'intégration d'applets dans une page HTML

Pour que l’applet puisse s’exécuter dans un navigateur, il faut passer par l’intermédiaire d’un
fichier HTML :
<APPLET CODE = ‘’AppletDemo1.class’’ WIDTH = 300 HEIGHT = 150 >
</APPLET >

CODE = Nom du fichier (.class) contenant les bytecodes de l’applet


WIDTH = Largeur initiale (en pixels) de la fenêtre consacrée à l’applet
HEIGHT = Hauteur initiale (en pixels) de la fenêtre consacrée à l’applet

7.3. Quelques méthodes des applets

Une classe dérivée de la classe java.applet.Applet hérite de méthodes qu'il faut redéfinir
en fonction des besoins et doit être déclarée public pour fonctionner.

Méthode Description
init() Cette méthode permet l'initialisation de l'applet : elle n'est exécutée qu'une
seule et unique fois après le chargement de l'applet.
paint() Cette méthode permet d'afficher le contenu de l'applet à l'écran.
La méthode repaint() force l'utilisation de la méthode paint().
getSize() La détermination des dimensions d'une applet
Ex :
public void paint(Graphics g)
{
super.paint(g);
Dimension dim = getSize();
int applargeur = dim.width;
int apphauteur = dim.height;
g.drawString("width = "+applargeur,10,15);
g.drawString("height = "+apphauteur,10,30);
}

showStatus() Affiche un message dans la barre de status de l'applet


Ex :
public void paint(Graphics g)
{
super.paint(g);
showStatus("message à afficher dans la barre d'état");
}

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 10


Un exemple d’applet
Ecrire une applet qui aura pour tâche d’afficher la chaîne de caractères ‘’Bonjour le monde’’.

import java.awt.Graphics ;
import java.applet.Applet ;
public class AppletDemo1 extends Applet
{
public void paint(Graphics g)
{
// affichage de la chaîne de caractères
g.drawString("Bonjour le monde",20,30) ;
}
}
Remarquez qu’une applet n’a pas de méthode main()

Pour cet exemple, on a importé la classe Graphics du paquetage java.awt et la classe Applet du
paquetage java.applet.

La classe Graphics est nécessaire pour dessiner des figures et afficher des textes ;

La classe Applet est importée car elle sera la superclasse de notre applet ;

Le mot-clef extends signale que la classe appletDemo1 est une sous-classe de la classe Applet ;

La méthode drawString() est utilisée pour l’affichage en mode graphique d’un texte.

8. LA CLASSE Graphics

Quelques méthodes graphiques

Méthode Description

setColor() Définir une couleur

setFont(objet Font) Définir une fonte

drawString(x,y) Afficher une chaîne de caractères en mode


graphique

drawLine(x1,y1,x2,y2) Tracer une ligne

drawRect(x,y,largeur,hauteur) Tracer un rectangle

fillRect(x,y,largeur,hauteur) Tracer un rectangle plein

drawOval(x,y,largeur,hauteur) Tracer un ovale

fillOval(x,y,largeur,hauteur) Tracer un ovale plein

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 11


9. LA CLASSE Font

- Les différentes informations relatives à une fonte


En Java, une fonte se définit par : un nom de famille (Arial, Helvetica, Times Roman,…), un style
(normal, gras, italique), une taille exprimée en ‘’points typographiques’’

- Les styles de fonte


Les styles de fonte sont représentés par des constantes

Nom des constantes Style

Font.PLAIN Romain (normal)

Font.BOLD Gras

Font.ITALIC Italique

Font.BOLD+Font.ITALIC Gras+italique

- Quelques méthodes de la classe Font

Méthode Description

getFontName() Fournit le nom de police, c’est-à-dire le nom de famille de


police, accompagné du style (par exemple Arial Italique)

getFamily() Fournit le nom de famille de police (Exemple : Arial)

getName() Fournit le nom logique s’il existe, sinon le nom de police

10. LA CLASSE Color

Les opérations de peinture, qu’il s’agisse d’affichage de texte ou de réalisation de dessins, font toutes
appel à la notion de couleur. En java, une couleur est représentée par un objet de type Color.

- Constante couleur

Constante Couleur correspondante

Color.black Noir

Color.blue Bleu

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 12


Color.cyan Cyan (bleu clair)

Color.darkGray Gris foncé

Color.gray Gris

Color.green Vert

Color.lightGray Gris clair

Color.magenta Magenta

Color.orange Orange

Color.pink Rose

Color.red Rouge

Color.white Blanc

Color.yellow Jaune

On peut également construire un objet Color en fournissant ses trois composantes Rouge, Vert, Bleu,
sous forme de 3 valeurs de type byte :

Exemple

Color RougeVif = new Color(255,0,0) ;


Color vertVif = new Color(0,255,0);
Color bleuVif = new Color(0,0,255);
Color grisMoyen = new Color(128,128,128);

Exemple récapitulatif
Nous allons reprendre l’applet AppletDemo1 en lui ajoutant des instructions pour changer la police,
la couleur d’affichage et dessiner des figures. On aura donc besoin des classes Graphics, Font, Color,
Applet

import java.awt.Graphics;
import java.awt.Font ;
import java.awt.Color ;
import java.applet.Applet ;
public class AppletDemo2 extends Applet
{
public void paint(Graphics g)
{
// Couleur rouge, police Times Roman, taille 28, italique

g.setColor(Color.red);
Font f = new Font("Times Roman",Font.ITALIC,28);

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 13


g.setFont(f) ;
//Affichage d’un texte selon la fonte définie
g.drawString("Bonjour le monde",20,30) ;
// Mettre la couleur bleu et dessiner un cercle plein
g.setColor(Color.blue) ;
g.fillOval(50,50,50,50);
// Mettre la couleur verte et dessiner un rectangle plein
Color vertVif = new Color(0,255,0); //g.setColor(Color.green) ;
g.setColor(vertVif) ;
g.fillRect(150,50,75,75);
}
}

Remarque:

Au lieu d’importer individuellement les classes Graphics, Font, Color du paquetage java.awt, on
pourrait utiliser le caractère générique « * » et on aurait:

import java.awt.* ;

EXERCICES DE PROGRAMMATION

1. Ecrire une classe qui va accepter deux entiers entrés au clavier et affichera leur somme.
2. Ecrivez une applet qui va afficher en rouge, la droite d’équation Y=2X+1, entre deux points de
votre choix sur l’écran.
3. Ecrire une applet qui va afficher les informations comme dans le tableau ci-après :

DEPART DES VOLS

Vol Destination Porte

TWA 7401 St. Louis C33

AA 431 Dallas D8

DELTA 94 Atlanta A12

UNITED 155 Chicago B4

Choisissez les styles de police, les couleurs et les tailles comme à votre goût.

Th. K. DAGBA, PhD ENEAM/UAC 2020 Page 14