Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Projeto] Convertendendo valores pra tipos

package br.com.alura;


public class Exercicio2 {
    public static void main(String[] args) {
        double valorDouble = 19.5;

        int valorPorInteiro = (int) valorDouble * 1;

        System.out.println("O valor por interiro é: " +valorPorInteiro);

    }
}
1 resposta

Oi, Alvaro. Tudo bem com você?

Seu exercício mostra corretamente a ideia de conversão de um valor double para int usando o casting em Java. A expressão (int) valorDouble faz a conversão de 19.5 para um número inteiro, descartando a parte decimal. Então, nesse caso, o resultado armazenado em valorPorInteiro será 19. A declaração também funciona porque o resultado da conversão já é compatível com o tipo int.

Tem apenas um detalhe que vale observar na expressão int valorPorInteiro = (int) valorDouble * 1;. O * 1 não é necessário para realizar a conversão, porque o casting já está sendo feito por (int) valorDouble. Ou seja, (int) valorDouble já produziria 19. Manter o * 1 não impede o funcionamento do código, mas acaba sendo uma operação sem efeito nesse contexto. Vale também experimentar outros valores para perceber o comportamento da conversão, como 19.9, 19.1 e até valores negativos como -19.8. O casting para int não arredonda o número para o inteiro mais próximo, ele simplesmente elimina a parte decimal.

Parabéns pelo exercício, Alvaro. Você aplicou corretamente o casting e conseguiu demonstrar na prática a conversão entre tipos numéricos em Java. Obrigado por compartilhar sua atividade e continue experimentando diferentes valores para observar como o comportamento muda. O fórum está à disposição.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!