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 suelen aparecer en la asignación de valores a las variables o formando parte de expresiones aritméticas o lógicas. Por ejemplo:
x = 25;
precio = 120.99;
mes = "enero";
descuento = precio - (precio * 5 / 100);
if(a > 3 && a < 5)
Cuando se utilizan literales, es muy importante tener en cuenta que Java es un lenguaje fuertemente tipado, esto quiere decir que realiza un control estricto de los tipos de datos que pueden contener las variables.
Por ejemplo, si una variable se ha declarado cono int no podremos asignarle un valor de tipo double.
int n = 2.5; //Esta asignación no es correcta y provocará un error.
Esta asignación provocaría un error ya que estamos asignando un valor no entero (2.5) a una variable declarada como int. Por lo tanto es muy importante saber de qué tipo es un literal para trabajar de forma correcta con ellos y no obtener resultados inesperados.
Los literales en Java se pueden ser:
-
Literales de tipo entero
-
Literales en base decimal
-
Literales en binario
-
Literales en base octal
-
Literales en base hexadecimal
-
Literales de tipo real
-
Literales de tipo carácter
-
Literales de cadenas de caracteres
1. LITERAL JAVA DE TIPO ENTERO
El tipo del literal entero es int a no ser que su valor absoluto sea mayor que el de un int ó que se se especifique el sufijo l (ele) ó L en cuyo caso será de tipo long.
El signo + al principio es opcional y el signo – será
obligatorio si el número es negativo.
Los literales de tipo entero en Java puede expresarse de cuatro formas distintas: base decimal (base 10), binario (base 2), octal (base 8) y
hexadecimal (base 16).
Está formado por 1 o más dígitos del 0 al 9.
El primer dígito debe ser distinto de cero.
Por ejemplo:
982 literal entero de tipo int
-25 literal entero de tipo int
+1200 literal entero de tipo int
1234
literal entero de tipo int
1234L literal entero de tipo long. El tipo long lo indica la L final.
123400000000 literal 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
.23e5 literal real de tipo double
+74.336E-2F 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.
Definición: Una variable es una zona 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
También podemos asignarle un valor inicial a la variable cuando se declara:
int x = 5; //declaramos la variable x de tipo int y le asignamos el valor 5
char caracter = 'b'; //declaramos la variable caracter de tipo char y le asignamos el valor 'b'
double altura = 6.25; // declaramos la variable altura de tipo double y le asignamos el valor 6.25
int contador = 0; //declaramos la variable contador de tipo int y le asignamos el valor 0
Importante: A las variables declaradas dentro de un método no se les
asigna un valor por defecto. Es nuestra responsabilidad asignarles valores
iniciales válidos.
int contador = 0; // declara la variable contador de tipo
int y se le asigna el valor 0
Las variables que son atributos de una clase sí toman valores iniciales por defecto.
Veremos este tipo de variables más adelante cuando esudiemos las clases.
CONSTANTES
Un programa puede contener ciertos valores que
no deben cambiar durante su ejecución. Estos valores se llaman
constantes.
Definición: Una constante es una zona de
memoria que se referencia con un identificador, conocido como nombre de la
constante, donde se almacena un valor 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;
Aquí hay algo que se me escapa, es posible que se explique más adelante pero... ¿como hago para almacenar en una variable un numero por ejemplo octal?
ResponderEliminarNumOctal = ????; // Entiendo que no puede ser así.
Rectifico en la declaración
Eliminarint NumOctal = ????; // Entiendo que no puede ser así.
Los valores enteros en octal y hexadecimal se almacenan igual que los valores en base decimal:
Eliminarint numOctal = 010; //8 en octal
int numHexadecimal = 0xA; //10 en hexadecimal
System.out.println(numOctal + numHexadecimal); //muestra 18
Saludos y gracias por seguir el blog
porque el resultado sale 18???
Eliminarno se supone que tiene que dar 12 ??
solo es una duda que tengo
No, octal son numeros del 0 al 7 ejemplo:
Eliminar0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
Muy clarito todo. Gracias
ResponderEliminarrecuerda que todas las constantes deben ir en mayúsculas por notación javabean de resto todo muy bien Saludos.
ResponderEliminarHola me pueden ayudar con estos:1) realizar un programa para determinar cuanto dinero ahorra una persona en un año, si considera que cada semana ahorra el 15% de su sueldo (considere 4semanas por mes y quo el sueldo no cambia en todo el año).
ResponderEliminar2) un productor de leche lleva el registro de lo que produce en litros, pero cuando entrega, la paga en galones. Realizar un programa en java que ayude al productor a saber cuanto recibirá por la entrega de su producción por día (un galón = 3,785 litros)
Te dire la manera que he pensado para realizarlos:
Eliminar1) tendras la variable del sueldo mensual, a esa variable la divides entre 4(las 4 semanas) y al resultado de la division lo multiplicas por 0.15 y luego eso lo multiplicas x4 y ahi tienes el ahorro de un mes, y luego el ahorro del mes solo lo multiplicas x12 y ahi tendras el total del ahorro anual.
2)aqui no hay una paga especifica por lo que la manera que le veo de hacerlo es convertir los litros a galones y es es todo creo(la conversion es tomar la cantidad de litros y dividirlo entre el valor de litros en galones:3.785)
Para que se usa un Literal.
ResponderEliminarholo
ResponderEliminar