Mostrando postagens com marcador variável primitiva. Mostrar todas as postagens
Mostrando postagens com marcador variável primitiva. Mostrar todas as postagens

sexta-feira, 19 de fevereiro de 2010

[Java] Definição dos termos 'variável primitiva' e 'variável de referência'


Como dito anteriormente, a 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. variáveis primitivas são aquelas que contêm valores do tipo primitivo. As variáveis de referência são aquelas que guardam um endereço de memória (referenciam) para um objeto criado, ou seja, indicam através de um endereço de memória, onde está localizado o objeto.

A declaração de variáveis de referência basicamente é a mesma coisa. Declara-se o tipo do Objeto a referenciar e o nome da variável (não necessariamente precisa criar o objeto no momento da declaração). A diferença é que o tamanho do espaço alocado para uma variável de referência é sempre fixo, porque se trata de um endereço de memória que mostra como chegar ao objeto que se refere.

Exemplo de variável de referência:

Idade minhaIdade = new Idade(22, 7, 1964);

A variável de referência serve para guardar a referência de um determinado objeto e permitir o acesso de seus métodos. Para acessar os métodos utiliza-se o nome da referência + “.” + método. Usando o mesmo exemplo anterior para expressar o acesso de um método.

minhaIdade.calcIdadeEmDias();

[Java] Definir valores literais para tipos numéricos e textuais


Esse tópico já foi abordado aqui. :D

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);

[Java] Tipos de primitivas


A linguagem de programação Java possui, como já falado anteriormente, oito tipos primitivos de dados.

• Lógico – boolean
• Textual – char
• Integral – byte, short, int, e long
• Flutuante – double e float

Boolean

O tipo primitivo boolean tem as seguintes características: Pode possuir apenas dois valores, true e false. O uso deste tipo de dado é dado quando há a necessidades verificar a condição true/false de alguma flag. Representa um bit de informação, porém o tamanho pode variar com a JVM da plataforma. Tem como valor default false.

Char

O tipo primitivo char representa um caractere unicode de 16 bits. Possui um valor mínimo de '\u0000' (ou 0) e um máximo valor de '\uffff' (ou 65,535 inclusive). Deve estar entre aspas simples ( ' ' ). Utiliza as seguintes notações:
  • 'a' a letra a
  • '\t' o caractere tab (e outros como \b, \n...)
  • '\u????' Um caractere expecífico Unicode, "????" é substituído com os quatro dígitos hexaecimal do caractere Unicode. Por exemplo, '\u03A6' é a letra grega phi (φ).
  • Tem como valor default '\u0000'
Byte

O tipo primitivo byte, além do que já foi dito no post passado, pode ser utilizado para minimizar o uso de memória em arrays grandes, por exemplo, onde minimizar a utilização de memória realmente é importante. Tem como valor default 0.

Short

O tipo primitivo short pode ser utilizado da mesma forma que o tipo byte para minimizar a utilização de memória. Representa números variando de -32768 a +32767 (inclusive). Tem como valor default 0.

Int

O tipo primitivo int é o mais usado na programação. Este tipo de dado irá conter quantidade suficiente de números para a maioria dos programas. Porém se não for suficiente, utilize long. Tem como valor default 0.

Long

O tipo primitivo long é útil para representar números maiores que int. Tem como valor default 0L.

Float

O tipo primitivo float representa números com ponto flutuante, é o mais usado quando há a necessidade de utilizar pouca memória e números com pontos flutuantes. Não deve ser utilizado para valores de precisão. Tem como valor default 0.0f.

Double

Assim como int, double é a opção mais escolhida quando é necessário a utilização de números com pontos flutuantes. Não deve ser utilizado para valores de precisão. Tem como valor default 0.0d.