Coursjava Sequence3
Coursjava Sequence3
PROGRAMMATION JAVA
1
PLAN DU COURS
Historique
Principes de la POO
Exemple de programme
Les instructions de contrôle
La POO
Les tableaux
Les chaines de caractères
Héritage
CHAPITRE IV
3
Introduction
Dès que l'on travaille avec de nombreuses données homogènes ( de même type), la
première
structure de base permettant le regroupement de ces données est le tableau. Java
comme tous les langages algorithmiques propose cette structure au programmeur.
Comme pour les String, pour des raisons d'efficacité dans l'encombrement
mémoire, les tableaux sont gérés par Java, comme des objets.
Les tableaux Java sont comme en Delphi, des tableaux de tous types y
compris des types objets.
Il n'y a pas de mot clef spécifique pour la classe tableaux, mais
l'opérateur symbolique [ ] indique qu'une variable de type fixé est un
tableau.
La taille d'un tableau doit obligatoirement avoir été définie avant que Java
accepte de l’utilisiez !
4
Tableaux à une dimension
Déclaration d'une variable de tableau :
type identificateur [ ] ;
ou
type [ ] identificateur ;
Exemples:
int [ ] table1;
char [ ] table2;
float [ ] table3;
...
String [ ] tableStr;
5
Définition et création d’un tableau
6
Déclaration et création d’un tableau
7
Déclaration et création d’un tableau
8
Accéder aux éléments d’un tableau
Un tableau en Java comme dans les autres langages algorithmiques,
s'utilise à travers une cellule de ce tableau repérée par un indice
obligatoirement de type entier. Le premier élément d'un tableau est
numéroté 0, le dernier length-1.
On peut ranger des valeurs ou des expressions du type général du
tableau dans une cellule du tableau.
Exemple avec un tableau de type int
int [ ] table1 = new int [5];
table1[0] = -458;
table1[4] = 5891;
table1[5] = 72;
for (int i = 0 ; i<= table1.length-1; i++)
table1[i] = 3*i-1; //
9
Accéder globalement au tableau
La manipulation globale d’un tableau se fait par
affectation de tableaux. Il est possible d’affecter
une variable de type tableau à une autre variable,
à condition qu’elles soient déclarées avec le
0
même type de composantes. 1
int [ ] tab = new int [3] ; tab 2
11
Exemple
12
Tableaux à deux dimensions
Pour déclarer un tableau à deux dimensions, on peut utiliser l’une de ces trois
déclarations qui sont équivalentes :
int t [ ] [ ] ;
int [ ] t [ ] ;
int [ ] [ ]t ;
Elles déclarent que t est une référence à un tableau, dans lequel chaque élément
est lui-même une référence à un tableau d’entiers . Pour l’instant, aucun tableau
de cette sorte n’existe encore .
13
Création de tableaux à 2 dimensions
Exemple
int [ ][ ] table1 = new int [2][3];
table1[0][0] = -458;
int [ ][ ] table = new int [n+1][p+1];
14
Autres exemples
15
Taille d’un tableau multi indices
Le même attribut général length de la classe des tableaux, contient la
taille du tableau :
Exemple : matrice à deux lignes et à 3 colonnes
int [ ][ ] table1 = new int [2][3];
int taille;
taille = table1.length;
taille = table1[0].length;
taille = table1[1].length;
Java initialise les tableaux par défaut à 0 pour les int, byte, ... et à
null pour les objets
16
Les chaines de caractères(String)
String chaine;
chaine =« "ca c ’est un objet chaine de caractère »
17
Les chaines de caractères(String)
chaine1
18
Les méthodes de la classe String (1/4)
20
Les méthodes de la classe String (3/4)
21
Les méthodes de la classe String (4/4)
22
Utilisation de quelques méthodes
24
L’opérateur +
Programmer en Java
chaine1
25
Conversion de types primitifs en chaines
26
Conversion de chaines en typesprimitifs
27
Chaines et tableaux
mot = { ‘b’,’o’,’n’,’j’,’o’,’u’,’r’};
28
La classe StringTokenizer
Cette classe n’ a aucun lien direct avec la classe String, elle se trouve
d’ailleurs dans le paquetage java.util . Elle apporte un rôle dans la
manipulation des chaînes en facilitant la division de chaînes en sous-
chaînes selon un nombre de « délimiteurs ».
Cette méthode divise une chaîne en différents éléments
appelés tokens.
String s = " Java, est: un .langage ;interessant";
StringTokenizer st = new StringTokenizer (s, " ,;:. " );
while (st.hasMoreTokens ( ))//tant qu’il y a des tokens
{ st.nextToken( ) ; // renvoie le premier element et se positionne sur le
suivant
// cette méthode renvoie un objet String.
}
29