Le jeu de caractère utilisé par Java est basé sur le standard UNICODE. voir "http://www.unicode.org/charts/". Il permet d’avoir des caractères portables entre plateformes.
Plus précisément les caractères sont codés avec le système UTF-16: Les 32 bits des caractères UNICODE sont codés sur 16 bits (on utilise alors 2 x deux octets pour représenter les caractères dont le code est supérieur à 0xD7FF).
Déclarations de caractère et formes littérales.
char unA = 'A' ; char unTab = '\t' ; char unNewLine = '\n' ; //échappement char ap = '\'' char euro = '\u20AC' ; // valeur Unicode en hexadecimal
Non seulement les caractères UNICODE vous permettront d’accéder à des alphabets nationaux particuliers mais vous trouverez là le moyen de représenter des symboles divers … et des Emojis!
Bien que le type String
soit un objet composite (et non un type primitif scalaire)
il a des valeurs littérales et des notations proches de celle utilisées
pour les caractères.
Le type String
représente une suite de caractères: cette séquence est
immuable (on ne peut pas modifier une chaîne de caractères!).
Déclaration de chaîne, littéraux, opération de concaténation.
String nom = "Edmond" ; //noter l'échappement du caractère " String menuItem = "sauté de grenouilles \"à c\u0153ur\" 10 \u20AC" ; // sauté de grenouilles à 10 Euros : pas cher!
L’opérateur +
appliqué à des chaînes de caractères réalise une concaténation (assemblage de chaînes ou
assemblage de chaîne avec d’autres valeurs).
String nomComplet = nom + " Dantès" ; // concatenation int ix = 3 ; "valeur " + ix + 3 ; // imprime 33! "valeur " + (ix + 3) ; // imprime 6
Attention!:
Bien que l’opérateur ==
entre chaînes soit toléré
il ne permet pas de tester l'égalité. Il faut écrire des codes comme:
nomComplet.equals("Edmond Dantès"); "Trafalmadore".equals(nomPlanète);
java.text.Collator
--exercices-- manipulez des chaînes de caractères et des concaténations de chaînes avec des valeurs numériques. (pour vous amuser cherchez à utiliser des émojis en utilisant leur code UNICODE). --plus un exercice de compatibilité entre types--