-
Les différents types existants pour la manipulation de données
types |
données concernées |
valeur |
classes correspondantes |
exemple |
byte |
entier |
-128..127 |
Byte |
15 |
short |
-32768..32767 |
Short |
10000 |
int |
-2.14e9 .. 2.14e9 |
Integer |
150 |
long |
à utiliser quand tout les autres sont trop petits |
Long |
160 |
float |
réel |
|
Float |
1.15 |
double |
|
Double |
1.15 |
boolean |
booléen |
true ou false |
Boolean |
true |
char |
caractère |
caractère quelconque de la norme ASCII |
Character |
'a' |
String |
chaîne de caractères |
chaîne de caractères ASCII |
c'est déjà une classe mais pouvant être utilisée comme n'importe quel type |
"abc" |
-
Déclaration standard d'une variable
cas général:
'nom du type' 'nom de la variable' = 'valeur d'initialistaion';
partie facultative |
On peut déclarer plusieurs variables du même type en les séparant par une virgule.
exemple :
int a,b,c = 2 ;
-
Tableau
-
déclaration
cas général:
'nom du type'[] 'nom de la variable';
ou
'nom du type' 'nom de la variable'[]; |
-
initialisation
cas général:
'nom de la variable' = new 'nom du type' [nombre d'éléments];
ou
'nom de la variable' =
{ 'premier élément' , .. , 'dernier élément'};
le nombre d'éléments et dans ce dernier cas ajusté sur les éléments données |
exemple :
int matrice[] = new int[3];
ou
int[] matrice = {1, 2, 3};
-
utilisation
Les numéros d'éléments vont de 0 au nombre d'éléments-1.
Ainsi pour obtenir l'élément 7 de tab, on écrit:
tab[6]
On peut lui affecter une valeur
tab[6]=9;
Attention si le type du tableau est une classe
tab[6]=new 'nom de la classe' ( paramètres);
-
Tableau dynamique
Les tableaux vus précédemment ont deux inconvénients :
-
Leurs tailles est définie une fois pour toute, si le nombre d'éléments dépasse la taille il faut crées un deuxième tableau plus grand que le précédent que l'on rempli avec le premier et les nouveaux éléments.
-
Tout les éléments doivent être du même type ou hériter d'une super classe commune qui sera le type de données du tableau.
Avec les tableaux dynamiques ont évite ces deux problèmes.
-
déclaration
Avant tout il faut importer la classe "Vector"
import java.lang.Vector;
Ensuite vous devez déclarer dans le programme, le tableau et l'initialiser comme suit:
Vector tab = new vector();
-
utilisation
Vous devez faire les ajouts par la fonction "addElement" prenant en paramètre soit simplement l'objet, qui sera alors ajouté à la fin du tableau ou alors l'objet plus sa position dans le tableau.
Exemple :
tab.addElement(new Integer(6));
Pour récupérer les éléments, il faut appeler la fonction "elementAt" qui prend en paramètre la position notée comme pour un tableau normal de 0 au nombre d'élement-1.
Le nombre d'élément se récupère de la façon suivante:
tab.lenght();
En retour, vous obtenez un élément de type "Object", vous devez donc faire une conversion dans le type voulu.
Exemple:
(Integer) tab.elementAt(0);
|
le tableau ne contient que des objets, pour les variables numériques il faut faire une conversion dans l'instance correspondante ( voir tableau ) |
-
Conversion de types
-
conversion simple
Pour convertir une variable, il faut placer devant celle-ci le type entre parenthèse dans lequel la variable doit être convertie. Cela fonctionne entre les types du tableau à l'exception des types String et boolean, ce dernier ne pouvant être impliqué dans aucune conversion.
Exemple:
int num=10;
float fnum;
fnum=(float) num
-
conversion entre objet
On peut réaliser une conversion entre des objets liés par une relation d'héritage. La conversion d'un objet vers une de ses super classes est faite automatiquement, il faut cependant faire attention car il peut y avoir une perte d'information.
Exemple:
la classe tigre hérite de la classe animaux
animaux ani = new tigre(); //cela est possible grâce à la relation d'héritage
Si la conversion ce fait vers une sous classe cela se fait comme une conversion simple
Exemple:
animaux ani = new animaux();
tigre tigre_a = (tigre) ani;
-
conversion d'un objet vers un type
Les objets sont très utilisé comme valeur de retour en Java, ils sont de plus un passage obligatoire pour les tableaux dynamiques. Il faut donc être capable de les convertir en valeurs. Pour récupérer la valeur on appelle une fonction dont le nom est composé du type de la classe sans la majuscule suivie de "Value".
Exemple:
Integer numero = new Integer(6);
int num = numero.intValue();
-
conversion de chaîne en entier
Il est possible de créer un objet Integer avec en paramètre la chaîne de caractères lui correspondant et ensuite d'appeler la valeur.
Exemple:
String compte = "25";
Integer Icompte = new Integer (compte);
int icompte = Icompte.intValue();
Il existe aussi un moyen plus simple :
Exemple:
String compte = "25";
int icompte = Integer .parseInt(compte);
-
Caractère spéciaux
caractères spéciaux |
affichage |
\' |
apostrophe |
\" |
guillemet |
\\ |
barre oblique inversé ( antislash ) |
\t |
tabulation |
\b |
retour arrière ( backspace ) |
\r |
retour chariot |
\f |
saut de page |
\n |
saut de ligne |
Il est intéressant de savoir que java se voulait un langage international qui ne devait donc pas être limité à l'affichage d'une langue. Pour cela tout à été basé sur un nouveau codage des caractères l'UNICODE, ont peut donc insérer du chinois, thai ... Mais tout les codes des caractères ASCII ont été conservés et sont donc facilement utilisable.
-
Enumération
Il existe deux possibilités :