Introducción
En este laboratorio, aprenderás cómo verificar si un carácter es un espacio en blanco en Java utilizando el método Character.isWhitespace(). Explorarás cómo este método identifica varios caracteres de espacio en blanco, incluyendo espacios, tabulaciones, saltos de línea y retornos de carro.
A través de ejercicios prácticos, probarás el método con diferentes caracteres, incluyendo espacios, tabulaciones y caracteres que no son espacios en blanco, como letras y dígitos, para comprender su comportamiento y aplicación práctica en la programación Java.
Utilizar el método Character.isWhitespace()
En este paso, exploraremos cómo utilizar el método Character.isWhitespace() en Java. Este método es parte de la clase Character y se utiliza para determinar si un carácter dado es un carácter de espacio en blanco. Los caracteres de espacio en blanco incluyen espacios, tabulaciones, saltos de línea y retornos de carro.
Comprender cómo identificar los espacios en blanco es útil en muchas tareas de programación, como analizar texto, validar entradas o formatear salidas.
Vamos a crear un nuevo archivo Java para experimentar con este método.
Abre el WebIDE si no está abierto.
En el explorador de archivos de la izquierda, asegúrate de estar en el directorio
~/project.Haz clic derecho en el espacio vacío dentro del directorio
~/projecty selecciona "Nuevo archivo".Nombrar el nuevo archivo
WhitespaceChecker.java.Abre el archivo
WhitespaceChecker.javaen el editor.Copia y pega el siguiente código Java en el editor:
public class WhitespaceChecker { public static void main(String[] args) { char space = ' '; char tab = '\t'; char newline = '\n'; char letter = 'a'; char digit = '1'; System.out.println("Is '" + space + "' whitespace? " + Character.isWhitespace(space)); System.out.println("Is '" + tab + "' whitespace? " + Character.isWhitespace(tab)); System.out.println("Is '" + newline + "' whitespace? " + Character.isWhitespace(newline)); System.out.println("Is '" + letter + "' whitespace? " + Character.isWhitespace(letter)); System.out.println("Is '" + digit + "' whitespace? " + Character.isWhitespace(digit)); } }Veamos las nuevas partes de este código:
char space = ' ';: Esto declara una variable llamadaspacede tipochary le asigna el carácter de espacio.char tab = '\t';: Esto declara una variable llamadataby le asigna el carácter de tabulación.\tes una secuencia de escape que representa una tabulación.char newline = '\n';: Esto declara una variable llamadanewliney le asigna el carácter de salto de línea.\nes una secuencia de escape que representa un salto de línea.char letter = 'a';: Esto declara una variable llamadalettery le asigna el carácter 'a'.char digit = '1';: Esto declara una variable llamadadigity le asigna el carácter '1'.Character.isWhitespace(space): Aquí es donde llamamos al métodoisWhitespace(). Le pasamos el carácterspace, y devolverátruesi el carácter es un espacio en blanco yfalseen caso contrario. Hacemos lo mismo con los otros caracteres.System.out.println(...): Usamosprintlnpara imprimir el resultado de la llamada al métodoisWhitespace()junto con un mensaje descriptivo.
Guarda el archivo
WhitespaceChecker.java(Ctrl+S o Cmd+S).
Ahora que hemos escrito el código, necesitamos compilarlo y ejecutarlo para ver la salida.
Abre la terminal en la parte inferior del WebIDE. Asegúrate de estar en el directorio
~/project.Compila el programa Java utilizando el comando
javac:javac WhitespaceChecker.javaSi no hay errores, este comando creará un archivo
WhitespaceChecker.classen el directorio~/project.Ejecuta el programa Java compilado utilizando el comando
java:java WhitespaceCheckerDeberías ver una salida similar a esta:
Is ' ' whitespace? true Is ' ' whitespace? true Is ' ' whitespace? true Is 'a' whitespace? false Is '1' whitespace? falseEsta salida muestra que el método
isWhitespace()identificó correctamente los caracteres de espacio, tabulación y salto de línea como espacios en blanco, y los caracteres de letra y dígito como no espacios en blanco.
Has utilizado con éxito el método Character.isWhitespace() para comprobar diferentes caracteres. En el siguiente paso, probaremos este método con más ejemplos, incluyendo diferentes tipos de espacios en blanco.
Probar con espacios y tabulaciones
En el paso anterior, utilizamos Character.isWhitespace() con un solo espacio y un solo carácter de tabulación. En este paso, probaremos aún más el método con cadenas que contengan múltiples espacios y tabulaciones para ver cómo se comporta.
Recuerda que Character.isWhitespace() funciona con caracteres individuales, no con cadenas enteras. Para comprobar si una cadena contiene solo espacios en blanco o para procesar los espacios en blanco dentro de una cadena, normalmente se recorrería la cadena carácter por carácter y se aplicaría el método isWhitespace() a cada uno.
Modifiquemos nuestro archivo WhitespaceChecker.java para incluir pruebas con múltiples espacios y tabulaciones.
Abre el archivo
WhitespaceChecker.javaen el editor del WebIDE.Reemplaza el código existente con el siguiente código actualizado:
public class WhitespaceChecker { public static void main(String[] args) { char space = ' '; char tab = '\t'; char newline = '\n'; char letter = 'a'; char digit = '1'; System.out.println("Is '" + space + "' whitespace? " + Character.isWhitespace(space)); System.out.println("Is '" + tab + "' whitespace? " + Character.isWhitespace(tab)); System.out.println("Is '" + newline + "' whitespace? " + Character.isWhitespace(newline)); System.out.println("Is '" + letter + "' whitespace? " + Character.isWhitespace(letter)); System.out.println("Is '" + digit + "' whitespace? " + Character.isWhitespace(digit)); System.out.println("\nTesting with multiple characters:"); String testString1 = " "; // Three spaces String testString2 = "\t\t"; // Two tabs String testString3 = " \t "; // Spaces and tabs String testString4 = "Hello World"; // Contains space, but also letters System.out.println("Checking characters in: \"" + testString1 + "\""); for (int i = 0; i < testString1.length(); i++) { char c = testString1.charAt(i); System.out.println(" Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c)); } System.out.println("Checking characters in: \"" + testString2 + "\""); for (int i = 0; i < testString2.length(); i++) { char c = testString2.charAt(i); System.out.println(" Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c)); } System.out.println("Checking characters in: \"" + testString3 + "\""); for (int i = 0; i < testString3.length(); i++) { char c = testString3.charAt(i); System.out.println(" Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c)); } System.out.println("Checking characters in: \"" + testString4 + "\""); for (int i = 0; i < testString4.length(); i++) { char c = testString4.charAt(i); System.out.println(" Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c)); } } }Aquí está un desglose del nuevo código:
String testString1 = " ";: Creamos una cadena con tres caracteres de espacio.String testString2 = "\t\t";: Creamos una cadena con dos caracteres de tabulación.String testString3 = " \t ";: Creamos una cadena con una mezcla de espacios y tabulaciones.String testString4 = "Hello World";: Creamos una cadena con letras y un espacio.for (int i = 0; i < testString1.length(); i++): Este es un bucleforque recorre cada carácter de la cadena.char c = testString1.charAt(i);: Dentro del bucle,charAt(i)obtiene el carácter en el índice actualiy lo almacena en la variablec.System.out.println(" Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c));: Esta línea imprime si el carácter actualces un espacio en blanco utilizandoCharacter.isWhitespace(c). La parte(c == ' ' ? " " : (c == '\t' ? "\\t" : c))es un operador ternario utilizado para imprimir una representación visible de los caracteres de espacio y tabulación en la salida.
Guarda el archivo
WhitespaceChecker.java.
Ahora, compilemos y ejecutemos el programa actualizado.
Abre la terminal en la parte inferior del WebIDE. Asegúrate de estar en el directorio
~/project.Compila el programa Java:
javac WhitespaceChecker.javaEjecuta el programa Java compilado:
java WhitespaceCheckerDeberías ver una salida similar a esta, incluyendo los resultados para cada carácter en las cadenas de prueba:
Is ' ' whitespace? true Is ' ' whitespace? true Is ' ' whitespace? true Is 'a' whitespace? false Is '1' whitespace? false Testing with multiple characters: Checking characters in: " " Is ' ' whitespace? true Is ' ' whitespace? true Is ' ' whitespace? true Checking characters in: " " Is '\t' whitespace? true Is '\t' whitespace? true Checking characters in: " " Is ' ' whitespace? true Is ' ' whitespace? true Is '\t' whitespace? true Is ' ' whitespace? true Is ' ' whitespace? true Checking characters in: "Hello World" Is 'H' whitespace? false Is 'e' whitespace? false Is 'l' whitespace? false Is 'l' whitespace? false Is 'o' whitespace? false Is ' ' whitespace? true Is 'W' whitespace? false Is 'o' whitespace? false Is 'r' whitespace? false Is 'l' whitespace? false Is 'd' whitespace? falseEsta salida confirma que
Character.isWhitespace()identifica correctamente los caracteres de espacio y tabulación individuales dentro de las cadenas, incluso cuando aparecen consecutivamente o mezclados con otros caracteres.
Has probado con éxito Character.isWhitespace() con cadenas que contienen múltiples espacios y tabulaciones recorriendo los caracteres. En el siguiente paso, veremos cómo el método maneja los caracteres que no son espacios en blanco.
Manejar caracteres que no son espacios en blanco
En los pasos anteriores, nos centramos en identificar los caracteres de espacio en blanco utilizando Character.isWhitespace(). Ahora, demostremos explícitamente cómo el método maneja los caracteres que no se consideran espacios en blanco. Esto reforzará tu comprensión de lo que el método identifica y lo que no.
Si bien ya incluimos algunos caracteres que no son espacios en blanco en los ejemplos anteriores (como 'a' y '1'), agreguemos algunos ejemplos más diversos a nuestro archivo WhitespaceChecker.java.
Abre el archivo
WhitespaceChecker.javaen el editor del WebIDE.Agrega las siguientes líneas de código dentro del método
main, después de las declaracionesSystem.out.printlnexistentes pero antes de los bucles que recorren las cadenas. Puedes agregarlas después de la líneaSystem.out.println("Is '" + digit + "' whitespace? " + Character.isWhitespace(digit));.char punctuation = '.'; char symbol = '$'; char controlChar = '\u0000'; // Null character System.out.println("Is '" + punctuation + "' whitespace? " + Character.isWhitespace(punctuation)); System.out.println("Is '" + symbol + "' whitespace? " + Character.isWhitespace(symbol)); System.out.println("Is U+0000 whitespace? " + Character.isWhitespace(controlChar)); // Printing control chars might not display correctlyVeamos los nuevos caracteres que hemos agregado:
char punctuation = '.';: Una marca de puntuación.char symbol = '$';: Un carácter de símbolo.char controlChar = '\u0000';: Esta es una secuencia de escape Unicode para el carácter nulo, que es un carácter de control.Character.isWhitespace()también comprueba ciertos caracteres de control que se consideran espacios en blanco según la norma Unicode.
Guarda el archivo
WhitespaceChecker.java.
Ahora, compilemos y ejecutemos el programa actualizado para ver la salida de estos nuevos caracteres.
Abre la terminal en la parte inferior del WebIDE. Asegúrate de estar en el directorio
~/project.Compila el programa Java:
javac WhitespaceChecker.javaEjecuta el programa Java compilado:
java WhitespaceCheckerDeberías ver una salida similar a esta, incluyendo los resultados de los nuevos caracteres:
Is ' ' whitespace? true Is ' ' whitespace? true Is ' ' whitespace? true Is 'a' whitespace? false Is '1' whitespace? false Is '.' whitespace? false Is '$' whitespace? false Is U+0000 whitespace? false Testing with multiple characters: Checking characters in: " " Is ' ' whitespace? true Is ' ' whitespace? true Is ' ' whitespace? true Checking characters in: " " Is '\t' whitespace? true Is '\t' whitespace? true Checking characters in: " " Is ' ' whitespace? true Is ' ' whitespace? true Is '\t' whitespace? true Is ' ' whitespace? true Is ' ' whitespace? true Checking characters in: "Hello World" Is 'H' whitespace? false Is 'e' whitespace? false Is 'l' whitespace? false Is 'l' whitespace? false Is 'o' whitespace? false Is ' ' whitespace? true Is 'W' whitespace? false Is 'o' whitespace? false Is 'r' whitespace? false Is 'l' whitespace? false Is 'd' whitespace? falseComo se puede ver en la salida, la marca de puntuación ('.') y el símbolo ('$') se identifican correctamente como no espacios en blanco. El carácter nulo (
\u0000) también se identifica como no espacio en blanco porCharacter.isWhitespace(). Este método comprueba específicamente los caracteres definidos como espacios en blanco en la norma Unicode, que incluyen espacio, tabulación, salto de línea, retorno de carro, avance de página (\f) y ciertos otros caracteres de control y separadores de espacio.
Ahora has visto cómo se comporta Character.isWhitespace() con varios tipos de caracteres, incluyendo espacios en blanco estándar y caracteres que no son espacios en blanco, como signos de puntuación, símbolos y caracteres de control. Esto completa nuestra exploración del método Character.isWhitespace().
Resumen
En este laboratorio, aprendimos cómo comprobar si un carácter es un espacio en blanco en Java utilizando el método Character.isWhitespace(). Exploramos cómo este método identifica los caracteres de espacio en blanco comunes, como espacios, tabulaciones y saltos de línea.
Practicamos el uso del método Character.isWhitespace() creando un simple programa en Java que probó varios caracteres, incluyendo espacios, tabulaciones y caracteres que no son espacios en blanco, como letras y dígitos, para ver si se clasificaban como espacios en blanco. Este ejercicio práctico demostró la aplicación práctica del método para identificar y manejar los espacios en blanco en el código Java.



