OVH Cloud OVH Cloud

C'est quoi un littéral ?

5 réponses
Avatar
MxT
salut à tous,

dans un cours de java téléchargé sur le web, je lis dans le chapitre
Le format des types élémentaires :

Par défaut un littéral est de type double : pour définir un float il
faut le suffixer par la lettre f ou F.

c'est quoi un "littéral" ?

merci
MxT

5 réponses

Avatar
Laurent Bossavit
MxT,

c'est quoi un "littéral" ?


Une constante écrite en dur. En Java elles peuvent être de type

entier: 5, 5L, 0xAB
double: 5.0
caractère: 'a'
chaîne: "toto"
booléen: false
tableau: {"foo", "bar"}

Laurent
http://bossavit.com/thoughts/

Avatar
Cléo
c'est quoi un "littéral" ?


C'est un type non-objet, par exemple:
float, double, byte, short, int, long, char ...

Par opposition aux types non-littéraux (Objets)
Object, Float, Double, Byte, Short, String ...

Dans ton exemple, l'auteur veut dire que si tu écris:
if ( myvar == 1.05 ) { .. }
1.05 est traduit par une valeur de type double(littéral) et non un objet
Double. Si tu désires que ta comparaison soit réalisée entre float il te
faudra écrire:
if ( myvar == 1.05f ) { .. }
alors 1.05f sera considéré comme un float(littéral) et non un objet Float.

Amicalement.
--
Cléo

Avatar
ZeGrunt
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Salut.

Cléo wrote:
c'est quoi un "littéral" ?


C'est un type non-objet, par exemple:
float, double, byte, short, int, long, char ...

Par opposition aux types non-littéraux (Objets)
Object, Float, Double, Byte, Short, String ...


Non, un littéral; un peu d'éthymologie ne fait pas de mal, est une
valeur écrite en toutes lettres. Souvent appelé constante explicite.

Selon ta définition (littéral=non-objet), dans :
int toto = 1;
int tata = toto;
on pourrait penser que toto est un littéral or c'est faux : c'est une
variable.

A+

ZeGrunt.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFBehZmnLjyGhlEgFIRAoGpAKCqx7rpuLqEmm0rzy3R6dfa2iOW1gCggQuM
1gnmxjqA/yXeMvAQckxyRHE =5jMa
-----END PGP SIGNATURE-----


Avatar
Bruno Jouhier
"ZeGrunt" a écrit dans le message de news:
417a1662$0$32567$
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Salut.

Cléo wrote:
c'est quoi un "littéral" ?


C'est un type non-objet, par exemple:
float, double, byte, short, int, long, char ...

Par opposition aux types non-littéraux (Objets)
Object, Float, Double, Byte, Short, String ...


Non, un littéral; un peu d'éthymologie ne fait pas de mal, est une
valeur écrite en toutes lettres. Souvent appelé constante explicite.


Tout à fait!


Selon ta définition (littéral=non-objet), dans :
int toto = 1;
int tata = toto;
on pourrait penser que toto est un littéral or c'est faux : c'est une
variable.



Oui. Et en plus, on pourrait aussi penser que "Hello world!" n'est pas un
litteral car c'est un objet (une instance de java.lang.String), alors que
c'en est bien un (littéral).

Donc, c'est faux sur toute la ligne.

A+

ZeGrunt.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFBehZmnLjyGhlEgFIRAoGpAKCqx7rpuLqEmm0rzy3R6dfa2iOW1gCggQuM
1gnmxjqA/yXeMvAQckxyRHE > =5jMa
-----END PGP SIGNATURE-----




Avatar
Cléo
Oui. Et en plus, on pourrait aussi penser que "Hello world!" n'est pas un
litteral car c'est un objet (une instance de java.lang.String), alors que
c'en est bien un (littéral).

Donc, c'est faux sur toute la ligne.



Merci pour vos remarques, ça m'évitera la prochaine fois de raconter des
salades ...

--
Cléo.