Índice:
Vídeo: Programação de Computadores - Aula 27 - Entrada, Exceções e Arquivos 2024
De tempos em tempos, você precisa converter dados numéricos de um tipo para outro em Java. Você pode precisar converter um valor duplo em um inteiro, ou vice-versa. Algumas conversões podem ser feitas automaticamente; outros são feitos usando uma técnica chamada.
Conversões automáticas em Java
Java pode converter automaticamente alguns tipos primitivos para outros e fazê-lo sempre que necessário. A imagem abaixo mostra quais conversões Java permite. Observe que as conversões mostradas com as setas pontilhadas abaixo podem causar perda da precisão do valor. Um
int
pode ser convertido para um
float
, por exemplo, mas os valores grandes
int
não serão convertidos exatamente porque os valores
int
podem tem mais dígitos do que pode ser representado pelo
float
tipo.
Sempre que você executa uma operação matemática em dois valores que não são do mesmo tipo, o Java converte automaticamente um deles para o tipo de outro. Aqui estão as regras que o Java segue ao fazer esta conversão:
- Se um dos valores for
duplo
, o outro valor é convertido emduplo
. - Se nem um
duplo
, mas um éflutuador
, o outro é convertido emflutuador
. - Se nem um
duplo
nem umflutuador
, mas um élongo
, o outro é convertido emlongo
. - Se tudo mais falhar, ambos os valores são convertidos para
int
.
Tipo de moldagem
A fundição é semelhante à conversão, mas não é feito automaticamente. Se você quiser converter um
duplo
para um
int
, por exemplo, você deve usar o elenco.
Quando você usa o elenco, corre o risco de perder informações. Um
duplo
pode conter números maiores que um
int
, por exemplo. Além disso, um
int
não pode conter a parte fracionada de um
duplo
. Como resultado, se você converter um
duplo
para um
int
, corre o risco de perder dados ou precisão, então
3. 1415
torna-se
3
, por exemplo.
Para converter um valor primitivo de um tipo para outro, você usa um operador de elenco,, que é simplesmente o nome de um tipo primitivo entre parênteses colocado antes do valor desejado fundida. Por exemplo:
double pi = 3. 1314;
int iPi;
iPi = (int) pi;
Observe que a parte fracionada de um duplo é simplesmente descartada quando emitida para um número inteiro; não é arredondado. Por exemplo:
preço duplo = 9. 99;
int iPrice = (int) preço;
Aqui
iPrice
recebe o valor
9
.Se quiser arredondar o valor duplo ao convertê-lo, use o método
rodada
da classe
Matemática
.