• Skip to primary navigation
  • Skip to content

Mauda

IT, Java and Music

Graduação   SCJP   Mestrado
  • Apresentação
  • Certificação Java
  • JPA
    • Exceptions
  • JSF
  • Versionamento
  • Contato

Tipos primitivos do Java – Literais

September 12, 2016 by Mauda Leave a Comment

Conteúdo do Post:
  1. Literais
  2. Literais para Inteiros
  3. Literais para Decimais
  4. Literais para Caracteres e Strings
  5. Usando Underscore para literais numéricos
  6. finnaly{

Olá Pessoal, tudo bom?

Hoje continuaremos a falar sobre tipos primitivos mas focados em seus literais, ou a representação no código fonte dos valores fixos, sem necessitar de processamento de dados para saber qual é o seu valor.

Literais

Se você já está um pouco mais familiarizado com os tipos primitivos, deve ter percebido que a palavra reservada new não é utilizada para dar valores as variáveis, pois você insere os valores diretamente, como podemos ver nos código abaixo:

Java
1
2
3
4
5
boolean resultado = true;
char cMaiusculo = 'C';
byte b = 100;
short s = 10000;
int i = 100000;

Existem diversos tipos de literais os quais vamos dividir em 3 partes: Literais para Inteiros, Literais para Decimais e Literais para Caracteres e Strings.

Literais para Inteiros

Se o número termina com a letra L ou l isso caracteriza um tipo long, sendo recomendável utilizar o L maiúsculo devido a algumas fontes o L minúsculo é muito parecido com o número 1.

Java
1
long l = 1000L;

Se caso não tenha letra alguma é do tipo inteiro. Isso não significa que somente variáveis int podem ser criadas, mas podem ser criadas byte, short, int e até mesmo long que até o limite de tamanho das variáveis inteiras. Após esse valor, para o tipo long, poderão ser utilizados os literais do long.

Além disso, literais do tipo inteiro podem ser expressados em três tipos de sistemas numéricos:

  • Decimal: Base 10, intervalo de 0 a 9, utilizado no dia a dia
  • Hexadecimal: Base 16, intervalo de 0 a 9 mais as letras A a F
  • Binário: Base 2, intervalo 0 a 1 (A partir do Java

O exemplo abaixo mostra a representação do número 26 para os três tipos de sistemas numéricos:

Java
1
2
3
int valorDecimal = 26;
int valorHexadecimal = 0x1a;
int valorBinario = 0b11010;

Literais para Decimais

Se você deseja representar um número float, você deverá utilizar a letra F ou f. Se não houver letra ou as letras D ou d, será do tipo double.

Além disso é possível utilizar notação científica utilizando as letras E ou e. Abaixo segue exemplo das representações acima:

Java
1
2
3
double d1 = 123.4;
double d2 = 1.234e2; //Mesmo valor de d1, mas em notacao cientifica
float f1  = 123.4f;

Literais para Caracteres e Strings

Literais do tipo char e String podem conter caracteres unicodes (UTF-16), podendo ser utilizado direto no código fonte, se o editor permitir. Senão deverão ser utilizados “Unicodes escapes” como por exemplo ‘\u0108’ (C maiúsculo com acento circunflexo), ou a frase Sí Señor em espanhol “S\u00ED Se\u00F1or”.

Sempre utilizar aspas simples para char e aspas duplas para Strings.

Existem um conjunto de caracteres que são especiais para utilização no código java:

  • \b – backspace
  • \t – tab
  • \f – Nova Linha
  • \r – Retorno ao começo da linha
  • \n – Nova Linha e Retorno ao início do parágrafo (Soma do \f com o \r)
  • \” – Aspas duplas
  • \’ – Aspas simples
  • \\ – Barra invertida

Usando Underscore para literais numéricos

A partir do Java 7, é possível inserir o underscore (_) entre qualquer literal numérico, permitindo assim melhorar a leitura do código, ao separar grupos numéricos, como cartões de crédito ou ips de máquinas, por exemplo:

Java
1
2
3
4
5
6
7
8
long numeroCartaoCredito = 1234_5678_9012_3456L;
long cpf = 012_345_678_90L;
float pi =  3.14_15F;
long hexBytes = 0xFF_EC_DE_5E;
long hexWords = 0xCAFE_BABE;
long maxLong = 0x7fff_ffff_ffff_ffffL;
byte nybbles = 0b0010_0101;
long bytes = 0b11010010_01101001_10010100_10010010;

Apesar disso existem alguns pontos que o underscore não pode ser inserido:

  • No início ou fim do número
  • Adjacente ao ponto em um número decimal
  • Adjacente ao sufixo F ou L
  • Não pode estar nas representações de hexadecimal ou binário

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
float pi1 = 3_.1415F; //Invalido - adjacente ao ponto
float pi2 = 3._1415F; //Invalido - adjacente ao ponto
 
long cpf1 = 012_345_709_58_L; //Invalido - adjacente ao L
 
int x1 = 5_2; //Valido
int x2 = 52_; //Invalido - Nao pode estar no fim do literal
int x3 = 5_______2; //Valido
 
int x4 = 0_x52; //Invalido - Nao pode estar no prefixo do hexadecimal
int x5 = 0x_52; //Invalido - Nao pode estar no início do literal
int x6 = 0x5_2; //Valido
int x7 = 0x52_; //Invalido - Nao pode estar no fim do literal

finnaly{

Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!

Até um próximo post!

Filed Under: Java Tagged With: byte, char, double, float, int, Java, literal, long, short, String, tipos primitivos

About Mauda

Mestre em Informática, Analista de Sistemas, Professor, SCJP e Baterista. Desde 2002 trabalhando no mundo Java e ensinando pessoas sobre desenvolvimento de sistemas. Mais informações

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Advertisements

Copyright © 2025 · Genesis Framework · WordPress · Log in