1. Estudiamos en detalle el tipo String
El tipo String es uno de los más usados en Java. De hecho, quizá el más usado. Es un tipo magnífico, porque en este tipo de variables se puede almacenar texto. Además, a diferencia de los tipos int y double, los objetos de tipo String tienen un montón de funciones (también llamadas métodos) que permiten hacer cosas muy interesantes.
Además, todos los objetos en Java (todos) se pueden convertir al tipo String. O, dicho de forma más correcta, todos los objetos en Java devuelven su representación textual (de cadena). Volveremos muchas veces a este tipo (es muy útil e interesante), pero hoy veremos sus fundamentos.
Creación de variables de tipo String
El tipo String se creó para almacenar cadenas (texto). Para crear en el código una variable capaz de almacenar texto, debes usar el siguiente comando:
String imya;
Donde imya es el nombre de la variable.
Ejemplos:
| Comando | Descripción |
|---|---|
|
Se crea la variable de cadena name |
|
Se crea la variable de cadena message |
|
Se crea la variable de cadena text |
Al igual que con los tipos int y double, puedes usar una forma abreviada para crear varias variables de tipo String:
String imya1, imya2, imya3;
2. Asignación de valores a variables de tipo String
Para guardar un valor en una variable de tipo String, usa el siguiente comando:
imya = "valor";
Y aquí llega la primera diferencia respecto a los tipos ya estudiados. Todos los valores de tipo String son cadenas de texto y deben ir entre comillas dobles.
Ejemplos:
| Comando | Nota |
|---|---|
|
La variable name contiene el texto Ana |
|
La variable city contiene el texto New York |
|
La variable message contiene el texto Hello! |
3. Inicialización de variables de tipo String
Como en el caso de los tipos int y double, las variables de tipo String se pueden inicializar justo al crearlas. De hecho, esto puede hacerse con todos los tipos en Java. Así que no volveremos a repetirlo.
String imya1 = "valor1", imya2 = "valor2", imya3 = "valor3";
String name = "Ana", city = "New York", message = "Hello!";
Solo se pueden modificar variables que ya tienen un valor
El compilador de Java se quejará si declaras una variable sin asignarle ningún valor e intentas usarla.
Este código no funcionará:
String name;
System.out.println(name); // La variable name no está inicializada. El programa no compilará.
int a;
a++; // La variable a no está inicializada. El programa no compilará.
double x;
double y = x; // La variable x no está inicializada. El programa no compilará.
4. Concatenación — unir cadenas
Hay algo muy interesante y sencillo que se puede hacer con las cadenas en Java: se pueden unir. Esta operación se llama concatenación. Para que sea fácil de recordar — Con-ca-te-na-ción 😆. A menudo también se la llama «unir cadenas» o incluso «sumar cadenas».
Para unir dos cadenas, usa el signo +. Es muy sencillo:
"cadena1" + "cadena2"
Ejemplos:
| Comando | Nota |
|---|---|
|
name contiene la cadena AnaAna |
|
city contiene la cadena New YorkAna |
|
message contiene la cadena Hello! Ana |
Y, por supuesto, puedes sumar muchas cadenas a la vez, así como combinar cadenas y variables.
String name = "Ana"; // name contiene la cadena Ana
String city = "New York"; // city contiene la cadena New York
String message = "Hello!" + city + name + city; // message contiene la cadena Hello!New YorkAnaNew York
5. Cadenas vacías
En el último ejemplo se ve que el texto de la variable message no se lee bien, porque le faltan espacios. Para añadir uno o varios espacios, basta con escribirlos en el código y envolverlos entre comillas dobles. Es más simple de lo que parece:
" "
Por cierto, si entre las comillas no dejas nada (escribes dos comillas dobles seguidas), obtendrás lo que se llama «cadena vacía»:
""
Por un lado, parece que está ahí; por otro, al mostrarla por pantalla no aparece nada. Y al unirla con otras cadenas no pasa nada. Es una especie de análogo del cero, pero para cadenas.
6. Escape de caracteres especiales en cadenas
Ya sabes que las cadenas se enmarcan entre comillas dobles. Pero ¿qué hacer si necesitas insertar comillas en una cadena? Si escribimos comillas dentro de la cadena, ¿no las tomará el compilador como el final de la cadena?
Exacto. Las tomará. Por eso las comillas dentro del texto se sustituyen por la pareja de símbolos \". Y el código quedará así:
String quote = "Él dijo: \"¡Hola!\"";
System.out.println(quote); // Él dijo: "¡Hola!"
En realidad es un poco más sutil. El símbolo \ se considera especial (de control) dentro de las cadenas. Con él se pueden especificar varios «caracteres no imprimibles» como salto de línea, tabulación, etc. Y para especificar el propio símbolo \, hay que escribirlo dos veces.
Estas son las 4 combinaciones más comunes:
| Notación | Significado |
|---|---|
| \n | Salto de línea (newline) |
| \t | Tabulación (sangría) |
| \\ | Literal \ |
| \" | Comillas dentro de la cadena |
Ejemplo:
String multiline = "Línea 1\nLínea 2";
System.out.println(multiline);
Mostrará:
Línea 1
Línea 2
7. Funciones propias de las cadenas
El tipo String tiene funciones propias (también llamadas métodos). Hay muchísimas y facilitan la vida a los programadores. Hoy conocerás algunas de las más sencillas. Ejemplo:
| Función | Descripción | Ejemplo del resultado |
|---|---|---|
|
Longitud de la cadena | |
|
A mayúsculas | |
|
A minúsculas | |
|
Eliminar espacios en los extremos | |
Ejemplos de uso de funciones de cadenas
Todas estas funciones se llaman así: variable.método(...).
Determinar la longitud de una cadena:
String name = "Andrés";
int length = name.length();
System.out.println(length); // 6, ya que son 6 letras
Convertir una cadena a mayúsculas o minúsculas:
String original = "Hola";
System.out.println(original.toUpperCase()); // HOLA
System.out.println(original.toLowerCase()); // hola
Eliminar espacios en los extremos (muy útil al introducir texto por teclado):
String messy = " hello ";
System.out.println(messy.trim()); // "hello"
Cada una de estas funciones devuelve una nueva cadena; la cadena original no cambia.
GO TO FULL VERSION