UE Outils et Méthodes Aide-mémoire Java

Transcription

UE Outils et Méthodes Aide-mémoire Java
U.E. Outils et Méthodes
Aide-mémoire Java
Franck Sajous - CLLE-ERSS
Ce document est disponible à l'adresse :
http://w3.erss.univ-tlse2.fr/membre/fsajous/SDL/SL02358X/3/
1
Classes et objets : membres et méthodes
1.1 Dénition de classe
Listing 1 Dénition de classe
1
2
3
4
5
6
package nom_paquet ;
public c l a s s MaClasse
{
//
définition
de
la
classe
}
1.2 Dénition des membres
accès type nom [= valeur];
accès : public, private ou protected
public aucune restriction d'accès en consultation ni en modication
private accès en consultation et modication uniquement au sein de la
classe
protected accès en consultation et modication uniquement au sein de
la classe et des classes dérivées
type : type primitif (int, double, boolean, etc.) ou nom de classe
nom : nom du membre, qui commence nécessairement par une lettre (par
convention, en minuscule), puis est formé de lettres, chires et du caractère
_
initialisation facultative (permet de donner une valeur initiale à un membre)
Syntaxe :
Listing 2 Dénition des membres
1
2
3
4
5
private
private
public
public
protected
int
int
double
String
String
nbEntier ;
autreNombreEntier = 2 3 ;
nombreReel ;
maChaine ;
monAutreChaine = "ma j o l i e c h a i n e " ;
6
7
private
private
Compteur monCompteur ;
Compteur autreCompteur = new Compteur ( ) ;
1.3 Dénition de méthodes
accès [static] type_retour nom_méthode ([liste paramètres])
accès : public, private ou protected, spécie si la méthode peut être
invoquée uniquement depuis l'intérieur de la classe, depuis une autre classe
ou depuis les classes dérivées
static : précise s'il s'agit d'une méthode statique ou non
type_retour : type de la valeur retournée par la méthode. Si la méthode
ne retourne aucune valeur, on écrit void.
liste paramètres (facultative) : liste des paramètres que l'on passe à la
méthode en l'invoquant. Pour chaque paramètre, on précise un type et un
nom. Les paramètres sont séparés par des virgules.
Syntaxe :
Listing 3 Dénition des méthodes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public int c a l c u l e A i r e ( int l o n g u e u r , int l a r g e u r )
{
}
return l o n g u e u r ∗ l a r g e u r ;
public void a f f i c h e A i r e ( int l o n g u e u r , int l a r g e u r )
{
}
System . out . p r i n t l n ( S t r i n g . v a l u e O f ( l o n g u e u r ∗ l a r g e u r ) ) ;
public Compteur creeObjetCompteur ( )
{
}
Compteur nouveauCompteur = new Compteur ( ) ;
return nouveauCompteur ;
1.4 Point d'entrée : méthode principale
Listing 4 Méthode main()
1
2
3
4
public s t a t i c void main ( S t r i n g a r g s [ ] )
{
//
corps
de
la
méthode
}
2
Types primitifs, chaînes de caractères
2.1 Entiers : int
Type qui représente les nombres entiers : −n, . . . , −3, −2, −1, 0, 1, 2, 3, . . . , n
2
+, int nb = 3 - 2;
nb = nb - 1;
*
int nbMult = nb * 3;
/
nb = 3 / 2;
%
nb = 11 % 3;
++, -nb++;
nb--;
*=
nb *= 5;
/=
nb /= 5;
==
nb == 2
!=
nb != 2
<, >
nb < 2
nb > 2
<=, >=
nb <= 2
nb >= 2
addition, soustraction
multiplication
division entière
nb vaut 1
modulo (reste de division entière)
nb vaut 2
auto-incrément, auto-décrément
incrémente nb (équivalent à nb = nb + 1;)
décrémente nb (équivalent à nb = nb - 1;)
multiplication
équivalent à nb = nb * 5;
division entière
équivalent à nb = nb / 5;
égalité
true si nb vaut 2, false sinon
diérence
true si nb est diérent de 2, false sinon
inférieur à, supérieur à
true si nb est inférieur à 2, false sinon
true si nb est supérieur à 2, false sinon
inférieur ou égal à, supérieur ou égal à
true si nb est inférieur ou égal à 2, false sinon
true si nb est supérieur ou égal à 2, false sinon
2.2 Réels : double
Type qui représente les nombres réels : −3.2, 5.0, 22/7, −3.333333 . . . , etc.
+, -, *
addition, soustraction et multiplication
même syntaxe et même sémantique que pour les entiers
/
division réelle
double nb = 3 / 2; nb vaut 1.5
*=
multiplication
nb *= 5;
équivalent à nb = nb * 5;
/=
division réelle
nb /= 5;
équivalent à nb = nb / 5;
Opérateurs de comparaison ==, !=, <, >, <=, >= : même syntaxe et même
sémantique que pour les entiers.
2.3 Booléens : boolean
Type à deux valeurs : true et false
&&, ||
ET logique, OU logique
a && b
vrai si a est vrai ET b est vrai
a || b
vrai si a est vrai OU b est vrai
!
négation
!expression vrai si expression vaut false, faux si expression vaut true
3
3
Tableaux
Syntaxe :
type nomtableau [];
type nomtableau [] = new type[taille];
type : type des éléments que contiendra le tableau.
taille : nombre d'éléments maximum que peut contenir le tableau.
indice du premier élément du tableau : 0
taille du tableau : nom_tableau.length (de type int)
indice du dernier élément du tableau : nom_tableau.length - 1
Listing 5 Tableaux
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
int t a b l e a u E n t i e r s [ ] ;
t a b l e a u E n t i e r s = new int [ 5 ] ;
for ( int i = 0 ; i < t a b l e a u E n t i e r s . l e n g t h ; i ++)
tableauEntiers [ i ] = ( i ∗ i ) ;
for ( i = 0 ; i < t a b l e a u E n t i e r s . l e n g t h ; i ++)
System . out . p r i n t l n ( "Le c a r r é de " + S t r i n g . v a l u e O f ( i )
+ " e s t " + S t r i n g . valueOf ( t a b l e a u E n t i e r s [ i ] ) ) ;
//
initialisation
//
taille
non
lors
précisée
de
car
la
déclaration
= au
nombre
d ' éléments
double t a b l e a u F l o t t a n t s [ ] = { 3 . 2 , 5 . 4 , − 6.458};
System . out . p r i n t l n ( t a b l e a u F l o t t a n t s . l e n g t h ) ;
//
tableau
//
affiche
:
3
d ' objets
P o i n t M o b i l e segment = new P o i n t M o b i l e [ 2 ] ;
P o i n t M o b i l e pm1 = new P o i n t M o b i l e ( 3 , 2 ) ;
t a b l e a u P o i n t [ 0 ] = pm1 ;
P o i n t M o b i l e pm2 = new P o i n t M o b i l e ( ) ;
t a b l e a u P o i n t [ 1 ] = pm2 ;
t a b l e a u P o i n t [ 1 ] . setX ( 7 ) ;
t a b l e a u P o i n t [ 1 ] . setY ( 4 ) ;
0
1
segment
tableauEntier : 0
4
1
4
9
16
Chaînes de caractères : la classe
String
On peut considérer une chaîne de caractères comme étant un tableau de
n caractères. La classe String peut être vue comme une sur-couche de cette
4
représentation, qui ore des fonctionnalités permettant de manipuler facilement
des chaînes.
Quelques méthodes de la classe String :
char
charAt(int index)
retourne le caractère situé à l'indice spécié
boolean contains(CharSequence s)
retourne true si la chaîne contient la sous-chaîne s
(CharSequence est une interface implémentée par String), false
sinon
boolean endsWith(String suffix)
retourne true si la chaîne se termine par suffix, false sinon.
boolean startsWith(String prefix)
retourne true si la chaîne commence par prefix, false sinon.
boolean isEmpty()
retourne true si la chaîne est vide, false sinon.
int
length()
retourne la longueur (nombre de caractères) de la chaîne. Attention, contrairement aux tableaux dont length est un membre,
dans la classe String, length() est une méthode.
boolean equals(Object obj)
Si obj est de type String, retourne vrai si les deux chaînes
ont la même valeur et false sinon. Sinon, renvoie true/false en
comparant la valeur de la chaîne et la valeur retournée par la
méthode toString() de obj.
boolean equalsIgnoreCase(String s)
Renvoie true si la chaîne est identique à s sans tenir compte de
la casse (diérence majuscules/minuscules) et false sinon.
Cette liste n'est pas exhaustive : consultez la documentation de la classe, notamment pour les méthodes replace(), substring(), toUppperCase(), toLowerCase(),
indexOf(). . . Voir :
http://docs.oracle.com/javase/7/docs/api/index.html?java/lang/String.
html
5