Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
(3/5)
11 Concepts de base....................................................................................................................46
11.1 Expressions ........................................................................................................................46
11.1.1 Expressions sur les chaînes de caractères ..................................................................46
11.1.2 Conversions ...............................................................................................................47
12 Concepts avancés ...................................................................................................................49
12.1 Méthode .............................................................................................................................49
12.1.1 Définition...................................................................................................................49
12.1.2 Méthode récursive .....................................................................................................50
12.1.3 Variable locale ...........................................................................................................50
12.1.4 Passage des arguments...............................................................................................51
12.1.5 Surcharge des méthodes ............................................................................................51
12.1.6 Bibliothèque mathématique .......................................................................................51
11.1 Expressions
L’opérateur le plus utilisé sur les chaînes de caractère est la concaténation dont le symbole
est identique à celui de l'addition.
Exemple Résultat
+ " Bon "+ " jour" " Bonjour"
" Jeudi " + 12 " Jeudi 12"
Pour comparer deux chaînes de caractères on utilise, l'instruction suivante (s1et s2 sont des
chaînes) :
if (s1.equals(s2)) ……
N'utilisez pas l'opérateur == pour comparer deux chaînes. En effet cet opérateur ne
compare pas le contenu des variables chaînes de caractère, mais quelque chose appelée
référence. Vous verrez ce concept plus tard. Pour l'instant retenez que String n'est pas un
type de base comme un autre et que la comparaison se fait avec equals().
s1.length();
s1.charAt(i);
Qui retourne le ième caractère de s1. Attention i doit être compris dans l'intervalle
[0,s1.length()[
s1.substring(i,j);
"Bonjour".substring(3,6);
retourne "jou".
11.1.2 Conversions
byteàshortàintàlongàdouble
intàfloatàdouble
charàint
Les autres conversions peuvent se faire par coercition, la syntaxe est alors :
(type) expression
int a=1;
byte b=2;
double d=3.0;
a = b;
d = a;
d = b;
b = (byte) a;
a = (int) d;
b = (byte) d;
Le programme suivant :
short a =1;
short b =2;
short c =a+b;
provoque l'erreur :
short c = (short)(a+b);
12.1 Méthode
12.1.1 Définition
afficheChaine("Une chaine");
Notez que
1) Cette méthode est déclarée static.
2) Après le nom de la méthode on a indiqué la liste des paramètres et leur type.
3) Cette méthode ne retourne aucune valeur. C’est pour cela que l’on a utilisé le mot clef
void.
Autre exemple :
Cette méthode retourne le carré du nombre passé en argument. L’argument est un entier
(car on a écrit int x), le résultat est lui- même entier (car on a écrit int avant carre).
INFO07EXE01
Ecrire une méthode qui retourne le maximum de 2 entiers.
Dans le corps d’une méthode, on peut faire appel à la même méthode. On dit que cette
méthode est récursive. La méthode suivante :
Retourne n!.
INFO07EXE03
Suite de Fibonacci
Les variables déclarées à l’intérieur d’une méthode ne sont pas visibles de l’extérieur.
…
1 static void calcul(int i) {
2 int x = 0;
3 …
4 }
5 static public void main(String arg[]) {
6 int x=1;
Imprime 1. Car c’est la variable x définie dans la méthode main qui est utilisée. Si la ligne
6 est supprimée, le code ne compile plus (essayez !).
En Java les arguments sont passés par valeur. Cela implique que leur valeur n’est pas
modifiée après l’appel de la méthode.
Affiche 345 à l’écran, bien que la variable i soit modifiée dans la méthode m.
Java permet d’utiliser le même nom pour plusieurs méthodes, à condition que le type de
leurs paramètres soit différent.
Ces deux premières méthodes définissent le calcul du carré d’un entier et du carré d’un
flottant.
double x;
x=Math.sqrt(567);//Racine carrée de 567
Opération Signification
Math.abs(x) Valeur absolue
Math.ceil(x) Arrondi au plus petit entier (sous forme
de double) supérieur ou égal.
Math.ceil(9.2) à 10.0
Math.cos(x) Cosinus
Math.exp(x) Exponentielle
Math.floor(x) Arrondi au plus grand entier (sous
forme de double) inférieur ou égal.
Math.floor(9.9) à 9.0
Math.log(x) Logarithme naturel
Math.max(x,y) Plus grande valeur
Math.min(x,y) Plus petite valeur
Math.pow(x,y) Elévation de x à la puissance de y
Math.sin(x) Sinus de x
Math.sqrt(x) Racine carrée de x
Math.tan(x) Tangente de x
INFO07EXE04
Définissez une méthode qui retourne l'entier (sous forme de double) le plus proche d'un
réel.
Par exemple arrondit(3.4) à 3, arrondit(3.6) à 4