1. Littéraux entiers

Et maintenant, pour un nouveau sujet intéressant - les littéraux. Les données écrites directement dans le code du programme sont appelées littéraux . Nous ne parlons pas d'anciennes données, mais des valeurs des types primitifs et du Stringtype.

Par exemple, supposons que vous ayez le code suivant :

Code Littéraux
int a = 5;
int b = a + 10;
String s = "Sum=" + (a + b);
5
10
"Sum="

Les littéraux de ce code sont le nombre 5, le nombre 10et la chaîne ' Sum = '.

En Java, tout, y compris les littéraux, a un type. Par défaut, tous les littéraux entiers (nombres entiers) dans le code sont ints. Le type int est le type entier Java standard.

De plus, si vous décidez d'affecter un littéral entier à une variable d'octet ou à une variable courte dans votre code, il n'y aura aucun problème. Vous devez simplement vous assurer que la valeur littérale se situe dans la plage de valeurs que le type de la variable peut stocker.

Le compilateur Java est assez intelligent pour comprendre qu'une bytevariable peut se voir attribuer le littéral entier 100 sans créer de problèmes.

Exemples:

Code Description
int a = 300;
Cela compilera très bien.
byte a = 100; 
Cela compilera très bien.
byte a = 300; 
Il y aura une erreur de compilation, car la valeur d'octet maximale est de 127.

Vous pouvez également écrire longdes littéraux dans votre code. Pour ce faire, ajoutez la lettre latine 'L' ou 'l' à la fin de l'entier.

Exemples:

Code Description
long a = 3000000000L; 
Cela compilera très bien.
long a = 3000000000; 
Erreur de compilation : 3 milliards est trop grand pour un littéral int.
int a = 3000000000L; 
Erreur de compilation : le littéral est un long, mais la variable est un int. De plus, 3 milliards est plus que le maximum int.

Avez-vous remarqué à quel point il est difficile de lire de grands nombres de 10 chiffres ou plus ? Vous ne pouvez pas dire immédiatement si le code dit 3 milliards ou 30 milliards. Pour rendre le code plus lisible (et c'est important !), Java permet d'insérer des traits de soulignement dans les littéraux numériques (ils n'affectent pas la valeur du nombre).

L'exemple ci-dessus peut être réécrit avec des traits de soulignement pour le rendre un peu plus clair :

Code Description
long a = 3_000_000_000L; 
Cela compilera très bien.
long a = 3_000_000_000; 
Erreur de compilation : 3 milliards est trop grand pour un littéral int.
int a = 3_000_000_000L; 
Erreur de compilation : le littéral est un long, mais la variable est un int. De plus, 3 milliards est plus que le maximum int.

Mais nous ne pouvons pas utiliser de virgules dans les littéraux numériques car elles sont déjà utilisées à d'autres fins. Par exemple, pour séparer les arguments les uns des autres lors de l'appel d'une méthode.



2. Littéraux de nombres réels

Dans votre code, vous pouvez spécifier non seulement des nombres entiers, mais également des littéraux à virgule flottante (nombres réels).

En fait, la règle est assez simple : si un nombre dans le code contient une virgule décimale, alors le nombre est un littéral à virgule flottante. Et pas n'importe quel littéral, mais un doublelittéral.

Vous pouvez créer un littéral flottant, mais vous devez mettre la lettre 'F' (ou 'f') à la fin du nombre pour le faire .

Exemples:

Code Description
double a = 100.0; 
Cela compilera très bien.
double a = 100.;
Cela compilera très bien.
double a = .0;
Cela compilera très bien.
float a = 100.0f; 
Cela compilera très bien.
float a = 100.0; 
Il y aura une erreur de compilation : la variable est un flottant, mais le littéral est un double.

Soit dit en passant, vous pouvez convertir explicitement un littéral entier en un flottant ou un littéral double en faisant simplement appending the suffix 'F' (for float) or D (for double). Exemples:

Code Description
double a = 100D; 
Cela compilera très bien.
float a = 100F; 
Cela compilera très bien.
int a = 300D; 
Il y aura une erreur de compilation : la variable est un int, mais le littéral est un double.

Les littéraux à virgule flottante peuvent utiliser la notation scientifique : en plus de la partie signée du nombre, vous pouvez également spécifier une puissance de dix. Exemple:

Littéral Notation mathématique Valeur finale
1.23E2
1.23 * 102
123.0
1.23E3
1.23 * 103
1230.0
1.23E-6
1.23 * 10-6
0.00000123
1E6
1.0 * 106
1000000.0
1E-10
1.0 * 10-10
0.0000000001


3. Littéraux de chaîne

Vous pouvez également spécifier des lignes entières de texte dans votre code. Afin de dire au compilateur de traiter une chaîne comme des données (un littéral) et non comme faisant partie du code, la chaîne entière est entourée de guillemets doubles des deux côtés.

Si une seule ligne de code comporte plusieurs guillemets doubles, ils sont divisés en paires. Le premier guillemet double indique le début d'un littéral. Le suivant indique la fin du littéral. Le suivant marque une fois de plus le début d'un nouveau littéral. Et le suivant marque la fin du deuxième littéral. Et ainsi de suite.

Chacun de ces littéraux est un String.

Exemples

Code Explication
"+" + "+" + "+" + "+" + "+"
Il y a 5 littéraux dans une ligne. Chacun d'eux est composé d'un seul  +personnage
""
Ce littéral est une chaîne vide. Une chaîne sans caractères.
"2+3" + "-5"
Il y a deux littéraux ici. Le résultat sera la chaîne ' 2+3-5', pas un nombre
"return" + ";"
Il y a aussi deux littéraux ici. Il n'y a pas de déclaration de retour ici.

Si un littéral de chaîne est trop long, il peut être divisé en plusieurs lignes et collé avec l'opérateur "plus":

Code Explication
String s = "I hold it true, whate'er befall, "
         + "I feel it when I sorrow most; "
         + "'Tis better to have loved and lost "
         + "Than never to have loved at all.";
Si vous affichez cette ligne à l'écran, tout le texte sera affiché sur une seule ligne !


4. Caractères littéraux

Vous pouvez spécifier non seulement des littéraux de chaîne dans votre code, mais également des littéraux composés de caractères individuels. Notez que nous ne parlons pas d'une chaîne composée d'un seul caractère, mais plutôt de littéraux dont le type est char.

Contrairement à une chaîne, un littéral de caractère est entouré de guillemets simples . À l'intérieur des guillemets simples, il doit y avoir un caractère et un seul caractère. Vous ne pouvez pas utiliser de guillemets simples vides.

Exemples:

Code Explication
'A'
Un littéral dont le type est char. Il contient la lettre latine 'A'.
'@' 
Un littéral dont le type est char. Il contient le symbole '@'
'' 
Un littéral dont le type est char. Il contient un caractère japonais. Et cela est également possible.
'\u1f3a'
Un littéral dont le type est char. Il contient un caractère Unicode spécifié par son numéro.

Le dernier exemple attribue un caractère Unicode en utilisant une notation spéciale : nous avons d'abord le préfixe \u, suivi de 4 caractères hexadécimaux. Les leçons suivantes contiennent des informations détaillées à ce sujet.