Programação Orientada a Objetos: Uma Abordagem com Java/Princípios da programação na linguagem Java/Tipos primitivos: diferenças entre revisões

Origem: Wikilivros, livros abertos por um mundo aberto.
Conteúdo apagado Conteúdo adicionado
Criou a página com "Em Java, são oferecidos tipos literais primitivos (não objetos) para representar valores booleanos, caracteres, numéricos inteiros e numéricos em ponto flutuante. ==..."
(Sem diferenças)

Revisão das 15h29min de 16 de agosto de 2016

Em Java, são oferecidos tipos literais primitivos (não objetos) para representar valores booleanos, caracteres, numéricos inteiros e numéricos em ponto flutuante.

Boolean

Variáveis do tipo boolean podem assumir os valores true ou false. O valor inicial padrão para um atributo booleano de uma classe, se não especificado, é false.

Variáveis booleanas e variáveis inteiras, ao contrário do que ocorre em C e C++, não são compatíveis em Java. Assim, não faz sentido atribuir uma variável booleana a uma variável inteira ou usar um valor inteiro no contexto de uma condição de teste.

Exemplo de declaração e uso:

boolean deuCerto;

deuCerto = true;

Combinando definição e inicialização,

boolean deuCerto = true;

Char

Uma variável do tipo char contém um caractere Unicode, ocupando 16 bits de armazenamento em memória. O valor inicial padrão de um atributo de classe do tipo char, se não especificado, é o caractere NUL (código hexadecimal 0000).

Um valor literal do tipo caractere é representado entre aspas simples (apóstrofes), como em:

char umCaracter = 'A';

Nesse caso, a variável ou atributo umCaracter recebe o caractere A, correspondente ao código hexadecimal 0041 ou valor decimal 65. Valores literais de caracteres podem também ser representados por sequências de escape, como em '\n' (o caractere newline, ou nova linha). Outras sequências de escape incluem '\t' (tabulação) e '\\' (para a barra invertida simples). Para representar um caractere qualquer do padrão Unicode, a sequência de escape é '\uXXXX', onde XXXX é uma sequência hexadecimal que pode assumir valores entre 0000 e FFFF. Sequências Unicode são processadas antes das anteriores, podendo aparecer não apenas em variáveis caracteres ou strings (como as outras sequências) mas também em identificadores da linguagem Java.

Números inteiros

Valores numéricos inteiros em Java podem ser representados por variáveis do tipo byte, short, int ou long. Todos os tipos contém valores inteiros com sinal, com representação interna em complemento de dois. O valor default para atributos desses tipos é 0.

Cada um desses tipos de dados tem seu espaço de armazenamento definido na especificação da linguagem, não sendo dependente de diferentes implementações. Variáveis do tipo byte ocupam 8 bits de armazenamento interno. Com esse número de bits, é possível representar valores na faixa de 128 a +127. Variáveis do tipo short ocupam 16 bits, podendo assumir valores na faixa de -32.768 a +32.767. Variáveis do tipo int ocupam 32 bits, podendo assumir valores na faixa de -2.147.483.648 a +2.147.483.647. Finalmente, variáveis do tipo long ocupam 64 bits, podendo assumir valores na faixa de -9.223.372.036.854.775.808 a +9.223.372.036.854.775.807.

Constantes literais do tipo long podem ser identificadas em código Java através do sufixo l ou L, como em

long valorQuePodeCrescer = 100L;

Ao contrário do que ocorre em C, não há valores inteiros sem sinal (unsigned) em Java. Adicionalmente, as combinações da forma long int ou short int são inválidas em Java.

Números reais

Valores reais, com representação em ponto flutuante, podem ser representados por variáveis de tipo float ou double. Em qualquer situação, a representação interna desses valores segue o padrão de representação IEEE 754, sendo 0.0 o valor default para tais atributos.

Como para valores inteiros, o espaço de armazenamento e consequentemente a precisão de valores associados a esses tipos de dados são definidos na especificação da linguagem. Variáveis do tipo float ocupam 32 bits, podendo assumir valores na faixa de 1,40239846 x 10-45 a 3,40282347 x 1038, com nove dígitos significativos de precisão.

Variáveis do tipo double ocupam 64 bits de armazenamento, podendo assumir valores de 4,94065645841246544 x 10-324 a 1,79769313486231570 x 10308, com 18 dígitos significativos de precisão.

Constantes literais do tipo float podem ser identificadas no código Java pelo sufixo f ou F; do tipo double, pelo sufixo d ou D.