galera to tendo dificuldade em entender o tipo de dado char.
inicializar uma variável assim:
char a = ‘\uFFFF’, entendo que é uma representação unicode de um caracter.
se eu incializar assim:
char b= 65535, o caracteres são representados em números inteiros
e assim:
char c = ‘\123’ - não sei ??? o que é isso ? pq ele aceita ?
Se alguém puder esclarecer esse tipo char eu agradeço, pq eu to fazendo muita confusão.
O tipo char é um tipo inteiro, sem sinal, cujo valor vai de +0 até +65535.
Ele ocupa 2 bytes (assim como o tipo short, que é um inteiro com sinal que vai de -32768 até +32767).
A notação “\123” não é válida em Java, embora o seja em C/C++. Os únicos caracteres que podem suceder ao “" em Java são:
b -> \b = Backspace (ASCII 8)
t -> \t = Tab (ASCII 9)
n -> \n = Line Feed (ASCII 10)
f -> \f = Form Feed (ASCII 12)
r -> \r = Carriage Return (ASCII 13)
u -> \uXXXX - Unicode U+XXXX (onde X é um caracter hexadecimal).
\ -> \ = Contrabarra
’ -> ’ = Aspa simples
” -> " = Aspa dupla
Nessas linguagens, "\123" é a representação OCTAL do caracter ASCII 83 ("S").
Obrigado Thiago. Consegui entender.
Nos simulados do site http://www.danchisholm.net/ tem uma regra bem legal que pode ajudar na hora da prova. Eu decorei e nunca mais esqueci.
Eh assim.
big farms need red tractors
onde as letras em negrito referem ao que o thingol falou acima.
Abraço.