O que é Typecasting em Java e como funciona?



Casting de tipo em Java é atribuir um valor de um tipo de dados primitivo a outro. Neste artigo, falarei sobre vários tipos de conversão de tipo.

Programar é brincar com dados. Dentro , existem muitos tipos de dados. Na maioria das vezes durante a codificação, é necessário alterar o tipo de dados para entender o processamento de uma variável e isso é chamado de Type Casting. Neste artigo, falarei sobre os fundamentos do Type Casting em Java.

Os tópicos abaixo são abordados neste artigo:

Vamos começar!





O que é fundição de tipo?

A seleção de tipos nada mais é do que atribuir o valor um para outro. Ao atribuir o valor de um tipo de dados a outro, você deve estar ciente da compatibilidade do tipo de dados. Se eles forem compatíveis, então irá realizar a conversão automaticamente conhecida como Conversão Automática de Tipo e se não, eles precisam ser lançados ou convertidos explicitamente.

Existem dois tipos de cast em Java, como segue:



  • Ampliando o Casting (automaticamente) - Isso envolve a conversão de um tipo de dados menor em um tamanho de tipo maior.

    diferença entre implementa e estende

    byte -> short -> char -> int -> long -> float -> double

  • Estreitando Casting (manualmente) - Isso envolve a conversão de um tipo de dados maior em um tipo de tamanho menor.



    double -> float -> long -> int -> char -> short -> byte

Agora vamos entrar em detalhes sobre os tipos de fundição de tipo.

Ampliando o Casting

Esse tipo de conversão ocorre quando dois tipos de dados são convertidos automaticamente. É também conhecido como Conversão Implícita. Isso acontece quando os dois tipos de dados são compatíveis e também quando atribuímos o valor de um menor para um tipo de dados maior.

Por exemplo, Os tipos de dados numéricos são compatíveis entre si, mas nenhuma conversão automática é suportada do tipo numérico para char ou booleano. Além disso, char e boolean não são compatíveis um com o outro. Agora vamos escrever uma lógica para conversão de tipo implícito para entender como funciona.

public class Conversion {public static void main (String [] args) {int i = 200 // conversão automática de tipo long l = i // conversão automática de tipo float f = l System.out.println ('Int value' + i) System.out.println ('Valor longo' + l) System.out.println ('Valor flutuante' + f)}}

Resultado:

Valor interno 200 Valor longo 200 Valor flutuante 200,0

Agora, vamos prosseguir e entender como funciona a conversão explícita de tipos.

Fundição restrita

Neste caso, se você deseja atribuir um valor de tipo de dados maior a um tipo de dados menor, você pode executar Cast de tipo explícito ou estreitamento. Isso é útil para tipos de dados incompatíveis onde a conversão automática não pode ser feita.

Vamos entender isso com a ajuda de um exemplo.

// Programa Java para ilustrar a conversão explícita de tipo public class Narrowing {public static void main (String [] args) {double d = 200.06 // conversão explícita de tipo long l = (long) d // conversão explícita de tipo int i = (int ) l System.out.println ('Valor de tipo de dados duplo' + d) // parte fracionária perdida System.out.println ('Valor de tipo de dados longos' + l) // parte fracionária perdida System.out.println ('Int Valor do tipo de dados '+ i)}}

Resultado:

Double Data type value 200.06 Long Data type value 200 Int Data type value 200

Agora que você sabe como realizar a conversão de tipo explícito, vamos prosseguir e entender como a conversão explícita pode ser realizada em expressões Java.

Fundição de tipo explícito em expressões

Quando você está avaliando o expressões, a saída é atualizada automaticamente para o tipo de dados maior do operando. Mas se você armazenar esse resultado em qualquer tipo de dados menor, ele gerará um erro de tempo de compilação, devido ao qual precisamos digitar o cast da saída.

O que é classe anônima em java

Exemplo:

// Programa Java para ilustrar a conversão de tipo int para byte public class ExplicitTest {public static void main (String args []) {byte b = 70 // conversão de tipo int para byte b = (byte) (b * 2) System.out .println (b)}}

Resultado:

140

Nota: No caso de operandos únicos, o resultado é convertido para int e, em seguida, é convertido de acordo com o tipo.

Então, tudo se resumia à conversão explícita de tipos em Java.Com isso, chegamos ao final deste artigo. Euespero que você tenha achado informativo. Se você deseja saber mais, pode verificar nosso também.

Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. Estamos aqui para ajudá-lo em todas as etapas de sua jornada, para nos tornarmos uma pergunta além dessa entrevista java, nós criamos um currículo que é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java.

Tem alguma questão para nós? Mencione isso na seção de comentários deste artigo “Type Casting in Java” e entraremos em contato com você o mais breve possível.