Type |
Taille (octets) |
Valeur minimale |
Valeur maximale |
byte |
1 |
-128 |
127 |
short |
2 |
-32 768 |
32 767 |
int |
4 |
-2 147 483 648 |
2 147 483 647 |
long |
8 |
-9 223 372 036 854 775 808 |
9 223 372 036 854 775 807 |
Tab. 2.1 Quatre types entiers de Java
binaire
0b00100001 valeur décimale 17 (1*16+1)
underscore" ( _ ) entre deux caractères numériques pour lisibilité
long ln = 0b11010010_01101001_10010100_10010010;
public class
TypeEntier {
public static
void main(String args[]){
byte bt;
//Entier
byte non initialisé
byte
bt1 = 12;
//Initialisation
valeur décimale
byte
bt2 = 015, bt3 = 0xE;
//valeur octale
et hexadecimale
short sh;
short sh1 = 12, sh2 = -0145, sh3 =
0x1F2;
int en;
int
en1 = -12, en3 = 01450, en4 = -0x1A3F2;
long ln;
long ln1 = 12, ln2 = 534L, ln3 =
01450L, ln4 = 0x1A3F2;
}
}
2
00000010
02
3
00000011
03
-2
11111110
FE
-3
11111101
FD
public class
Debord {
public static
void main(String args[]){
byte bt = 127;
bt++;
System.out.println("bt =
"+ bt);
}
}
2.2.
Les types flottants
Type |
Taille en octets |
chiffres significatifs |
Valeur absolue minimale |
Valeur absolue maximale |
float |
4 |
7 |
1.40239846E-45 |
3.40282347E38 |
double |
8 |
15 |
4.9406564584124654E-324 |
1.797693134862316E308 |
Tab. 2.2 Deux types flottants de Java
15.43 -0.28 -.28 4.
4.25E4
4.25e+4
42.5E3
54.27E-32
542.7E-33
5427e-34
48e13 48.e13 48.0E13
4.25E4f 4.25E4F
public class TypeFlottante {
public static void main(String args[]){
float ft;
//non initialisé
float ft1 = 12, ft2 = 12.1f, ft3
= 12.5E8F; //avec initialisations
double db;
double db1 = 12, db2 = 12.1, db3
= 12.5E8;
}
}
Par défaut, toutes les constantes
flottantes sont créées par le compilateur dans le type
double.
2.3 Le type caractère
En Java les caractères sont représentés en mémoire sur deux octets en utilisant le code universel Unicode. Parmi les 65536 combinaisons qu’offre Unicode, on retrouve les 128 possibilités du code ASCII restreint (7 bits). Celles-ci s’obtiennent simplement en complétant le code ASCII par un premier octet nul. Cela signifie donc qu’en Java comme dans les autres langages, la notion de caractère dépasse celle de caractère imprimable. Il y a des caractères associes à un graphisme et des caractères spéciaux.'a' 'E' 'é' '+'
Notation |
Unicode (hexadécimal) |
Abréviation usuelle |
Signification |
\b |
0008 |
BS (Backspace) |
Retour arrière |
\t |
0009 |
HT(Horizonta tabulation) |
Tabulation horizontale |
\n |
000A |
LF(Line feed) |
Saut de ligne |
\f |
000C |
FF(Form feed) |
Saut de page |
\r |
000D |
CR (Cariage return) |
Retour chariot |
\" |
0022 |
|
guillemet |
\' |
0027 |
|
apostrophe |
\\ |
005C |
|
le caractère "\" |
Tab 2.3 Les caractères disposant d’une notation spéciale
Normalement le programme source est saisi avec un éditeur local codant les caractères sur un octet. Avant la compilation les caractères sont convertis en unicode
Les constantes caractères ayant un code compris entre 0 et 255 peuvent être exprimées en octal sous la forme '\ooo', dans laquelle "ooo" représentent un nombre à trois chiffres en base 8 (0 à 7) :
en octale ( entre 0 et 255)
'\141'
le
caractère 'a' (
1*(8*8) +4*8+1 = 64+32+1 = 97)
'\143' le
caractère 'c'
Java a prévu une notation permettant
d’introduire directement dans la source un des 65536
caractères Unicode. Ainsi, n’importe où dans la
source, vous pouvez utiliser la notation '\uxxxx' , dans laquelle xxxx
représente 4 chiffres hexadécimaux :
'\u0061'
le caractère 'a'
(6*16+1 = 96+1 = 97)
'\u0063' le caractère 'c'
Remarque:
Normalement le programme source est saisi avec un éditeur local codant les caractères sur un octet. Le jeu de caractères d’une implémentation donnée est donc très limité. La notation précédente permet l'introduction du code d’un caractère inconnu de l'éditeur. Si pendant l'exécution le programme affiche un tel caractère à l’écran, celui-ci sera à nouveau converti d’Unicode dans le codage local (sur un octet) de la machine d’exécution (qui n’est pas nécessairement celle où s’est faite la saisie). Si la conversion n’est pas possible, on obtiendra simplement l’affichage d’un point d’interrogation.
public class TypeChar {
public static void main(String args[]){
char c;
char c1 = 'a', c2 = '\141', c3 =
'\u0061';
char c4 = '\"', c5 = '\n';
}
}
2.4 Le type
booléen