Complement POO Elements de La Programmation JAVA
Complement POO Elements de La Programmation JAVA
Complement POO Elements de La Programmation JAVA
POO
Eléments de la programmation JAVA
H. Mosteghanemi
1. Affichage des informations
Sa syntaxe:
System.out.print (″message″); // pour afficher le texte
//d’un message à l’écran
System.out.print (var); // pour afficher le contenu de la
//variable var
4
Création d’un objet Scanner
Classe Java
Import obligatoire
6
Lecture avec boites de dialogues
import javax.swing.JOptionPane;
}
7
8
3. Les tableaux à une dimension
9
Déclaration
Déclarationd’un
d’un
tableau
tableau
Exemple:
10
Création d’un
Création tableau
d’un tableau
Exemple:
tab= new int[10];
tabP=new Point[20];
// ATTENTION on a créé seulement les
références les points n’ont pas encore été
créés
11
Déclaration et création d’un tableau de 3 entiers
• int [ ] tab;
0 0 0
Valeurs par
défaut
12
Déclaration et création d’un tableau de 3 Points
Point [ ] tabP;
TP
Valeurs par
défaut
13
Lecture d’un tableau
14
Lecture d’un tableau d’objets
Exemple:
for (int i=0;tab.length;i++)
tab[i]=e.nextInt();// e est un objet scanner déjà créé.
Avant la saisie
tab 0 0 0
Après la saisie
tab 3 4 5
J’ai saisi:
3, 4, 5
15
Lecture d’un tableau d’objets
Exemple 2:
for (int i=0;tabP.length;i++)
tabP[i]=new Point(lec.nextDouble(), lec.nextDouble());
Avant la saisie
Après la saisie
TabP
Donnez les
4 4 14 valeurs saisies.
5 -5 15
16
Affichage d’un tableau à l’aide d’un for classique
17
For étendu
{
// traitement
}
Type du tableau
Nom d’un élement Nom du tableau
19
import java.util.Scanner;
public class Application {
public static void main (String [] args){
// créer un objet Scanner
// lisez un entier N
// créer le tableau points avec la taille N
/ remplir points
// afficher les points.
…..}}
20
import java.util.Scanner;
public class Application {
public static void main (String [] args){
Scanner e=new Scanner(System.in) ;
Point []tabP;
System.out.println("Donnez le nombre de points") ;
int N=e.nextInt() ;
tabP=new Point [N] ;
// lecture du tableau
for (int i=0 ; i<N ;i++ ){
System.out.println ("Introduisez les cordonnées du point n°
"+ i) ;
tabP[i]=new Point (e.nextInt(), e.nextInt()) ;
}
// Affichage du tableau for classique
for(int i=0 ;i<tabP.length ;i++ )
tabP[i].affiche () ;}} 21
Initialisation sans new
22
4. Les tableaux à deux dimension
Une matrice est une généralisation des tableaux à
une dimension et considérée comme un tableau de
tableaux, l'attribut length associé au nom de la
matrice ne permet pas de donner la taille de la
matrice mais seulement le nombre de ses lignes.
26
A. La classe String
Exemple :
String ch1=new String () ;
Ou
String ch1=""
27
A. La classe String
ou
ch3=ch2 ;
28
Caractéristique des objets
de String
ch POO
29
Manipulation de chaines de caractères
Concaténation de ceux chaines
La concaténation deux chaines peut se faire soit avec la méthode
concat () ou l’opérateur + ;
T = T+H ; ou T= T.concat(H) ;
int x=7;
int y=3;
String z=‘’’’+y+x; // z=‘’37’’ // ici il s’agit de
concaténation de caractères
32
L’accès à un élément d’une chaine
Exemple
String s = new String(‘’On avance bien ‘’;
char c = s.charAt(6);
33
Comparaison de chaines
34
Conversion d’une chaine à un numérique
Exemple
String ch = "12" ; int val = Integer.parseInt ( ch);
System.out.println(val+8);
36
Conversion entre tableau de caractères
et chaine
1. construire une chaine de caractère à partir d’un tableau
de caractères; il suffit d’instancier une chaine avec comme paramètre ce
tableau.
Exemple char mot [] = {‘R’,’E’,’U’,’S’,’S’,’I’,’T’,’E’) ;
String ch = new String (mot) ; // ch est maintenant la chaine
"REUSSITE".
2. De façon symétrique, On peut transformer un objet String
en un tableau de caractères grâce à la méthode toCharArray.
Exemple
String ch="JOIE" ;
char mot[] = ch.toCharArray() ;
REMARQUE Importante:
Pour appliquer le for étendu sur une chaine on doit utiliser la méthode
toCharArray à la chaine car celle-ci n’est pas un tableau 37
Parcours d’une chaine de caractère
Le parcours d’une chaine peut se faire de deux manières
1. En utilisant la méthode charAt
Exemple si on veut afficher tous les caractères numériques d’une
chaine,
on aura le code suivant :
for( int i=0 ; i<ch.length() ;i++)
if((ch.charAt(i)<='9')&& (ch.charAt(i)>='0'))
System.out.print( ch.charAt(i) ) ;
39
class Programme {
public static void main (String [] args) {
Scanner sc = new Scanner (System.in) ;
String H ; int cpt,
int N = sc.nextInt() ;
for(int i =0;i<N;i++)
{ H= sc.next() ; cpt = 0;
42
Signature de la méthode Description
44
B. La classe StringBuffer
46
B. La classe StringBuilder
47
6. Les Types énumérés
48
On prend l’exemple des mois de l’année.
1. En représentant les mois par une classe ordinaire Année :
c’est faux car on pourrait créer plus de 12 mois
Mois m = new Mois (….); on peut créer une infinité de
mois.
51
A. Définition d’un type énuméré:
(forme minimale d’une énumération)
enum NomEnumération
{ objet1, objet2, …., objetn }
Exemples
enum Animal { KANGOUROU, TIGRE, CHIEN,
SERPENT, CHAT}
enum Saison { HIVER, PRINTEMPS, ETE, AUTOMNE
}
enum Spécialité_Master { MIL, RSD, SII, SSI,CP}
enum Mois {JANVIER, FÉVRIER, MARS, AVRIL, MAI,
Juin, JUILLET, AOUT, SEPTEMBRE, OCTOBRE,
NOVEMBRE, DECEMBRE}
52
Remarque : les éléments de l’énumération sont des
objets spécifiques et non chaines de caractères.
53
• Premiere méthode : valueOf est une méthode
statique dont
• la signature est nomEnum valueOf(String)
exemple Mois.valueOf(String),
Cette méthode retourne l’objet correspondant à la
chaine de caractère donnée en paramètre,
55
• Seconde méthode : toString () cette méthode fait
le travail inverse, elle transforme l’objet d’une
énumération en chaine de caractères
56
b/ String ch = sc.next() ;
boolean chaineAccptée = false ;
for (Mois m:Mois.values())
{ if (ch. equalsIgnoreCase (m.toString() )
{chaineAacceptée = true; break;}
57
enum SpécialitéMaster { MIL, RSD, SII, SSI,CP;
void présRequis(){
System.out.print("Prérequis : ");
switch ( this){
case MIL :
System.out.println( " Java+UML ") ; break ;
case RSD :
System.out.println( " Système + Réseau ");
break;
case SII :
System.out.println("Math + algorithmique“);
break ;
case SSI :
System.out.println( "Réseau + Math ");
}}
58
Remarque : on aurait pu le faire comme
suit :
void présRequis(){
System.out.print("Prérequis : ");
switch ( ordinal()){
case 0 :System.out.println( " Java+UML ") ;
break ;
case 1 :
System.out.println( " Système + Réseau ");
break;
case 2 :
System.out.println("Math + algorithmique");
break ;
case 3 :
System.out.println( "Réseau + Math ");
}}
59
B/ La forme énumération avec
constructeur
Dans une classe déclarée enum, il est possible des
rajouter des informations aux constantes de
l’énumération, il s’agit des caractéristique de chacun
des objets
61
enum SpécialitéMaster{ MIL(12, “GénieLogicie”),
RSD ( 15,“Réseaux et System”), SII ( 16,
“Intelligence Artificielle”), SSI ( 10, “ Sécurité”, CP
( 12, “calcul parallèl”);
63
7. Les Boites de Dialogues
64
7. Les Boites de Dialogues
Exemple:
JOptionPane.showMessageDialog(null, "Message d'information",
"Information", JOptionPane.INFORMATION_MESSAGE);
66
67
68