Em Java, tipo de fundição é um método ou processo que converte um tipo de dados em outro tipo de dados de maneira manual e automática. A conversão automática é feita pelo compilador e a conversão manual realizada pelo programador. Nesta seção, discutiremos tipo de fundição e seus tipos com exemplos adequados.
Fundição de tipo
Converter um valor de um tipo de dados para outro tipo de dados é conhecido como tipo de fundição .
lógica proposicional
Tipos de fundição de tipo
Existem dois tipos de conversão de tipo:
- Fundição de tipo ampliado
- Restrição de tipo de fundição
Fundição de tipo ampliado
A conversão de um tipo de dados inferior em um superior é chamada ampliando tipo fundição. Também é conhecido como conversão implícita ou derrubando . Isso é feito automaticamente. É seguro porque não há chance de perder dados. Ocorre quando:
- Ambos os tipos de dados devem ser compatíveis entre si.
- O tipo de destino deve ser maior que o tipo de origem.
byte -> short -> char -> int -> long -> float -> double
Por exemplo, a conversão entre o tipo de dados numérico para char ou Boolean não é feita automaticamente. Além disso, os tipos de dados char e Boolean não são compatíveis entre si. Vejamos um exemplo.
WideningTypeCastingExample.java
public class WideningTypeCastingExample { public static void main(String[] args) { int x = 7; //automatically converts the integer type into long type long y = x; //automatically converts the long type into float type float z = y; System.out.println('Before conversion, int value '+x); System.out.println('After conversion, long value '+y); System.out.println('After conversion, float value '+z); } }
Saída
Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0
No exemplo acima, pegamos uma variável x e a convertemos em um tipo longo. Depois disso, o tipo long é convertido no tipo float.
baixar vídeos do youtube com vlc
Restrição de tipo de fundição
A conversão de um tipo de dados superior em um inferior é chamada estreitamento tipo fundição. Também é conhecido como conversão explícita ou lançando . Isso é feito manualmente pelo programador. Se não realizarmos a conversão, o compilador reportará um erro em tempo de compilação.
double -> float -> long -> int -> char -> short -> byte
Vamos ver um exemplo de restrição de conversão de tipo.
No exemplo a seguir, realizamos a fundição do tipo estreitamento duas vezes. Primeiro, convertemos o tipo double em tipo de dados longo, depois que esse tipo de dados longo é convertido em tipo int.
NarrowingTypeCastingExample.java
lista de pulos
public class NarrowingTypeCastingExample { public static void main(String args[]) { double d = 166.66; //converting double data type into long data type long l = (long)d; //converting long data type into int data type int i = (int)l; System.out.println('Before conversion: '+d); //fractional part lost System.out.println('After conversion into long type: '+l); //fractional part lost System.out.println('After conversion into int type: '+i); } }
Saída
Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166