En la primera parte de este tema estudiaremos los literales Java. Qué son los literales y para qué sirven. En la segunda parte estudiaremos dos conceptos muy importantes en programación como son las variables y las constantes.

LITERALES JAVA

Un literal Java es un valor de tipo entero, real, lógico, carácter, cadena de caracteres o un valor nulo (null) que puede aparecer dentro de un programa.
Por ejemplo: 150, 12.4, “ANA”, null, ‘t’.

Los literales en Java se pueden ser:
  1. Literales de tipo entero
    • Literales en base decimal
    • Literales en binario
    • Literales en base octal
    • Literales en base hexadecimal
  2. Literales de tipo real
  3. Literales de tipo carácter
  4. Literales de cadenas de caracteres

1. LITERAL JAVA DE TIPO ENTERO

Puede expresarse en decimal (base 10), binario (base 2), octal (base 8) y hexadecimal (base 16).
El signo + al principio es opcional y el signo – será obligatorio si el número es negativo.
El tipo de un literal entero es int a no ser que su valor absoluto sea mayor que el de un int ó se especifique el sufijo l (ele minúscula) ó L en cuyo caso será de tipo long.

Literal Java de tipo entero en Base decimal
Está formado por 1 o más dígitos del 0 al 9.
El primer dígito debe ser distinto de cero.
Por ejemplo:
1234                     literal java entero de tipo int
1234L                    literal java entero de tipo long. El tipo long lo indica la L final.
123400000000       literal java entero de tipo long. El valor del número supera el rango de un int

Literal Java de tipo entero en binario

Están formados por uno o más dígitos del 0 al 1.
Deben comenzar por 0b ó 0B.

Por ejemplo:

0b00100001             literal entero binario de tipo int
0B0010000101000101     literal entero binario de tipo int
0b1010000101000101101000010100010110100001010001011010000101000101L   literal entero binario de tipo long

Literal Java de tipo entero en Base octal
Está formado por 1 o más dígitos del 0 al 7.
El primer dígito debe ser cero.
Por ejemplo:
01234
025
Literal Java de tipo entero en Base hexadecimal
Está formado por 1 o más dígitos del 0 al 9 y letras de la A a la F (mayúsculas o minúsculas).
Debe comenzar por 0x ó 0X.
Por ejemplo:
0x1A2
0x430
0xf4


Los literales de tipo entero, en cualquier base, pueden contener el carácter _ para facilitar la lectura del número.
Por ejemplo:
2_014_120
1234_5678_9019_3456L
999_99_9999L
3.14_15F
0xFF_EC_DE_5E
0xCAFE_BABE
0x7fff_ffff_ffff_ffffL
0b0010_0101
0b11010010_01101001_10010100_10010010
Este carácter solo puede aparecer entre dígitos. 
El carácter _ no puede aparecer en los siguientes lugares:
  • Al principio o final de un número.
  • Junto a un punto decimal en un número de tipo real.
  • Antes de los sufijos F ó L.
  • Entre el 0X hexadecimal o el 0B binario
Ejemplos de literales Java válidos y no válidos que contienen el carácter _
3_.1415F                No Válido
3._1415F No Válido
999_99_9999_L No Válido
_52 No Válido como literal. Válido como identificador
5_2 Válido
52_ No Válido
5_______2 Válido
0_x52 No Válido
0x_52 No Válido
0x5_2 Válido
0x52_ No Válido
0_52 Válido
05_2 Válido
052_ No Válido

2. LITERAL JAVA DE TIPO REAL

Son números en base 10, que deben llevar un parte entera, un punto decimal y una parte fraccionaria.  Si la parte entera es cero, puede omitirse.
El signo + al principio es opcional y el signo – será obligatorio si el número es negativo.
Por ejemplo:
12.2303
-3.44
+10.33
0.456
.96
También pueden representarse utilizando la notación científica. En este caso se utiliza una E (mayúscula o minúscula) seguida del exponente (positivo o negativo). El exponente está formado por dígitos del 0 al 9.
Por ejemplo, el número en notación científica 14*10-3 se escribe: 14E-3
Más ejemplos de literal Java de tipo real:
2.15E2   -> 2.15 * 102
.0007E4 -> 0.0007 * 104
-50.445e-10 -> -50.445 * 10-10
El tipo de estos literales es siempre double, a no ser que se añada el sufijo F ó f para indicar que es float.
Por ejemplo:
2.15           literal real de tipo double
2.15F         literal real de tipo float
También se pueden utilizar los sufijos d ó D para indicar que el literal es de tipo double:
12.002d      literal real de tipo double



3. LITERAL JAVA DE TIPO CARÁCTER

Contiene un solo carácter encerrado entre comillas simples.
Es de tipo char.
Las secuencias de escape se consideran literales de tipo carácter.
Por ejemplo:
'a'
'4'
'\n'
'\u0061'

4. LITERAL JAVA DE CADENAS DE CARACTERES

Está formado por 0 ó más caracteres encerrados entre comillas dobles.
Pueden incluir secuencias de escape.
Por ejemplo:
“Esto es una cadena de caracteres”
“Pulsa \”C\” para continuar”
“”  -> cadena vacía
“T”   -> cadena de un solo carácter, es diferente a ‘t’ que es un carácter
Las cadenas de caracteres en Java son objetos de tipo String.

VARIABLES

Los datos que maneja un programa se almacenan en la memoria del ordenador. Para acceder a ellos se utiliza su dirección de memoria o posición dentro de la memoria donde se encuentra el dato.
Para facilitar la referencia a las posiciones de memoria, se puede sustituir la cadena binaria de ceros y unos que indica la dirección por un identificador.
Un identificador es el nombre que se le da a un componente dentro de un programa (una variable, una constante, un método, una clase, etc.).
Ejemplo de identificadores: nombre, matriculaAlumno, $suma5, año, etc.
Una variable es una posición de memoria que se referencia con un identificador, conocido como nombre de la variable, donde se almacena el valor de un dato que puede cambiar durante la ejecución del programa.
Una variable tiene tres características básicas:
  • Nombre o identificador de la variable.
  • Tipo. Conjunto de valores que puede tomar la variable (numérico, carácter, etc.).
  • Valor. Información que almacena.
Para poder utilizar una variable en un programa, primero tenemos que declararla.
Declarar una variable significa asignarle un nombre y un tipo.
Por ejemplo:
int a;   //declaramos la variable a de tipo int
char b; //declaramos la variable b de tipo char
A las variables declaradas dentro de un método no se les asigna un valor automáticamente. Es nuestra responsabilidad asignarles valores iniciales.
int contador = 0; // declara la variable contador de tipo int y se le asigna el valor 0


CONSTANTES

Los programas contienen ciertos valores que no deben cambiar durante su ejecución. Estos valores se llaman constantes. 
Podemos decir que una constante es una posición de memoria que se referencia con un identificador, conocido como nombre de la constante, donde se almacena el valor de un dato que no puede cambiar durante la ejecución del programa.
Una constante en Java se declara de forma similar a una variable, anteponiendo la palabra final
Ejemplo:
final double PI = 3.141591;
final int diasSemana = 7;