Nú

Números em Java

36 exercícios

Sobre Números

Um dos aspetos essenciais de trabalhar com números em Java é a distinção entre inteiros (números sem algarismos depois do separador decimal) e números de vírgula flutuante (números com zero ou mais algarismos depois do separador decimal).

Java tem outros tipos de dados além de int e double:

// 8-Bit Integer
byte   a = 127;

// 16-Bit Integer
short  b = 262143;

// 64-Bit Integer
long   d = 18446744073709551999L;

// 32-bit Single-Precision Floating-Point
float  e = 5409.29f;

Tanto os inteiros como os números de vírgula flutuante podem usar o caráter _ como separador de algarismos, o que ajuda quando defines números grandes:

int largeInt = 1_000_000;
// => 1000000

double largeDouble = 9_876_543.21;
// => 9876543.21

A aritmética faz-se com os operadores aritméticos habituais (+, -, *, etc.). Os números podem ser comparados com os operadores de comparação habituais (<, >=, etc.), bem como com o operador de igualdade (==) e o operador de desigualdade (!=).

5 * 6
// => 30

1.2 > 0.8
// => true

120 == 100
// => false

2 != 4
// => true

Ao converter entre tipos numéricos, há dois tipos de conversões numéricas:

  1. Conversões implícitas: não se perde nenhum dado e não é precisa sintaxe adicional.
  2. Conversões explícitas: podem perder-se dados e é precisa sintaxe adicional sob a forma de um cast.

Como um int tem menos precisão do que um double, converter um int para double é seguro e, por isso, é uma conversão implícita. No entanto, converter um double para int pode significar perder dados, por isso exige uma conversão explícita.

int i = 9;
double d = 2.72;

// Safe conversion, thus implicit conversion
double fromInt = i;

// Potentially unsafe conversion, thus explicit conversion
int fromDouble = (int)d;
Editar via GitHub A ligação abre numa nova janela ou separador

Aprende Números