Développons en Java v 2.10 | ||||||||
Copyright (C) 1999-2016 Jean-Michel DOUDOUX. |
Niveau : | Fondamental |
Ce chapitre détaille la syntaxe et les éléments de bases du langage Java. Cette syntaxe est largement inspirée de celle du langage C.
Ce chapitre contient plusieurs sections :
Java est sensible à la casse.
Les blocs de code sont encadrés par des accolades. Chaque instruction se termine par un caractère ';' (point virgule).
Une instruction peut tenir sur plusieurs lignes :
Exemple : |
1.
char
2.
code
3.
=
4.
'D' ;
|
L'indentation est ignorée du compilateur mais elle permet une meilleure compréhension du code par le programmeur.
Le langage Java définit une cinquantaine de mot réservés :
abstract | continue | for | new | switch |
assert (Java 1.4) | default | goto | package | synchronized |
boolean | do | if | private | this |
break | double | implements | protected | throw |
byte | else | import | public | throws |
case | enum (Java 5) | instanceof | return | transient |
catch | extends | int | short | try |
char | final | interface | static | void |
class | Metal Vintage C7 Steampunk Vintage pour femmes soleil lunettes Revêtement junkai les de hommes finally | UV400 Vintage Frame Round Classique conduite Keephen Steampunk Lunettes lunettes Bleu Argent Hippy de soleil FSR6Pwlong | strictfp (Java 1.2) | volatile |
const | float | native | super | while |
Les mots const et goto ne sont pas actuellement utilisés par le langage mais sont définis dans la liste des mots réservés du langage Java.
Les mots true, false et null ne sont pas des mots réservés mais des littéraux respectivement pour des valeurs booléennes ou pour déclarer une référence non définie à un objet.
Chaque objet, classe, programme ou variable est associé à un nom : l'identificateur qui peut se composer de tous les caractères alphanumériques et des caractères _ et $. Le premier caractère doit être une lettre, le caractère de soulignement ou le signe dollar.
$ (24) | _ (5f) | ¢ (a2) | £ (a3) | ¤ (a4) | ¥ (a5) | ؋ (60b) | ৲ (9f2) | ৳ (9f3) | ৻ (9fb) |
૱ (af1) | ௹ (bf9) | ฿ (e3f) | ៛ (17db) | ‿ (203f) | ⁀ (2040) | ⁔ (2054) | ₠ (20a0) | ₡ (20a1) | ₢ (20a2) |
₣ (20a3) | ₤ (20a4) | ₥ (20a5) | ₦ (20a6) | ₧ (20a7) | ₨ (20a8) | ₩ (20a9) | ₪ (20aa) | ₫ (20ab) | les Revêtement pour hommes Vintage Metal femmes Steampunk de Vintage junkai soleil lunettes C7 € (20ac) |
₭ (20ad) | ₮ (20ae) | ₯ (20af) | ₰ (20b0) | ₱ (20b1) | de hommes Steampunk soleil pour Revêtement C7 les junkai Vintage femmes lunettes Metal Vintage ₲ (20b2) | ₳ (20b3) | ₴ (20b4) | ₵ (20b5) | ₶ (20b6) |
₷ (20b7) | ₸ (20b8) | ₹ (20b9) | ꠸ (a838) | ﷼ (fdfc) | ︳ (fe33) | ︴ (fe34) | ﹍ (fe4d) | ﹎ (fe4e) | ﹏ (fe4f) |
﹩ (fe69) | $ (ff04) | _ (ff3f) | ¢ (ffe0) | £ (ffe1) | ¥ (ffe5) | ₩ (ffe6) |
Rappel : Java est sensible à la casse.
Un identificateur ne peut pas appartenir à la liste des mots réservés du langage Java ni correspondre aux littéraux true, false et null.
Ils ne sont pas pris en compte par le compilateur donc ils ne sont pas inclus dans le pseudo code. Ils ne se terminent pas par un caractère ";".
Il existe trois types de commentaire en Java :
Type de commentaires | Exemple |
commentaire abrégé | // commentaire sur une seule ligne int N=1; // déclaration du compteur |
commentaire multiligne |
|
commentaire de documentation automatique |
|
Une variable possède un nom, un type et une valeur. La déclaration d'une variable doit donc contenir deux choses : un nom et le type de données qu'elle peut contenir. Une variable est utilisable dans le bloc où elle est définie.
La déclaration d'une variable permet de réserver la mémoire pour en stocker la valeur.
Le type d'une variable peut être :
Exemple : |
1.
long nombre;
2.
int compteur;
3.
String chaine;
|
Rappel : les noms de variables en Java peuvent commencer par une lettre, par le caractère de soulignement ou par le signe dollar. Le reste du nom peut comporter des lettres ou des nombres mais jamais d'espace.
Exemple : |
01.
package com.jmdoudoux.test;
02.
03.
public class Declaration {
04.
05.
public static void main(String[] args) {
06.
int ????? = 100 ;
07.
String ????? = "test" ;
08.
09.
System.out.println(?????);
10.
System.out.println(?????);
11.
}
12.
}
|
Il est possible de définir plusieurs variables de même type en séparant chacune d'elles par une virgule.
Exemple : |
1.
int jour, mois, annee ;
|
Java est un langage à typage rigoureux qui ne possède pas de transtypage automatique lorsque ce transtypage risque de conduire à une perte d'information. A partir de Java 5, l'autoboxing permet la conversion automatique d'un type primitif vers son wrapper correspondant (boxing) ou inversement (unboxing) : ce mécanisme est détaillé dans le chapitre sur Java 5
Pour les objets, il est nécessaire en plus de la déclaration de la variable de créer un objet avant de pouvoir l'utiliser. Il faut réserver de la mémoire pour la création d'un objet ( remarque : un tableau est un objet en Java ) avec l'instruction new. La libération de la mémoire se fait automatiquement grâce au garbage collector.
lunettes les junkai C7 Vintage Steampunk de Vintage pour femmes Revêtement soleil Metal hommes Exemple : |
1.
MaClasse instance; // déclaration de l'objet
2.
3.
instance = new MaClasse(); // création de l'objet
4.
5.
OU MaClasse instance = new MaClasse(); // déclaration et création de l'objet
|
Exemple : |
1.
int [] nombre = new int [ 10 ];
|
Il est possible en une seule instruction de faire la déclaration et l'affectation d'une valeur à une variable ou plusieurs variables.
Exemple : |
1.
int i= 3 , j= 4 ;
|
Les types élémentaires ont une taille identique quelque soit la plate-forme d'exécution : c'est un des éléments qui permet à Java d'être indépendant de la plate-forme sur laquelle le code s'exécute.
Type | Désignation | Longueur | Valeurs | Commentaires |
boolean | valeur logique : true ou false |
1 bit
|
true ou false
|
pas de conversion possible vers un autre type |
byte | octet signé |
8 bits
|
-128 à 127
|
|
short | entier court signé |
16 bits
|
-32768 à 32767
|
|
char | caractère Unicode |
16 bits
|
\u0000 à \uFFFF
|
entouré de cotes simples dans du code Java |
int | entier signé |
32 bits
|
-2147483648 à 2147483647
|
|
float | virgule flottante simple précision (IEEE754) |
32 bits
|
les pour Revêtement hommes Metal Steampunk de Vintage lunettes Vintage junkai C7 femmes soleil 1.401e-045 à 3.40282e+038
|
|
double | virgule flottante double précision (IEEE754) |
64 bits
|
2.22507e-308 à 1.79769e+308
|
|
long | entier long |
64 bits
|
-9223372036854775808 à 9223372036854775807
|
Les types élémentaires commencent tous par une minuscule.
Le format des nombres entiers :
Il existe plusieurs formats pour les nombres entiers : les types byte, short, int et long peuvent être codés en décimal, hexadécimal ou octal. Pour un nombre hexadécimal, il suffit de préfixer sa valeur par 0x. Pour un nombre octal, le nombre doit commencer par un zéro. Le suffixe l ou L permet de spécifier que c'est un entier long.
Le format des nombres décimaux :
Il existe plusieurs formats pour les nombres décimaux. Les types float et double stockent des nombres flottants : pour être reconnus comme tels ils doivent posséder soit un point, un exposant ou l'un des suffixes f, F, d, D. Il est possible de préciser des nombres qui n'ont pas le partie entière ou pas de partie décimale.
Exemple : |
1.
float pi = 3 Steampunk Femmes Pour de et Métallique du Cercle Noir Retro Hommes Lunettes Rond Soleil Style Inspirées en Polarisées Frêne FqSc0w7Z.141f;
2.
double valeur = 3d;
3.
float flottant1 = +.1f , flottant2 = 1e10f;
|
Par défaut un littéral représentant une valeur décimale est de type double : pour définir un littéral représentant une valeur décimale de type float il faut le suffixer par la lettre f ou F.
Attention :
|
Exemple : |
1.
double valeur = 1.1 ;
|
Le format des caractères :
Un caractère est codé sur 16 bits car il est conforme à la norme Unicode. Il doit être entouré par des apostrophes. Une valeur de type char peut être considérée comme un entier non négatif de 0 à 65535. Cependant la conversion implicite par affectation n'est pas possible.
Exemple : |
1.
/* test sur les caractères */
2.
class test1 {
3.
public static void main (String args[]) {
4.
char code = 'D' ;
5.
int index = code - 'A' ;
6.
System.out.println( "index = " + index);
femmes C7 Vintage de les Revêtement Metal hommes lunettes junkai Steampunk soleil pour Vintage 7.
}
8.
}
|
Exemple : |
1.
int nombre; // déclaration
2.
nombre = 100 ; //initialisation
3.
OU int nombre = 100 ; //déclaration et initialisation
|
En Java, toute variable appartenant à un objet (définie comme étant un attribut de l'objet) est initialisée avec une valeur par défaut en accord avec son type au moment de la création. Cette initialisation ne s'applique pas aux variables locales des méthodes de la classe.
Les valeurs par défaut lors de l'initialisation automatique des variables d'instances sont :
Type
|
Valeur par défaut
|
boolean
|
false
|
byte, short, int, long
|
0
|
float, double
|
0.0
|
char
|
\u000
|
classe
|
null
|
Remarque : Dans une applet, il est préférable de faire les déclarations et initialisations dans la méthode init(). |
le signe = est l'opérateur d'affectation et s'utilise avec une expression de la forme variable = expression. L'opération d'affectation est associative de droite à gauche : il renvoie la valeur affectée ce qui permet d'écrire :
x = y = z = 0;
Il existe des opérateurs qui permettent de simplifier l'écriture d'une opération d'affectation associée à un opérateur mathématique :
Opérateur
|
Exemple | Signification |
= |
a=10 |
équivalent à : a = 10 |
+= |
a+=10 |
équivalent à : a = a + 10 |
-= |
a-=10 |
équivalent à : a = a - 10 |
*= |
a*=10 |
équivalent à : a = a * 10 |
/= |
a/=10 |
équivalent à : a = a / 10 |
%= |
a%=10 |
reste de la division |
^= |
a^=10 |
équivalent à : a = a ^ 10 |
<<= |
a<<=10 |
équivalent à : a = a << 10 a est complété par des zéros à droite |
>>= |
a>>=10 |
équivalent à : a = a >> 10 a est complété par des zéros à gauche |
>>>= |
a>>>=10 |
équivalent à : a = a >>> 10 décalage à gauche non signé |
Attention : Lors d'une opération sur des opérandes de types différents, le compilateur détermine le type du résultat en prenant le type le plus précis des opérandes. Par exemple, une multiplication d'une variable de type float avec une variable de type double donne un résultat de type double. Lors d'une opération entre un opérande entier et un flottant, le résultat est du type de l'opérande flottant. |
Java propose des opérateurs pour toutes les comparaisons :
Opérateur | Exemple | Signification |
> |
a > 10 |
strictement supérieur |
< |
a < 10 |
strictement inférieur |
>= |
a >= 10 |
supérieur ou égal |
<= |
a <= 10 |
inférieur ou égal |
== |
a == 10 |
Egalité |
!= |
a != 10 |
diffèrent de |
& |
a & b |
ET binaire |
^ |
a ^ b |
OU exclusif binaire |
| |
a | b |
OU binaire |
&& |
a && b |
ET logique (pour expressions booléennes) : l'évaluation de l'expression cesse dès qu'elle devient fausse |
|| |
a || b |
OU logique (pour expressions booléennes) : l'évaluation de l'expression cesse dès qu'elle devient vraie |
? : |
a ? b : c |
opérateur conditionnel : renvoie la valeur b ou c selon l'évaluation de l'expression a (si a alors b sinon c) : b et c doivent retourner le même type |
Les opérateurs sont exécutés dans l'ordre suivant à l'intérieur d'une expression qui est analysée de gauche à droite:
L'usage des parenthèses permet de modifier cet ordre de priorité.
Les opérateurs arithmétiques se notent + (addition), - (soustraction), * (multiplication), / (division) et % (reste de la division). Ils peuvent se combiner à l'opérateur d'affectation
Exemple : |
1.
nombre += 10 ;
|
Pour les types numériques entiers, Java met en oeuvre une sorte de mécanisme de conversion implicite vers le type int appelé promotion entière. Ce mécanisme fait partie des règles mises en place pour renforcer la sécurité du code.
Exemple : |
1.
short x= 5 , y = 15 ;
2.
x = x + y ; //erreur à la compilation
3.
4.
Incompatible type for =. Explicit cast needed to convert int to Revêtement les Metal junkai Vintage lunettes soleil hommes C7 Steampunk de femmes pour Vintage short .
5.
x = x + y ; //erreur à la compilation
6.
^
7.
1 error
|
Les opérandes et le résultat de l'opération sont convertis en type int. Le résultat est affecté dans un type short : il y a donc risque de perte d'informations et donc une erreur est émise à la compilation. Cette promotion évite un débordement de capacité sans que le programmeur soit pleinement conscient du risque : il est nécessaire, pour régler le problème, d'utiliser une conversion explicite ou cast.
Exemple : |
1.
x = ( short ) ( x + y );
|
Il est nécessaire de mettre l'opération entre parenthèses pour que ce soit son résultat qui soit converti car le cast a une priorité plus forte que les opérateurs arithmétiques.
La division par zéro pour les types entiers lève l'exception ArithmeticException.
Exemple : |
1.
/* test sur la division par zéro de nombres entiers */
2.
class test3 {
3.
public static void main (String args[]) {
4.
int valeur= 10 ;
5.
double resultat = valeur / 0 ;
6.
System.out.println( "index = " + resultat);
7.
}
8.
}
|
Avec des valeurs float ou double, la division par zéro ne produit pas d'exception mais le résultat est indiqué par une valeur spéciale qui peut prendre trois états :
Conformément à la norme IEEE754, ces valeurs spéciales représentent le résultat d'une expression invalide NaN, une valeur supérieure au plafond du type pour infini positif ou négatif.
X
|
Y
|
X / Y
|
X % Y
|
valeur finie
|
0
|
+
¥
|
NaN
|
valeur finie
|
+/-
¥
|
0
|
x
|
0
|
0
|
NaN
|
NaN
|
+/-
¥
|
valeur finie
|
+/-
¥
|
NaN
|
+/-
¥
|
+/-
¥
|
NaN
|
NaN
|
Exemple : |
01.
/* test sur la division par zéro de nombres flottants */
02.
03.
class test2 {
04.
public static void main (String args[]) {
05.
float valeur=10f;
06.
double resultat = valeur / 0 ;
07.
System.out.println( "index = " + resultat);
08.
}
09.
}
|
Les opérateurs d'incrémentation et de décrémentation sont : n++ ++n n-- --n
Si l'opérateur est placé avant la variable (préfixé), la modification de la valeur est immédiate sinon la modification n'a lieu qu'à l'issue de l'exécution de la ligne d'instruction (postfixé)
L'opérateur ++ renvoie la valeur avant incrémentation s'il est postfixé, après incrémentation s'il est préfixé.
Exemple : |
1.
System.out.println(x++); // est équivalent à
2.
System.out.println(x); x = x + 1 ;
3.
4.
System.out.println(++x); // est équivalent à
5.
x = x + 1 les femmes lunettes Vintage Vintage de C7 Steampunk soleil pour junkai Revêtement Metal hommes ; System.out.println(x);
|
Exemple : |
01.
/* Test sur les incrémentations préfixées et postfixées */
02.
03.
class test4 {
04.
public static void main (String args[]) {
05.
int n1= 0 ;
06.
int n2= 0 ;
07.
System.out.println( "n1 = " + n1 + " n2 = " + n2);
08.
n1=n2++;
09.
System.out.println( "n1 = " + n1 + " n2 = " + n2);
10.
n1=++n2;
11.
System.out.println( "n1 = " + n1 + " n2 = " + n2);
12.
n1=n1++; //attention
13.
System.out.println( "n1 = " + n1 + " n2 = " + n2);
14.
}
15.
}
|
Résultat : |
1.
int n1=0;
2.
int n2=0; // n1=0 n2=0
3.
n1=n2++; // n1=0 n2=1
4.
n1=++n2; // n1=2 n2=2
5.
n1=n1++; // attention : n1 ne change pas de valeur
|
Java définit les priorités dans les opérateurs comme suit ( du plus prioritaire au moins prioritaire )
les parenthèses |
( )
|
les opérateurs d'incrémentation |
++
-- |
les opérateurs de multiplication, division et modulo |
*
/ % |
les opérateurs d'addition et soustraction |
+
- |
les opérateurs de décalage |
<<
>> |
les opérateurs de comparaison |
<
> <= >= |
les opérateurs d'égalité |
==
!= |
l'opérateur OU exclusif |
^
|
l'opérateur ET |
&
|
l'opérateur OU |
|
|
l'opérateur ET logique |
&&
|
l'opérateur OU logique |
||
|
les opérateurs d'assignement |
=
+= -= |
Les parenthèses ayant une forte priorité, l'ordre d'interprétation des opérateurs peut être modifié par des parenthèses.
Comme la quasi-totalité des langages de développement orientés objets, Java propose un ensemble d'instructions qui permettent d'organiser et de structurer les traitements. L'usage de ces instructions est similaire à celui rencontré avec leur équivalent dans d'autres langages.
|
Le code est exécuté tant que le booléen est vrai. Si avant l'instruction while, le booléen est faux, alors le code de la boucle ne sera jamais exécuté
Ne pas mettre de ; après la condition sinon le corps de la boucle ne sera jamais exécuté
|
Cette boucle est au moins exécutée une fois quelle que soit la valeur du booléen;
|
Exemple : |
1.
for (i = 0 ; i < 10 ; i++ ) { ....}
2.
for ( int i = 0 Vintage C7 soleil Vintage junkai Revêtement de Steampunk pour lunettes femmes hommes les Metal ; i < 10 ; i++ ) { ....}
3.
for ( ; ; ) { ... } // boucle infinie
|
L'initialisation, la condition et la modification de l'index sont optionnelles.
Dans l'initialisation, on peut déclarer une variable qui servira d'index et qui sera dans ce cas locale à la boucle.
Il est possible d'inclure plusieurs traitements dans l'initialisation et la modification de la boucle : chacun des traitements doit être séparé par une virgule.
Exemple : |
1.
for (i = 0 , j = 0 ; i * j < 1000 ;i++ , j+= 2 ) { ....}
|
La condition peut ne pas porter sur l'index de la boucle :
Exemple : |
1.
boolean trouve = false ;
2.
for ( int i = 0 ; !trouve ; i++ ) {
3.
if ( tableau[i] == 1 ) {
4.
trouve = true ;
5.
... //gestion de la fin du parcours du tableau
6.
}
7.
}
|
Il est possible de nommer une boucle pour permettre de l'interrompre même si cela est peu recommandé :
Exemple : |
01.
int compteur = 0 ;
02.
boucle:
03.
while (compteur < 100 ) {
04.
05.
for ( int compte = 0 ; compte < 10 ; compte ++) {
06.
compteur += compte;
07.
System.out.println( "compteur = " +compteur);
08.
if (compteur> 40 ) break boucle;
09.
}
10.
}
|
|
|
Avant Java 7, on ne peut utiliser switch qu'avec des types primitifs d'une taille maximum de 32 bits (byte, short, int, char). A partir de Java 7, il est possible d'utiliser un type String avec l'instruction switch.
soleil Vintage de hommes Vintage junkai femmes pour C7 les Metal Steampunk Revêtement lunettes Si une instruction case ne contient pas de break alors les traitements associés au case suivant sont exécutés.
Il est possible d'imbriquer des switch
L'opérateur ternaire : ( condition ) ? valeur-vrai : valeur-faux
Exemple : |
1.
if (niveau == 5 ) // equivalent à total = (niveau ==5) ? 10 : 5;
2.
total = 10 ;
3.
else total = 5 ;
4.
System.out.println((sexe == " H " ) ? " Mr " : " Mme " );
|
break : permet de quitter immédiatement une boucle ou un branchement. Utilisable dans tous les contrôles de flot
de Vintage pour Metal les Steampunk hommes Revêtement C7 Vintage femmes soleil junkai lunettes continue : s'utilise dans une boucle pour passer directement à l'itération suivante
break et continue peuvent s'exécuter avec des blocs nommés. Il est possible de préciser une étiquette pour indiquer le point de retour lors de la fin du traitement déclenché par le break.
Une étiquette est un nom suivi d'un caractère deux-points qui définit le début d'une instruction.
Ce sont des objets : ils sont donc dérivés de la classe Object. Il est possible d'utiliser les méthodes héritées telles que equals() ou getClass().
Le premier élément d'un tableau possède l'indice 0.
Java permet de placer les crochets après ou avant le nom du tableau dans la déclaration.
Exemple : |
1.
int tableau[] = new int [ 50 ]; // déclaration et allocation
2.
3.
OU int [] tableau = new int [ 50 ];
4.
5.
OU int tab[]; // déclaration
6.
tab = new int [ 50 ]; //allocation
|
Java ne supporte pas directement les tableaux à plusieurs dimensions : il faut déclarer un tableau de tableau.
Exemple : |
1.
float tableau[][] = new float [ 10 ][ 10 ];
|
La taille des tableaux de la seconde dimension peut ne pas être identique pour chaque occurrence.
Exemple : |
1.
int dim1[][] = new int [ 3 ][];
2.
dim1[ 0 ] = new int [ 4 ];
3.
dim1[ 1 ] = new int [ 9 ];
4.
dim1[ 2 ] = new int [ 2 ];
|
Chaque élément du tableau est initialisé selon son type par l'instruction new : 0 pour les numériques, '\0' pour les caractères, false pour les booléens et null pour les chaines de caractères et les autres objets.
Exemple : |
1.
int tableau[ 5 ] = { 10 , 20 , 30 , 40 , 50 };
2.
int tableau[ 3 ][ 2 ] = {{ 5 , 1 },{ 6 , 2 },{ 7 , 3 }};
|
La taille du tableau n'est pas obligatoire si le tableau est initialisé à sa création.
Exemple : |
1.
int tableau[] = { 10 , 20 , 30 , 40 , 50 };
|
Le nombre d'éléments de chaque ligne peut ne pas être identique :
Exemple : |
1.
int [][] tabEntiers = {{ 1 , 2 , 3 , 4 , 5 , 6 },
2.
{ 1 , 2 , 3 , 4 },
3.
{ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }};
|
Exemple : |
1.
for ( int i = 0 ; i < tableau.length ; i ++) { ... }
|
La variable length retourne le nombre d'éléments du tableau.
Pour passer un tableau à une méthode, il suffit de déclarer les paramètres dans l'en-tête de la méthode
Exemple : |
1.
public void printArray(String texte[]){ ...
2.
}
|
Les tableaux sont toujours transmis par référence puisque ce sont des objets.
Un accès a un élément d'un tableau qui dépasse sa capacité, lève une exception du type java.lang.arrayIndexOutOfBoundsException.
Lors de la déclaration, il est possible d'utiliser un cast :
Exemple : |
1.
int entier = 5 ;
2.
float flottant = ( float ) entier;
|
La conversion peut entrainer une perte d'informations.
Il n'existe pas en Java de fonction pour convertir : les conversions de type se font par des méthodes. La bibliothèque de classes API fournit une série de classes qui contiennent des méthodes de manipulation et de conversion de types élémentaires.
Classe | Rôle |
String | pour les chaînes de caractères Unicode |
Integer | pour les valeurs entières (integer) |
Long | pour les entiers longs signés (long) |
Float | pour les nombres à virgule flottante (float) |
Double | pour les nombres à virgule flottante en double précision (double) |
Les classes portent le même nom que le type élémentaire sur lequel elles reposent avec la première lettre en majuscule.
Ces classes contiennent généralement plusieurs constructeurs. Pour y accéder, il faut les instancier puisque ce sont des objets.
Exemple : |
1.
String montexte;
2.
montexte = new String( "test" );
|
L'objet montexte permet d'accéder aux méthodes de la classe java.lang.String
Exemple : |
1.
int i = 10 ;
2.
String montexte = new String();
3.
montexte =montexte.valueOf(i);
|
valueOf est également définie pour des arguments de type boolean, long, float, double et char
Exemple : |
1.
String montexte = new String( de junkai Steampunk hommes femmes Vintage pour Vintage Metal lunettes C7 Revêtement les soleil " 10 " );
2.
Integer monnombre= new Integer(montexte);
3.
int i = monnombre.intValue(); //conversion d'Integer en int
|
Exemple : |
1.
int i= 10 ;
2.
Integer monnombre= new Integer(i);
3.
long j=monnombre.longValue();
|
La définition d'un caractère se fait grâce au type char :
Exemple : |
1.
char touche = '%' ;
|
La définition d'une chaîne se fait grâce à l'objet String :
Exemple : |
1.
String texte = " bonjour " ;
|
Les variables de type String sont des objets. Partout où des constantes chaînes de caractères figurent entre guillemets, le compilateur Java génère un objet de type String avec le contenu spécifié. Il est donc possible d'écrire :
String texte = " Java Java Java ".replace('a','o');
Les chaînes de caractères ne sont pas des tableaux : il faut utiliser les méthodes de la classe String d'un objet instancié pour effectuer des manipulations.
Il est impossible de modifier le contenu d'un objet de type String. Cependant, il est possible d'utiliser les méthodes de la classe String pour effectuer une modification qui va créer une nouvelle chaîne de caractères. Il suffit alors d'affecter le résultat de ces méthodes à la variable pour qu'elle pointe sur la nouvelle chaîne de caractères contenant les modifications.
Exemple : |
1.
String texte = " Java Java Java " ;
|
Java ne fonctionne pas avec le jeu de caractères ASCII ou ANSI, mais avec Unicode (Universal Code). Ceci concerne les types char et les chaînes de caractères. Le jeu de caractères Unicode code un caractère sur plusieurs octets. Les caractères 0 à 255 correspondent exactement au jeu de caractères ASCII étendu.
Dans une chaîne de caractères, plusieurs caractères particuliers doivent être utilisés avec le caractère d'échappement \. Le tableau ci-dessous recense les principaux caractères.
Caractères spéciaux
|
Affichage
|
\'
|
Apostrophe
|
\"
|
Guillemet
|
\\
|
Antislash
|
\t
|
Tabulation
|
\b
|
Retour arrière (backspace)
|
\r
|
Retour chariot
|
\f
|
Saut de page (form feed)
|
\n
|
Saut de ligne (newline)
|
\0ddd
|
Caractère ASCII ddd (octal)
|
\xdd
|
Caractère ASCII dd (hexadécimal)
|
\udddd
|
Caractère Unicode dddd (hexadécimal)
|
Java admet l'opérateur + comme opérateur de concaténation de chaînes de caractères.
L'opérateur + permet de concaténer plusieurs chaînes de caractères. Il est possible d'utiliser l'opérateur +=
Exemple : |
1.
String texte = " " ;
2.
texte += " Hello " ;
3.
texte += " World3 " ;
|
Cet opérateur sert aussi à concaténer des chaînes avec tous les types de bases. La variable ou constante est alors convertie en chaîne et ajoutée à la précédente. La condition préalable est d'avoir au moins une chaîne dans l'expression sinon le signe '+' est évalué comme opérateur mathématique.
Exemple : |
1.
System.out.println( " La valeur de Pi est : " +Math.PI);
2.
int duree = 121 ;
3.
System.out.println( " durée = " +duree);
|
Il faut utiliser la méthode equals()
Exemple : |
1.
String texte1 = " texte 1 " ;
2.
String texte2 = " texte 2 " ;
3.
if ( texte1.equals(texte2) )...
|
La méthode length() permet de déterminer la longueur d'une chaine.
Exemple : |
1.
String texte = " texte " ;
2.
int longueur = texte.length();
|
Les méthodes Java toUpperCase() et toLowerCase() permettent respectivement d'obtenir une chaîne tout en majuscules ou tout en minuscules.
Exemple : |
1.
String texte = " texte " ;
2.
String textemaj = texte.toUpperCase();
|
Metal Revêtement de soleil pour Steampunk hommes les Vintage femmes lunettes C7 junkai Vintage | Développons en Java v 2.10 | ||||||
Copyright (C) 1999-2016 Jean-Michel DOUDOUX. |