O tipo primitivo char
Caracteres e Unicode
O tipo primitivo char é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 4 aulas no total.
O que é um caractere
Um char é um tipo primitivo de Java que armazena um único caractere, como uma letra, um dígito ou um símbolo.
Você escreve um valor de caractere entre aspas simples: 'A', '7' ou '?'. As aspas duplas criam uma String, portanto "A" não é um caractere.
char grade = 'A';
char symbol = '#';Imprimindo um caractere
Você pode armazenar um caractere em uma variável e imprimi-lo como qualquer outro valor.
Aqui, um programa completo declara um caractere e o imprime. Observe as aspas simples ao redor da letra.
public class Main {
public static void main(String[] args) {
char first = 'J';
System.out.println(first);
}
}Um caractere é, na verdade, um número
Internamente, todo caractere tem um código numérico da tabela Unicode. A letra 'A' corresponde ao código 65, e 'a' corresponde ao código 97.
Se você atribuir um caractere a um inteiro, Java fornecerá esse número de código.
public class Main {
public static void main(String[] args) {
char c = 'A';
int code = c;
System.out.println(code);
}
}Fazendo cálculos com caracteres
Como um caractere é um número, você pode fazer operações aritméticas com ele. Somar 1 a 'A' leva ao próximo código, que é 'B'.
Para vê-lo novamente como uma letra, converta o resultado de volta para char.
public class Main {
public static void main(String[] args) {
char a = 'A';
char next = (char) (a + 1);
System.out.println(next);
}
}Caracteres de dígitos versus números
Tenha cuidado: o caractere '5' não é o número 5. O caractere '5' tem o código Unicode 53.
Para converter um caractere de dígito em seu valor numérico real, subtraia '0' dele. Isso funciona porque os códigos dos dígitos estão em ordem.
public class Main {
public static void main(String[] args) {
char d = '5';
int value = d - '0';
System.out.println(value);
}
}Caracteres de escape especiais
Alguns caracteres são escritos usando uma sequência de escape com barra invertida. '\n' representa uma nova linha, '\t' representa uma tabulação e '\'' representa uma aspa simples.
Cada sequência de escape ainda representa um único caractere, embora use dois símbolos no código.
char tab = '\t';
char quote = '\'';
char newline = '\n';Comparando caracteres
Você pode comparar caracteres com ==, < e >, pois esses operadores comparam os números subjacentes.
Como 'a' é 97 e 'b' é 98, a expressão 'a' < 'b' é verdadeira.
public class Main {
public static void main(String[] args) {
char x = 'a';
char y = 'b';
System.out.println(x < y);
}
}Caractere em um switch
Um caractere funciona muito bem dentro de uma instrução switch para escolher entre casos.
Cada rótulo case é um caractere entre aspas simples. Isso é útil para opções de menu ou atribuição de notas.
public class Main {
public static void main(String[] args) {
char grade = 'B';
switch (grade) {
case 'A': System.out.println("Great"); break;
case 'B': System.out.println("Good"); break;
default: System.out.println("Keep going");
}
}
}Valor padrão de um caractere
Se um campo de caractere não receber um valor, seu padrão será o caractere nulo com código 0, escrito como '\u0000'.
Variáveis locais em métodos não têm valor padrão, portanto você precisa atribuir um caractere antes de usá-lo; caso contrário, o código não será compilado.
char letter;
letter = 'Z';
System.out.println(letter);Sequências de escape Unicode
Você pode escrever qualquer caractere usando seu código Unicode com '\u' seguido de quatro dígitos hexadecimais.
Por exemplo, '\u0041' é a letra 'A'. Isso permite incluir caracteres difíceis de digitar diretamente.
public class Main {
public static void main(String[] args) {
char a = '\u0041';
System.out.println(a);
}
}Limites do intervalo de um caractere
Um caractere é um valor sem sinal de 16 bits, portanto pode armazenar códigos de 0 a 65535. Ele não pode ser negativo.
Isso oferece espaço suficiente para letras, dígitos e caracteres de muitos idiomas do mundo armazenados em Unicode.
public class Main {
public static void main(String[] args) {
char max = (char) 65535;
int code = max;
System.out.println(code);
}
}Verificação rápida
Teste sua compreensão do tipo primitivo de caractere.
Recapitulação
Um char armazena um caractere entre aspas simples e é baseado em um número Unicode.
Você pode fazer cálculos com caracteres, compará-los e converter caracteres de dígitos em números subtraindo '0'. Fazer a conversão de volta para char transforma um código em um caractere visível.
Perguntas Frequentes
A aula “O tipo primitivo char” é grátis?
Sim — o texto completo de “O tipo primitivo char” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 4 aulas no total.
O que vou aprender em “O tipo primitivo char”?
Caracteres e Unicode Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Java Academy?
Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “O tipo primitivo char”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Java Academy?
Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O tipo primitivo char
- Métodos auxiliares de caracteres
- Percorrendo caracteres
- Contando e filtrando chars