Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Entender casting implícito
  2. Entender a sinalização no casting
  3. Entender casting explícito
  4. Autoboxing e unboxing
  5. Ver tabela de perda de dados no casting

A linguagem Java nos permite realizar a conversão básica(casting) dos tipos de dados primitivos e outros. Nesta parte do tutorial vamos ver o casting implícito e explícito de tipos númericos inteiros.

Conversões envolvendo tipos numéricos, booleanos e strings podem ser vistas em Java: Conversão com mais detalhes.

No casting implícito, sem perda de dados, a linguagem Java não realiza nenhuma validação convertendo automaticamente de uma tipo de dado de menor capacidade de armazenamento para uma tipo de dado maior capacidade.

Sintaxe
long int < int < short < char
Onde
<: Sentido da conversão. 
Exemplo 1
public class MyClass {
    public static void main(String args[]) {
    
    int a;
    short b= 256;
    a = b;
    
    System.out.println(a);
    System.out.println(b);
    
    }
}
Saída
256
256

Para o casting de números sinalizados de menor tamanho para sinalizados de maior tamanho, a sinalização é mantida. A conversão é feita internamente sem que haja a necessidade de intervenção de código.

Exemplo 2
public class MyClass {
    public static void main(String args[]) {
    
    int a;
    short b= -256;
    a = b;
    
    System.out.println(a);
    System.out.println(b);
    
    }
}
Saída
-256
-256

No casting explícito, o tipo de dados de destino é informado manualmente. A expressão é validada e convertida para o tipo de dado informado como destino. Nesse tipo de casting, há perda de dados.

Sintaxe : perda de dados
long int > int > short > char
Sintaxe : casting
tipo_de_dado_destino nome_variavel = (tipo_de_dado_destino)expressao;
Exemplo 5
public class MyClass {
    public static void main(String args[]) {
    
    int a = 256; //4 bytes
    byte b; //1 byte
    b = (byte)a; //4 bytes > 1 byte
    
    System.out.println(a);
    System.out.println(b);
    
    }
}
Saída
256
0

No casting discutido acima, com perda de dado, e de acordo com os tipos de dados estudados, temos como exemplo a relação das seguintes perdas:

Origem Tamanho(bytes) Destino Tamanho(bytes) Dados perdidos(bytes)
long int 8 int 4 4
int 8 short 2 2
short 8 byte 1 1
long double 8 double 8 8
long float 8 float 4 4

  1. 22/07/2025 - revisão 3 - ajustes pontuais
  2. 23/09/2024 - revisão 2 - ajustes pontuais
  3. 06/02/2024 - revisão 1 - correção em navegação e erros gramaticais
  4. 04/09/2023 - versão inicial