[OCPJP6] 019 – Atribuições

literais

Literal é uma sequência de caracteres (dígitos, letras, e outros caracteres) que representa um valor constante que referência uma variável. Neste capítulo vamos ver como os literais se comportam com os tipos primitivos.

literais do tipo inteiro

Os literais de tipo inteiro (dígitos) podem ser divididos em 3 categorias: decimal (base 10), octal (base 8) e hexadecimal (base 16).

Decimal

Um inteiro do tipo decimal não tem muitos segredos, é a representação “tradicional”.

int length = 123;

Octal

Um inteiro do tipo octal usa somente dígitos de 0 a 7 e com até 21 dígitos não incluindo o zero inicial. Veja no exemplo abaixo que quando acaba o dígito 7 iniciamos novamente com 01.

package certificacao;
public class ExemploOctal {
    private static int um = 01;
    private static int dois = 02;
    private static int tres = 03;
    private static int quatro = 04;
    private static int cinco = 05;
    private static int seis = 06;
    private static int sete = 07;
    private static int oito = 010;
    private static int nove = 011;
    private static int dez = 012;

    public static void main(String[] args) {
        System.out.println(um); System.out.println(dois);
        System.out.println(tres); System.out.println(quatro);
        System.out.println(cinco); System.out.println(seis);
        System.out.println(sete); System.out.println(oito);
        System.out.println(nove); System.out.println(dez);
    }
}

Hexadecimal

Os números hexadecimais são construídos com o uso de 16 símbolos distintos:

0 1 2 3 4 5 6 7 8 9 a b c d e f

Veja alguns exemplos válidos:

int x = 0X0001;
int y = 0x7fffffff;
int z = 0xCafe; // =D

literais do tipo flutuante

São definidos com números e símbolos. É importante notar que double tem 64 bits e float tem 32 bits, mais precisamente, quando quiser dizer que um literal flutuante é um float é necessário indicar com f ou F. Vejam alguns exemplos abaixo:

// por padrao um numero com casas decimais e' double
// o double tambem pode indicar d ou D
double d1 = 123456789.987654321;

float f1 = 123.4567890; // nao compila (necessario declarar f/F)
float f2 = 123.4567890f; // agora sim

literais do tipo boolean

Só podem ser true ou false. Simples assim.

literais do tipo caractere

São representados por um único caractere entre aspas simples, ou pelo valor unicode do caractere. Importante notar que os caracteres são inteiros de 16 bits sem sinal. (0 a 65535). Veja os exemplos abaixo:

char a = 0x892;
char b = 982;
char c = (char) 70000; // com cast funciona na compilacao
char d = (char) -98; // so' com cast mesmo

Comentem, estendam o assunto… Compartilhem =)

Anúncios

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