quinta-feira, 18 de fevereiro de 2010

[Java] Diferenciar atribuições legais e ilegais de tipos de primitivas


Você deve ter percebido que na inicialização de variáveis com tipos primitivos, não é necessária a palavra new. Isto acontece porque tipos primitivos são tipos especiais de dados incorporadas a linguagem, não são objetos criados a partir de uma classe. Abaixo segue as atribuições legais para os tipos primitivos.

boolean result = true;
char capitalC = 'C';
byte b = 100;
short s = 10000;
int i = 100000;

Os tipos integrais (byte, short, int e long) podem ser expressos utilizando números decimais, octais e hexadecimais como mostrado abaixo.

int decVal = 26; // O número 26 em decimal (apenas escrever o número em decimal)
int octVal = 032; // O número 26, em octal (adicionar 0 antes do número em octal)
int hexVal = 0x1a;// O número 26, em hexadecimal (adicionar 0x antes do número em hexa)

Os tipos flutuantes (float e double) podem ser representados na forma científica utilizando E ou e, na forma float literal usando F ou f ou na forma literal double usando D ou d (esta é a padrão e omitida por convenção).

double d1 = 123.4;
double d2 = 1.234e2; // mesmo valor que d1, porém em notação científica
float f1 = 123.4f;

O tipo char pode conter qualquer caractere Unicode. Sempre use aspas simples ' ' para atribuir valores as variáveis do tipo primitivo char. A linguagem Java também permite algumas sequências especiais para o tipo char como: \b (backspace), \t (tab), \n (nova linha), \f (quebra de página), \r (retorno de carro), \" (aspas duplas), \' (aspas simples), e \\ (barra invertida).

Além de atribuir valores literais para as variáveis pode-se atribuir também valores contidos em outras variáveis.

double d1 = 123.4;
double d2 = d1; // d2 recebe o mesmo valor de d1.

Ou resultados de expressões.

float numberOrdered = 908.5F;
float casePrice = 19.99F;
float price = (casePrice * numberOrdered);

int hour = 12;
boolean isOpen = (hour > 8);

E atribuir valores de retorno de um método ou função.

int idade = i.CalculaIdade(7,4,1986);

3 comentários:

  1. Boa postagem. Não sei nada de Java, essa postagem me ajudou bastante com as dúvidas... :)

    ResponderExcluir
  2. Carina posso até está enganado, mas os itens de java que você postou, são o que irão cair na prova dos correios de analista de sistemas.
    Se não for está muito igual ao programa do edital.

    ResponderExcluir
  3. Não, você não está enganado, é exatamente igual ao programa do edital do finado concurso dos correios. Eu estava estudando para este mesmo concurso e para não perder o foco dos estudos resolvi escrever tudo que aprendia. E assim nasceu este blog.

    ResponderExcluir