Introdução
Neste laboratório, você aprenderá como verificar se um caractere é um espaço em branco em Java usando o método Character.isWhitespace(). Você explorará como este método identifica vários caracteres de espaço em branco, incluindo espaços, tabulações, novas linhas e retornos de carro.
Através de exercícios práticos, você testará o método com diferentes caracteres, incluindo espaços, tabulações e caracteres que não são espaços em branco, como letras e dígitos, para entender seu comportamento e aplicação prática na programação Java.
Usar o Método Character.isWhitespace()
Nesta etapa, exploraremos como usar o método Character.isWhitespace() em Java. Este método faz parte da classe Character e é usado para determinar se um determinado caractere é um caractere de espaço em branco. Caracteres de espaço em branco incluem espaços, tabulações, novas linhas e retornos de carro.
Compreender como identificar espaços em branco é útil em muitas tarefas de programação, como analisar texto, validar entrada ou formatar saída.
Vamos criar um novo arquivo Java para experimentar este método.
Abra o WebIDE se ele ainda não estiver aberto.
No File Explorer à esquerda, certifique-se de estar no diretório
~/project.Clique com o botão direito do mouse no espaço vazio dentro do diretório
~/projecte selecione "New File".Nomeie o novo arquivo
WhitespaceChecker.java.Abra o arquivo
WhitespaceChecker.javano editor.Copie e cole o seguinte código Java no 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)); } }Vamos analisar as novas partes deste código:
char space = ' ';: Isso declara uma variável chamadaspacedo tipochare atribui a ela o caractere espaço.char tab = '\t';: Isso declara uma variável chamadatabe atribui a ela o caractere tabulação.\té uma sequência de escape que representa uma tabulação.char newline = '\n';: Isso declara uma variável chamadanewlinee atribui a ela o caractere nova linha.\né uma sequência de escape que representa uma nova linha.char letter = 'a';: Isso declara uma variável chamadalettere atribui a ela o caractere 'a'.char digit = '1';: Isso declara uma variável chamadadigite atribui a ela o caractere '1'.Character.isWhitespace(space): É aqui que chamamos o métodoisWhitespace(). Passamos o caracterespacepara ele, e ele retornarátruese o caractere for um espaço em branco efalsecaso contrário. Fazemos o mesmo para os outros caracteres.System.out.println(...): Usamosprintlnpara imprimir o resultado da chamada do métodoisWhitespace()junto com uma mensagem descritiva.
Salve o arquivo
WhitespaceChecker.java(Ctrl+S ou Cmd+S).
Agora que escrevemos o código, precisamos compilá-lo e executá-lo para ver a saída.
Abra o Terminal na parte inferior do WebIDE. Certifique-se de estar no diretório
~/project.Compile o programa Java usando o comando
javac:javac WhitespaceChecker.javaSe não houver erros, este comando criará um arquivo
WhitespaceChecker.classno diretório~/project.Execute o programa Java compilado usando o comando
java:java WhitespaceCheckerVocê deve ver uma saída semelhante a esta:
Is ' ' whitespace? true Is ' ' whitespace? true Is ' ' whitespace? true Is 'a' whitespace? false Is '1' whitespace? falseEsta saída mostra que o método
isWhitespace()identificou corretamente os caracteres espaço, tabulação e nova linha como espaços em branco, e os caracteres letra e dígito como não espaços em branco.
Você usou com sucesso o método Character.isWhitespace() para verificar diferentes caracteres. Na próxima etapa, testaremos este método com mais exemplos, incluindo diferentes tipos de espaços em branco.
Testar com Espaços e Tabulações
Na etapa anterior, usamos Character.isWhitespace() com um único espaço e um único caractere de tabulação. Nesta etapa, testaremos ainda mais o método com strings contendo múltiplos espaços e tabulações para ver como ele se comporta.
Lembre-se que Character.isWhitespace() funciona em caracteres individuais, não em strings inteiras. Para verificar se uma string contém apenas espaços em branco, ou para processar espaços em branco dentro de uma string, você normalmente iteraria pela string caractere por caractere e aplicaria o método isWhitespace() a cada um.
Vamos modificar nosso arquivo WhitespaceChecker.java para incluir testes com múltiplos espaços e tabulações.
Abra o arquivo
WhitespaceChecker.javano editor WebIDE.Substitua o código existente pelo seguinte código atualizado:
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)); } } }Aqui está uma análise do novo código:
String testString1 = " ";: Criamos uma string com três caracteres de espaço.String testString2 = "\t\t";: Criamos uma string com dois caracteres de tabulação.String testString3 = " \t ";: Criamos uma string com uma mistura de espaços e tabulações.String testString4 = "Hello World";: Criamos uma string com letras e um espaço.for (int i = 0; i < testString1.length(); i++): Este é um loopforque itera por cada caractere da string.char c = testString1.charAt(i);: Dentro do loop,charAt(i)obtém o caractere no índice atualie o armazena na variávelc.System.out.println(" Is '" + (c == ' ' ? " " : (c == '\t' ? "\\t" : c)) + "' whitespace? " + Character.isWhitespace(c));: Esta linha imprime se o caractere atualcé um espaço em branco usandoCharacter.isWhitespace(c). A parte(c == ' ' ? " " : (c == '\t' ? "\\t" : c))é um operador ternário usado para imprimir uma representação visível para caracteres de espaço e tabulação na saída.
Salve o arquivo
WhitespaceChecker.java.
Agora, vamos compilar e executar o programa atualizado.
Abra o Terminal na parte inferior do WebIDE. Certifique-se de estar no diretório
~/project.Compile o programa Java:
javac WhitespaceChecker.javaExecute o programa Java compilado:
java WhitespaceCheckerVocê deve ver uma saída semelhante a esta, incluindo os resultados para cada caractere nas strings de teste:
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 saída confirma que
Character.isWhitespace()identifica corretamente os caracteres de espaço e tabulação individuais dentro de strings, mesmo quando aparecem consecutivamente ou misturados com outros caracteres.
Você testou com sucesso Character.isWhitespace() com strings contendo múltiplos espaços e tabulações iterando pelos caracteres. Na próxima etapa, veremos como o método lida com caracteres que não são espaços em branco.
Lidar com Caracteres Não-Espaços em Branco
Nas etapas anteriores, focamos em identificar caracteres de espaço em branco usando Character.isWhitespace(). Agora, vamos demonstrar explicitamente como o método lida com caracteres que não são considerados espaços em branco. Isso reforçará sua compreensão do que o método faz e não identifica.
Embora já tenhamos incluído alguns caracteres que não são espaços em branco nos exemplos anteriores (como 'a' e '1'), vamos adicionar mais alguns exemplos diversos ao nosso arquivo WhitespaceChecker.java.
Abra o arquivo
WhitespaceChecker.javano editor WebIDE.Adicione as seguintes linhas de código dentro do método
main, após as instruçõesSystem.out.printlnexistentes, mas antes dos loops que iteram pelas strings. Você pode adicioná-las após a linhaSystem.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 correctlyVamos analisar os novos caracteres que adicionamos:
char punctuation = '.';: Um sinal de pontuação.char symbol = '$';: Um caractere de símbolo.char controlChar = '\u0000';: Esta é uma sequência de escape Unicode para o caractere nulo, que é um caractere de controle.Character.isWhitespace()também verifica certos caracteres de controle que são considerados espaços em branco pelo padrão Unicode.
Salve o arquivo
WhitespaceChecker.java.
Agora, vamos compilar e executar o programa atualizado para ver a saída para esses novos caracteres.
Abra o Terminal na parte inferior do WebIDE. Certifique-se de estar no diretório
~/project.Compile o programa Java:
javac WhitespaceChecker.javaExecute o programa Java compilado:
java WhitespaceCheckerVocê deve ver uma saída semelhante a esta, incluindo os resultados para os novos 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 você pode ver na saída, o sinal de pontuação ('.') e o símbolo ('$') são corretamente identificados como não espaços em branco. O caractere nulo (
\u0000) também é identificado como não espaço em branco porCharacter.isWhitespace(). Este método verifica especificamente os caracteres definidos como espaços em branco no padrão Unicode, que inclui espaço, tabulação, nova linha, retorno de carro, alimentação de formulário (\f) e certos outros caracteres de controle e separadores de espaço.
Você agora viu como Character.isWhitespace() se comporta com vários tipos de caracteres, incluindo espaços em branco padrão e caracteres que não são espaços em branco, como pontuação, símbolos e caracteres de controle. Isso completa nossa exploração do método Character.isWhitespace().
Resumo
Neste laboratório, aprendemos como verificar se um caractere é um espaço em branco em Java usando o método Character.isWhitespace(). Exploramos como este método identifica caracteres comuns de espaço em branco, como espaços, tabulações e quebras de linha.
Praticamos o uso do método Character.isWhitespace() criando um programa Java simples que testou vários caracteres, incluindo espaços, tabulações e caracteres que não são espaços em branco, como letras e dígitos, para ver se eles eram classificados como espaços em branco. Este exercício prático demonstrou a aplicação prática do método para identificar e lidar com espaços em branco no código Java.



