Types de données Java
Types de données Java
Comme expliqué dans le chapitre précédent, une variable en Java doit être un type de données spécifié :
Exemple
int myNum = 5; // Integer (whole number)
float myFloatNum = 5.99f; // Floating point number
char myLetter = 'D'; // Character
boolean myBool = true; // Boolean
String myText = "Hello"; // String
Les types de données sont divisés en deux groupes :
- Types de données primitifs - inclut
byte
,short
,int
,long
,float
,double
,boolean
etchar
- Types de données non primitifs - tels que String , Arrays et Classes (vous en apprendrez plus à ce sujet dans un chapitre ultérieur)
Types de données primitifs
Un type de données primitif spécifie la taille et le type des valeurs de variable, et il n'a pas de méthodes supplémentaires.
Il existe huit types de données primitifs en Java :
Data Type | Size | Description |
---|---|---|
byte | 1 byte | Stores whole numbers from -128 to 127 |
short | 2 bytes | Stores whole numbers from -32,768 to 32,767 |
int | 4 bytes | Stores whole numbers from -2,147,483,648 to 2,147,483,647 |
long | 8 bytes | Stores whole numbers from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
float | 4 bytes | Stores fractional numbers. Sufficient for storing 6 to 7 decimal digits |
double | 8 bytes | Stores fractional numbers. Sufficient for storing 15 decimal digits |
boolean | 1 bit | Stores true or false values |
char | 2 bytes | Stores a single character/letter or ASCII values |
Nombres
Les types de nombres primitifs sont divisés en deux groupes :
Les types entiers stockent des nombres entiers, positifs ou négatifs (tels que 123 ou -456), sans décimales. Les types valides sont byte
, short
et int
. long
Le type à utiliser dépend de la valeur numérique.
Les types à virgule flottante représentent des nombres avec une partie fractionnaire, contenant une ou plusieurs décimales. Il en existe deux types : float
et double
.
Même s'il existe de nombreux types numériques en Java, les plus utilisés pour les nombres sont int
(pour les nombres entiers) et double
(pour les nombres à virgule flottante). Cependant, nous les décrirons tous au fur et à mesure de votre lecture.
Types entiers
Octet
Le byte
type de données peut stocker des nombres entiers de -128 à 127. Cela peut être utilisé à la place de int
ou d'autres types d'entiers pour économiser de la mémoire lorsque vous êtes certain que la valeur sera comprise entre -128 et 127 :
Exemple
byte myNum = 100;
System.out.println(myNum);
Court
Le short
type de données peut stocker des nombres entiers de -32768 à 32767 :
Exemple
short myNum = 5000;
System.out.println(myNum);
Int
Le int
type de données peut stocker des nombres entiers de -2147483648 à 2147483647. En général, et dans notre tutoriel, le int
type de données est le type de données préféré lorsque nous créons des variables avec une valeur numérique.
Exemple
int myNum = 100000;
System.out.println(myNum);
Long
Le long
type de données peut stocker des nombres entiers de -9223372036854775808 à 9223372036854775807. Ceci est utilisé lorsque int n'est pas assez grand pour stocker la valeur. Notez que vous devez terminer la valeur par un "L":
Exemple
long myNum = 15000000000L;
System.out.println(myNum);
Types à virgule flottante
Vous devez utiliser un type à virgule flottante chaque fois que vous avez besoin d'un nombre avec une décimale, comme 9,99 ou 3,14515.
Flotter
Le float
type de données peut stocker des nombres fractionnaires de 3,4e−038 à 3,4e+038. Notez que vous devez terminer la valeur par un "f":
Exemple
float myNum = 5.75f;
System.out.println(myNum);
Double
Le double
type de données peut stocker des nombres fractionnaires de 1,7e−308 à 1,7e+308. Notez que vous devez terminer la valeur par un "d":
Exemple
double myNum = 19.99d;
System.out.println(myNum);
Utilisez float
ou double
?
La précision d'une valeur à virgule flottante indique le nombre de chiffres que la valeur peut avoir après la virgule décimale. La précision de float
n'est que de six ou sept chiffres décimaux, tandis que double
les variables ont une précision d'environ 15 chiffres. Par conséquent, il est plus sûr de l'utiliser double
pour la plupart des calculs.
Numéros scientifiques
Un nombre à virgule flottante peut aussi être un nombre scientifique avec un "e" pour indiquer la puissance de 10 :
Exemple
float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);
Booléens
Un type de données booléen est déclaré avec le boolean
mot-clé et ne peut prendre que les valeurs true
ou false
:
Exemple
boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun); // Outputs true
System.out.println(isFishTasty); // Outputs false
Les valeurs booléennes sont principalement utilisées pour les tests conditionnels, sur lesquels vous en apprendrez plus dans un chapitre ultérieur.
Personnages
Le char
type de données est utilisé pour stocker un
seul caractère. Le caractère doit être entouré de guillemets simples, comme 'A' ou 'c' :
Exemple
char myGrade = 'B';
System.out.println(myGrade);
Vous pouvez également utiliser des valeurs ASCII pour afficher certains caractères :
Exemple
char myVar1 = 65, myVar2 = 66, myVar3 = 67;
System.out.println(myVar1);
System.out.println(myVar2);
System.out.println(myVar3);
Astuce : Une liste de toutes les valeurs ASCII peut être trouvée dans notre Référence de table ASCII .
Cordes
Le String
type de données est utilisé pour stocker une séquence de caractères (texte). Les valeurs de chaîne doivent être entourées de guillemets :
Exemple
String greeting = "Hello World";
System.out.println(greeting);
Le type String est tellement utilisé et intégré en Java, que certains l'appellent "le neuvième type spécial".
Une chaîne en Java est en fait un type de données non primitif , car elle fait référence à un objet. L'objet String possède des méthodes qui sont utilisées pour effectuer certaines opérations sur les chaînes. Ne vous inquiétez pas si vous ne comprenez pas encore le terme "objet" . Nous en apprendrons plus sur les chaînes et les objets dans un chapitre ultérieur.
Types de données non primitifs
Les types de données non primitifs sont appelés types de référence car ils font référence à des objets.
La principale différence entre les types de données primitifs et non primitifs est :
- Les types primitifs sont prédéfinis (déjà définis) en Java. Les types non primitifs sont créés par le programmeur et ne sont pas définis par Java (sauf pour
String
). - Les types non primitifs peuvent être utilisés pour appeler des méthodes afin d'effectuer certaines opérations, contrairement aux types primitifs.
- Un type primitif a toujours une valeur, tandis que les types non primitifs peuvent être
null
. - Un type primitif commence par une lettre minuscule, tandis que les types non primitifs commencent par une lettre majuscule.
- La taille d'un type primitif dépend du type de données, tandis que les types non primitifs ont tous la même taille.
Des exemples de types non primitifs sont Strings , Arrays , Classes , Interface , etc. Vous en apprendrez plus à ce sujet dans un chapitre ultérieur.