1. Literais inteiros
E agora um novo tópico interessante — literais. Os dados gravados diretamente no código do programa são chamados de literais . Não estamos falando de nenhum dado antigo, mas dos valores dos tipos primitivos e do String
tipo.
Por exemplo, suponha que você tenha o seguinte código:
Código | Literais |
---|---|
|
|
Os literais neste código são o número 5
, o número 10
e a string ' Sum =
'.
Em Java, tudo, inclusive literais, tem um tipo. Por padrão, todos os literais inteiros (números inteiros) no código são ints
. O tipo int é o tipo inteiro Java padrão.
Além do mais, se você decidir atribuir um literal inteiro a uma variável de byte ou uma variável curta em seu código, não haverá problemas. Você só precisa garantir que o valor literal esteja dentro do intervalo de valores que o tipo da variável pode armazenar.
O compilador Java é inteligente o suficiente para entender que uma byte
variável pode receber o literal inteiro 100 sem criar problemas.
Exemplos:
Código | Descrição |
---|---|
|
Isso irá compilar muito bem. |
|
Isso irá compilar muito bem. |
|
Haverá um erro de compilação, porque o valor máximo do byte é 127. |
Você também pode escrever long
literais em seu código. Para fazer isso, adicione a letra latina 'L' ou 'l' no final do número inteiro.
Exemplos:
Código | Descrição |
---|---|
|
Isso irá compilar muito bem. |
|
Erro de compilação: 3 bilhões é muito grande para um literal int. |
|
Erro de compilação: o literal é longo, mas a variável é um int. Além disso, 3 bilhões é mais do que o int máximo. |
Você notou como é difícil ler grandes números de 10 ou mais dígitos? Você não pode dizer imediatamente se o código diz 3 bilhões ou 30 bilhões. Para tornar o código mais legível (e isso é importante!), Java permite a inserção de sublinhados em literais numéricos (eles não afetam o valor do número).
O exemplo acima pode ser reescrito com sublinhados para torná-lo um pouco mais claro:
Código | Descrição |
---|---|
|
Isso irá compilar muito bem. |
|
Erro de compilação: 3 bilhões é muito grande para um literal int. |
|
Erro de compilação: o literal é longo, mas a variável é um int. Além disso, 3 bilhões é mais do que o int máximo. |
Mas não podemos usar vírgulas em literais numéricos porque elas já são usadas para outra finalidade. Por exemplo, para separar argumentos uns dos outros ao chamar um método.
2. Literais de números reais
Em seu código, você pode especificar não apenas números inteiros, mas também literais de ponto flutuante (números reais).
Na verdade, a regra é bastante simples: se um número no código tiver um ponto decimal, o número é um literal de ponto flutuante. E não qualquer literal, mas um double
literal.
Você pode criar um float literal, mas precisa colocar a letra 'F' (ou 'f') no final do número para fazer isso .
Exemplos:
Código | Descrição |
---|---|
|
Isso irá compilar muito bem. |
|
Isso irá compilar muito bem. |
|
Isso irá compilar muito bem. |
|
Isso irá compilar muito bem. |
|
Haverá um erro de compilação: a variável é um float, mas o literal é um double. |
A propósito, você pode converter explicitamente um literal inteiro em um float ou double literal simplesmente ). Exemplos: appending the suffix 'F' (for float
) or D (for double
)
Código | Descrição |
---|---|
|
Isso irá compilar muito bem. |
|
Isso irá compilar muito bem. |
|
Haverá um erro de compilação: a variável é um int, mas o literal é um double . |
Literais de ponto flutuante podem usar notação científica : além da parte com sinal do número, você também pode especificar uma potência de dez. Exemplo:
Literal | notação matemática | valor final |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. Literais de string
Você também pode especificar linhas inteiras de texto em seu código. Para dizer ao compilador para tratar uma string como dados (um literal) e não como parte do código, a string inteira é cercada por aspas duplas em ambos os lados.
Se uma única linha de código tiver várias aspas duplas, elas serão divididas em pares. A primeira aspa dupla indica o início de um literal. O próximo indica o fim do literal. O próximo depois disso mais uma vez marca o início de um novo literal. E o próximo marca o fim do segundo literal. E assim por diante.
Cada um desses literais é um String
.
Exemplos
Código | Explicação |
---|---|
|
Existem 5 literais em uma linha. Cada um deles consiste em um único + caractere |
|
Este literal é uma string vazia. Uma string sem caracteres. |
|
Existem dois literais aqui. O resultado será a string ' 2+3-5 ', não um número |
|
Há também dois literais aqui. Não há declaração de retorno aqui. |
Se uma string literal for muito longa, ela pode ser dividida em várias linhas e colada com o 'operador de mais':
Código | Explicação |
---|---|
|
Se você enviar esta linha para a tela, todo o texto será exibido em uma única linha! |
4. Literais de caracteres
Você pode especificar não apenas strings literais em seu código, mas também literais compostas por caracteres individuais. Observe que não estamos falando de uma string composta por um único caractere, mas sim de literais cujo tipo é char
.
Ao contrário de uma string, um caractere literal é colocado entre aspas simples . Dentro das aspas simples deve haver um caractere e apenas um caractere. Você não pode usar aspas simples vazias.
Exemplos:
Código | Explicação |
---|---|
|
Um literal cujo tipo é char. Ele contém a letra latina 'A'. |
|
Um literal cujo tipo é char. Contém o símbolo '@' |
|
Um literal cujo tipo é char. Ele contém um caractere japonês. E isso também é possível. |
|
Um literal cujo tipo é char. Ele contém um caractere Unicode especificado por seu número. |
O último exemplo atribui um caractere Unicode usando uma notação especial: primeiro temos o prefixo \u
, seguido por 4 caracteres hexadecimais. As próximas lições incluem informações detalhadas sobre isso.
GO TO FULL VERSION