Y a-t-il une différence entre les guillemets simples et doubles en Java ?
Réponses
Trop de publicités?Un caractère est un caractère UTF-16 unique, c'est-à-dire une lettre, un chiffre, un signe de ponctuation, une tabulation, un espace ou quelque chose de similaire.
Un littéral char est soit un caractère unique entre guillemets, comme ceci
char myCharacter = 'g';
ou une séquence d'échappement, ou même une séquence d'échappement unicode :
char a = '\t'; // Escape sequence: tab
char b = '\177' // Escape sequence, octal.
char c = '\u03a9' // Unicode escape sequence.
Il convient de noter que les séquences d'échappement Unicode sont traitées très tôt lors de la compilation et que, par conséquent, l'utilisation de ' \u00A conduira à une erreur de compilation. Pour les symboles spéciaux, il est préférable d'utiliser des séquences d'échappement à la place, c'est-à-dire ' \n au lieu de \u00A ' .
Les guillemets étant pour String
vous devez utiliser une "séquence d'échappement entre guillemets doubles" ( \"
) à l'intérieur des chaînes de caractères, là où, sinon, il mettrait fin à la chaîne.
Par exemple :
System.out.println("And then Jim said, \"Who's at the door?\"");
Il n'est pas nécessaire d'échapper aux guillemets doubles entre guillemets simples.
La ligne suivante est légale en Java :
char doublequote = '"';
Considérons cette ligne de codes (Java) :
System.out.println("H"+"A"); //HA
System.out.println('H'+'a'); //169
1) La première ligne est une concaténation de H
y A
qui se traduira par HA
(Chaîne littérale)
2) Ensuite, nous ajoutons les valeurs de deux caractères qui, selon la table ASCII, sont les suivants H
=72 et a
=97 cela signifie que nous ajoutons 72+97
c'est comme ('H'+'a')
.
3) Considérons un autre cas où nous aurions :
System.out.println("A"+'N');//AN
Dans ce cas, nous avons affaire à la concaténation de chaînes de caractères. A
et l'omble N
qui se traduira par AN
.