Académique Documents
Professionnel Documents
Culture Documents
int x = clavier.nextInt( );
• Si vous entrez 123 et appuyez sur ENTER, x vaudra 123 .
boolean b = clavier.nextboolean ( );
• Si vous entrez true et appuyez sur ENTER, b vaudra true.
String s = clavier.nextLine( );
• La méthode nextLine place TOUS les caractères (incluant les
espaces) que vous tapez sur la ligne dans la variable s.
1
Classes String et StringBuffer
Constructions directes
Le langage a cherché à simplifier le maniement des chaines, quitte à déroger aux règles
générales de construction et de manipulation des classes d'objets.
• Construction normale
La façon générale et normale de définir une chaine est d'utiliser un constructeur
comme pour les autres objets. Par exemple :
• String ch = new String("Voici une chaine !") ;
• System.out.println( ch ) ;
• Construction simplifiée
Mais pour simplifier, on utilise couramment la construction équivalente :
• String ch = "Voici une chaine !" ;
• Reconstruction automatique
Non seulement les objets String sont automatiquement construits, mais ils sont aussi
reconstruits lors d'une réaffectation d'une même variable.
• String ch = "Voici une chaine !" ;
• System.out.println( ch ) ;
• ch = "Bonjour !"
• System.out.println( ch ) ;
La 2ème affectation est correcte car elle a reconstruit la chaine, ce qui a permis le
changement de sa taille.
2
• byte[] table = {'B', 'o', 'n' , 'j' , 'o' , 'u' , 'r'} ;
• String ch = new String(table, 0 , table.length) ;
• System.out.println( ch ) ;
• De même on peut construire une chaine à partir d'un tableau de char
• char[] table = {'a', 'b', 'c'};
• String ch = new String( table );
• est équivalent à :String ch = "abc";
L'opérateur de concaténation +
Le langage définit l'opérateur + capable de concaténer des objets String
Cet opérateur offre des facilités pour rendre plus aisé l'assemblage de constantes et de
3
variables primaires en chaine. Un "cast" (conversion) automatique est appliqué entre 2
arguments de types différents, reliés par cet opérateur + :
si l'un des deux arguments est une constante ou une variable String, ou un nombre, l'autre est
converti en chaine, de sorte que l'opérateur + renvoie une nouvelle chaine en résultat.
Exemples
Classe StringBuffer
• Il s'agit de créer des objets buffer ou zone de travail qui contient des caractères.
On réserve un buffer simplement en indiquant la taille ou la valeur initiale, comme :
• str=StringBuffer (128) ;
• str=StringBuffer ("Bonjour ") ;
La différence avec un objet String est que la taille d'un StringBuffer est variable.
Une telle chaine peut être modifiée et ainsi être utilisée lors d'une construction
dynamique.
• Méthodes spécifiques
append(ch) ajoute la chaine ch à la fin de l'actuelle chaine
setLength(n) fixe la nouvelle longueur à n, ce qui peut tronquer la chaine actuelle.
• reverse()
Exemple:
• String s;
s2=s1.reverse().toString();
• Remarque :
La concaténation + entre String est en fait implémentée en utilisant StringBuffer et
la méthode toString().
4
classe StringTokenizer :
• découpe une chaîne de caractères en "mots" selon certains séparateurs ; les séparateurs
sont précisés ou par défaut : espace, tabulation, retour-chariot et newline
• constructeurs :
o StringTokenizer(String chaine) découpe la chaîne selon les séparateurs par
défaut
o StringTokenizer(String chaine, String Séparateurs) découpe la chaîne selon les
Séparateurs précisés
• méthodes :
o countTokens() retourne le nombre de "mots à séparer" qui reste dans la chaine
o hasMoreTokens() retourne true s'il reste des "mots à séparer" dans la chaine
o nextToken() retourne un nouveau "mot" (String ) séparé de la chaine String
Exemple
String s=" java est un langage moderne ";
StringTokenizer st=new StringTokenizer(s);
System.out.println("nombre mots "+st.countTokens());
while(st.hasMoreTokens())
System.out.println(st.nextToken());
5
La classe Math
Cette classe contient des méthodes de calcul sur les entiers et les réels conformes à la norme
IEEE 754 ce qui assure leur portabilité sur les clients.
Elle contient également des approximations (en double) de e et de π.
Les fonction abs( x ), min(x,y) et max(x,y ) admettent les types int, long, float et double
comme arguments.
1 Fonctions trigonométriques
Ces fonctions travaillent toujours sur des valeurs en radians. On trouve les fonctions :
sin (double) : sinus de l'argument exprimé en radian
cos (double) : cosinus
tan (double) : tangente
asin(double) : arc sinus (valeur dans l'intervalle [-π / 2, + π / 2])
acos(double) : arc cos (valeur dans l'intervalle [0, + π]
atan (double) : arc tangente (valeur dans l'intervalle [-π / 2, + π / 2])
2 Autres fonctions
double x = 0.751, z;
z = Math.ceil ( x ); // z = 1.0
z = Math.floor ( x ); // z = 0.0
z = Math.round ( x ); // z = 1.0