Respostas:
Use aspas simples para char
s literais , aspas duplas para String
s literais , assim:
char c = 'a';
String s = "hello";
Eles não podem ser usados de outra forma (como em Python, por exemplo).
int
em tais contextos. Portanto, não precisa ser assim char
. Merece alguns votos negativos ... simplista.
Um char é um único caractere UTF-16, que é uma letra, um dígito, um sinal de pontuação, uma tabulação, um espaço ou algo semelhante.
Um literal de char é um único caractere entre aspas simples como este
char myCharacter = 'g';
ou uma sequência de escape, ou mesmo uma sequência de escape unicode:
char a = '\t'; // Escape sequence: tab
char b = '\177' // Escape sequence, octal.
char c = '\u03a9' // Unicode escape sequence.
É importante notar que as sequências de escape Unicode são processadas muito cedo durante a compilação e, portanto, usar '\ u00A' levará a um erro do compilador. Para símbolos especiais, é melhor usar sequências de escape, ou seja, '\ n' em vez de '\ u00A'.
Sendo aspas duplas String
, você deve usar uma "seqüência de escape de aspas duplas" ( \"
) dentro das strings onde, de outra forma, terminaria a string.
Por exemplo:
System.out.println("And then Jim said, \"Who's at the door?\"");
Não é necessário escapar as aspas duplas entre aspas simples.
A seguinte linha é válida em Java:
char doublequote = '"';
Vamos considerar estas linhas de código (Java):
System.out.println("H"+"A"); //HA
System.out.println('H'+'a'); //169
1) A primeira linha é a concatenação de H
e A
isso resultará em HA
(literal de string)
2) Em segundo lugar, estamos adicionando os valores de dois caracteres que de acordo com a Tabela ASCII H
= 72 e a
= 97 isso significa que estamos adicionando 72+97
como ('H'+'a')
.
3) Vamos considerar outro caso em que teríamos:
System.out.println("A"+'N');//AN
Neste caso, estamos lidando com a concatenação de String A
e char N
que resultará em AN
.
Aspas simples indicam caracteres e aspas duplas indicam string.
char c = 'c';
'c' -----> c é um caractere
String s = "stackoverflow";
"stackoverflow" ------> stackoverflow é uma string (ou seja, coleção de caracteres)