|
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
'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
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'
en unicode (
hexadécimale entre 0 et 65535)
'\u0061'
le caractère 'a'
(6*16+1 = 96+1 = 97)
'\u0063' le caractère 'c'
codage local (sur 8 bits)
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