Literal: Cualquier valor constante que se le pueda asignar a la variable se denomina literal/constante.
En palabras simples, Literals en Java es una representación sintética de datos booleanos, numéricos, de caracteres o de strings. Es un medio para expresar valores particulares en el programa, como una variable entera llamada »/count se le asigna un valor entero en la siguiente instrucción.
// Here 100 is a constant/literal. int x = 100;
Literales integrales
Para los tipos de datos integrales (byte, short, int, long), podemos especificar literales de 4 formas:-
Literales decimales (Base 10): En este formulario, los dígitos permitidos son 0-9.
int x = 101;
Literales octales (Base 8): En esta forma, los dígitos permitidos son 0-7.
// The octal number should be prefix with 0. int x = 0146;
Literales hexadecimales (base 16): en esta forma, los dígitos permitidos son 0-9 y los caracteres son af. Podemos usar caracteres en mayúsculas y minúsculas, ya que sabemos que Java es un lenguaje de programación que distingue entre mayúsculas y minúsculas, pero aquí Java no distingue entre mayúsculas y minúsculas.
// The hexa-decimal number should be prefix // with 0X or 0x. int x = 0X123Face;
Literales binarios: desde 1.7 en adelante, podemos especificar el valor literal incluso en forma binaria también, los dígitos permitidos son 0 y 1. El valor de los literales debe tener el prefijo 0b o 0B.
int x = 0b1111;
Ejemplo:
Java
// Java program to illustrate the // application of Integer literals public class Test { public static void main(String[] args) { // decimal-form literal int a = 101; // octal-form literal int b = 0100; // Hexa-decimal form literal int c = 0xFace; // Binary literal int d = 0b1111; System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); } }
101 64 64206 15
Nota: De forma predeterminada, cada literal es de tipo int, podemos especificar explícitamente como tipo largo con el sufijo l o L. No hay forma de especificar bytes y literales cortos explícitamente, pero indirectamente podemos especificar. Cada vez que asignamos un literal integral a la variable de bytes y si el valor está dentro del rango de bytes, el compilador lo trata automáticamente como literales de bytes.
Literal de coma flotante
Para los tipos de datos de coma flotante, podemos especificar literales solo en formato decimal, y no podemos especificar en formato octal y hexadecimal.
Literales decimales (Base 10): En este formulario, los dígitos permitidos son 0-9.
double d = 123.456;
Java
// Java program to illustrate the // application of floating-point literals public class Test { public static void main(String[] args) { // decimal-form literal float a = 101.230; // It also acts as decimal literal float b = 0123.222; // Hexa-decimal form (error) float c = 0x123.222; System.out.println(a); System.out.println(b); System.out.println(c); } }
Producción
101.230 123.222 Error: malformed floating point literal
Nota: De forma predeterminada, cada literal de punto flotante es de tipo doble y, por lo tanto, no podemos asignarlo directamente a la variable flotante. Pero podemos especificar el literal de punto flotante como tipo flotante con el sufijo f o F. Podemos especificar explícitamente el literal de punto flotante como tipo doble con el sufijo d o D. Por supuesto, esta convención no es necesaria.
Literales de caracteres
Para los tipos de datos char, podemos especificar literales de 4 formas:
Comillas simples: Podemos especificar literal a un tipo de datos char como un solo carácter dentro de las comillas simples.
char ch = 'a';
Char literal como integral literal: podemos especificar char literal como integral literal, que representa el valor Unicode del carácter, y ese integral integral se puede especificar en formas decimales, octales y hexadecimales. Pero el rango permitido es de 0 a 65535.
char ch = 062;
Representación Unicode: Podemos especificar caracteres literales en la representación Unicode ‘\uxxxx’. Aquí xxxx representa 4 números hexadecimales.
char ch = '\u0061';// Here /u0061 represent a.
Secuencia de escape: cada carácter de escape se puede especificar como caracteres literales.
char ch = '\n';
Ejemplo:
Java
// Java program to illustrate the // application of char literals public class Test { public static void main(String[] args) { // single character literal within single quote char ch = 'a'; // It is an Integer literal with octal form char b = 0789; // Unicode representation char c = '\u0061'; System.out.println(ch); System.out.println(b); System.out.println(c); // Escape character literal System.out.println("\" is a symbol"); } }
Producción
a error:Integer number too large a " is a symbol
Literales de string
Cualquier secuencia de caracteres entre comillas dobles se trata como literales de string.
String s = "Hello";
Los literales de string no pueden contener caracteres de nueva línea o salto de línea sin escape. Sin embargo, el compilador de Java evaluará las expresiones en tiempo de compilación, por lo que la siguiente expresión de string da como resultado una string con tres líneas de texto:
Example: String text = "This is a String literal\n" + "which spans not one and not two\n" + "but three lines of text.\n";
Java
// Java program to illustrate the // application of String literals public class Test { public static void main(String[] args) { String s = "Hello"; // If we assign without "" then it treats // as a variable and causes compiler error String s1 = Hello; System.out.println(s); System.out.println(s1); } }
Producción
Hello error: cannot find symbol symbol: variable Hello location: class Test
literales booleanos
Solo se permiten dos valores para los literales booleanos, es decir, verdadero y falso.
boolean b = true;
Java
// Java program to illustrate the // application of boolean literals public class Test { public static void main(String[] args) { boolean b = true; boolean c = false; boolean d = 0; boolean b = 1; System.out.println(b); System.out.println(c); System.out.println(d); System.out.println(e); } }
Producción
true false error: incompatible types: int cannot be converted to boolean error: incompatible types: int cannot be converted to boolean
Nota: Cuando realizamos operaciones de concatenación, los valores entre paréntesis se concatenan primero. Luego los valores se concatenan de izquierda a derecha. Debemos tener cuidado cuando mezclamos caracteres literales y enteros en las operaciones de concatenación de strings y este tipo de operación se conoce como operación de modo mixto .
Java
// Java program to illustrate the behaviour of // char literals and integer literals when // we are performing addition public class Test { public static void main(String[] args) { // ASCII value of 0 is 48 int first = '0'; // ASCII value of 7 is 55 int second = '7'; System.out.println("Geeks!" + first + '2' + second); } }
Geeks!48255
Explicación: Cada vez que realizamos una suma entre una string y un número entero, el resultado general se convierte en una string. La evaluación del programa anterior se realiza de la siguiente manera:
"Geeks!" + first + '2' + second "Geeks! " + 48 + '2' + 55 "Geeks!48" + '2' + 55 "Geeks!482" + 55 "Geeks!48255"
Este artículo es una contribución de Bishal Kumar Dubey . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA