Certificação Java - 2 - Literals and Ranges of All Primitive Data Types (Exam Objective 4.6)

Continuando nosso estudo, vamos conhecer um pouco mais sobre tipos primitivos e valores literais para Strings, usando todos os formatos, bases e representações permitidos.

[ Hits: 32.806 ]

Por: Victor Marcus de Oliveira Castro em 04/01/2006


Continuação



Os números de ponto-flutuante são definidos como um número, um símbolo decimal e mais os números que representam a fração.

double d = 11301874.9881024;

No exemplo anterior, o número 11301874.9881024 é um valor literal. Literais de ponto-flutuante são definidos como double (64 bits) por default, assim, se você quiser atribuir um literal ponto-flutuante para uma variável do tipo float (32 bits), você DEVE colocar o sufixo F ou f no fim do número. Se você não fizer isso, o compilador vai dar erro de perda de precisão, porque você estará tentando colocar um número maior num 'container' menor. O sufixo F ou f diz ao compilador que você sabe dos riscos inerentes a essa perda de precisão:

float f = 23.467890; // Erro de compilador, possibilidade de perda de precisão
float g = 49837849.029847F; // OK; tem o sufixo "F"

Opcionalmente você pode usar o D ou d para literal double, mas isso não é necessário por ser a atribuição default. Mas se você quiser 'incrementar' o código, digite à vontade.

double d = 110599.995011D; // Opcional, não requerido
double g = 987.897; // Sem o sufixo 'D', mas está OK porque o literal é double

Preste atenção nos literais que usam vírgula porque não vai compilar, como no exemplo abaixo:

int x = 25,343;

Literal boolean


Literais boolean estão representados no código por valores boolean. Um valor boolean pode ser definido com true ou false (verdadeiro ou falso). Embora em C (e algumas outras linguagens) é comum usar números para representar true e false, ISSO NÃO ACONTECE EM JAVA. Lembre-se, Java não é C++.

boolean t = true; // Legal
boolean f = 0; // Erro de compilação!

Esteja atento para as questões que usam números onde boolean é requerido. Você pode ver um if que usa um número no exemplo abaixo:

int x = 1; if (x) { } // Erro de compilador!

Literal caracter


Um literal caracter é representado por um caracter simples em aspas simples.

char a = 'a';
char b = '@';

Você pode usar a notação Unicode para representar um caracter usando o prefixo u conforme exemplo:

char letterN = 'u004E'; // A letra 'N'

Lembre-se, caracteres são apenas inteiros não assinados 16 bits. Isso significa que você pode atribuir um literal número, assumindo que ele caberá na escala 16 bits não assinada (65535 ou menos). Para o exemplo, todas as atribuições seguintes são legais:

char a = 0x892; // literal octal
char b = 982; // literal int
char c = (char) 70000; // Cast requerido; 70000 está fora da escala
char d = (char) -98; // Ridículo, mas legal

E as seguintes construções não são legais e geram erro de compilação:

char e = -29; // Possível perda de precisão (número negativo); precisa de cast
char f = 70000 // Possível perda de precisão; precisa de cast

Você também pode usar um caracter 'escape' se quiser representar caracteres que não podem ser inseridos dentro de um literal, incluindo caracteres de avanço de carro, nova linha, tab horizontal, backspace e também aspas simples e duplas.

char c = '"'; // Aspas duplas
char d = ' '; // Nova linha

Agora que você está familiarizado com os tipos de dados primitivos e suas escalas, você deve estar habilitado para identificar o tipo de dado para uma dada situação.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Escala dos tipos primitivos
   3. Valores literais para todos os tipos primitivos
   4. Continuação
   5. Exemplos para escolha do tipo primitivo
   6. Para finalizar
Outros artigos deste autor

Certificação Java - 1 - Java Programming Language Keywords (Exam Objective 4.4)

SMART Package Manager

Leitura recomendada

180 dias sem solução

Introdução a eXtreme Programming (XP) e instalação do ANT + JUnit

Modelos de desenvolvimento

Certificação Java - 1 - Java Programming Language Keywords (Exam Objective 4.4)

Polimorfismo - Uma visão em C++ e Java

  
Comentários
[1] Comentário enviado por Troy_DF em 05/01/2006 - 14:07h

Eu acho q já vi isso em algum livro....

[2] Comentário enviado por removido em 05/01/2006 - 17:43h

Legal a iniciativa!
Um lugar bastante interessante para estudar para a certificação é o JavaFree (http://www.javafree.org), mais especificamente no fórum dedicado a este assunto:
http://www.javafree.org/javabb/viewforum.jbb?f=39

[]'s

[3] Comentário enviado por supradados em 05/01/2006 - 19:10h

Com certeza esse conteúdo é mostrado em vários livros, apostilas, etc. Estou aproveitando o momento de estudar para também repassar o que tenho aprendido e assim acelerar o meu próprio entendimento do conteúdo. Vou continuar estudando e repassando o conhecimento e desejo que continuem comentando todos os artigos postados.

[4] Comentário enviado por casterman em 07/01/2006 - 00:49h

legal cara,sabe de alguem q tem lpi?

[5] Comentário enviado por Troy_DF em 11/01/2006 - 13:39h

Só toma cuidado com os direitos autorais...
Vai que a Kathy resolve ti processar
uhahuauhhau
Até as imagens são do livro dela...

inté

[6] Comentário enviado por supradados em 11/01/2006 - 16:22h

Será que ela vai processar também o senhor Martin Osborne (Osborne Java 2 Certified Programmer), que é de onde tiro as imagens?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts