[OCPJP6] 020 – Atribuições

Tipos primitivos

Veja a tabela abaixo:

Tipo Tamanho
byte 8 bit
short 16 bit
int 32 bit
long 64 bit
float 32 bit
double 64 bit
boolean
char 16 bit

 Todas expressões com tipos primitivos menor que int (char, byte, short) resultam em int.

Vamos entender melhor em exemplos:

byte

byte a = 1;
byte b = 2;
byte c = a + b; // NAO COMPILA!

short

short a = 1;
short b = 1;
short c = a + b + 1; // NAO COMPILA!
Por que o código acima não compila?

Como destacado anteriormente “toda expressão” (soma, subtração…) com tipos menores que int resultam em int, ou seja, no exemplo de com byte (a + b)  o resultado será um int e consequentemente no exemplo de short a mesma coisa.

E como fazer funcionar?

Transformando c em um int 🙂

byte a = 1;
byte b = 2;
int c = a + b; // =D
Mas e se mesmo assim eu quiser que c seja um byte ou short?

Cast resolve 🙂

byte a = 1;
byte b = 2;
byte c = (byte) (a + b); // =D

Comentem, estendam o assunto… Compartilhem =)

Anúncios

Um comentário sobre “[OCPJP6] 020 – Atribuições

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s