double divisao = 5.0 / 2; fiquei na duvida porque o certo não serio mesmo estando apenos o 5, mostrar 2.5
double divisao = 5.0 / 2; fiquei na duvida porque o certo não serio mesmo estando apenos o 5, mostrar 2.5
Oi Bruno, tudo bem? Isso é por causa da questão dos tipos. Vamos lá. Concorda comigo que uma divisão inteira (sem quebrados) de 5 por 2, dá 2 e sobra 1? Imagine que está dividindo bolas de futebol (não dá pra ganhar meia bola, certo?)
O Java "vê" que é uma divisão entre valores inteiros e então segue como a gente deveria seguir.
Quando colocamos o ponto (5.0), o Java já entende de outra forma, 5.0 tem casa decimal, então não será uma divisão inteira, será uma divisão com casas decimais. Então ele imprime os 2.5.
Na escola basicamente a gente aprende desse jeito. Só que nos acostumamos com a ideia dos números reais em que todo número pode ser dividido por outro (exceto alguns casos especiais) considerando casa decimais.
Deu pra entender agora? Divisão por inteiro é uma coisa. Divisão com pontos flutuantes (casas decimais) é outra.