CodeGym /Cursos /JAVA 25 SELF /Strings e texto: tipo String, manipulação de strings

Strings e texto: tipo String, manipulação de strings

JAVA 25 SELF
Nível 2 , Lição 2
Disponível

1. Explorando em detalhes o tipo String

O tipo String é um dos tipos mais usados em Java. Talvez o mais usado de todos. É um tipo excelente, pois em variáveis desse tipo podemos armazenar texto. E, diferentemente dos tipos int e double, objetos do tipo String têm um monte de funções (métodos), e com elas é possível fazer várias coisas interessantes.

Além disso, todos os objetos em Java (todos mesmo) podem ser convertidos para o tipo String. Ou, para dizer de forma mais correta, todos os objetos em Java retornam sua representação textual (string). Voltaremos muitas vezes a esse tipo (ele é muito útil e interessante), mas hoje vamos conhecer seus fundamentos.

Criando variáveis do tipo String

O tipo String foi criado para armazenar strings (texto). Para criar no código uma variável capaz de armazenar texto, use o comando:

String imya;
Criação de uma variável do tipo String

Onde imya é o nome da variável.

Exemplos:

Comando Descrição
String name;
Cria-se a variável de string name
String message;
Cria-se a variável de string message
String text;
Cria-se a variável de string text

Assim como com os tipos int e double, é possível usar a forma abreviada para criar várias variáveis do tipo String:

String imya1, imya2, imya3;
Criação de variáveis do tipo String

2. Atribuição de valores às variáveis do tipo String

Para colocar um valor em uma variável do tipo String, use o comando:

imya = "valor";
Atribuição de valor a uma variável do tipo String

E aqui está a primeira diferença em relação aos tipos já estudados. Todos os valores do tipo String representam sequências de texto e devem estar entre aspas duplas.

Exemplos:

Comando Observação
String name = "Anya";
A variável name contém o texto Anya
String city = "New York";
A variável city contém o texto New York
String message = "Hello!";
A variável message contém o texto Hello!

3. Inicialização de variáveis do tipo String

Assim como nos tipos int e double, variáveis do tipo String podem ser inicializadas já na criação. Aliás, isso pode ser feito com todos os tipos em Java. Portanto, não vamos voltar a esse assunto.

String imya1 = "valor1", imya2 = "valor2", imya3 = "valor3";
Forma abreviada de criação e inicialização de variáveis
String name = "Anya", city = "New York", message = "Hello!";
Exemplo de comando de criação e inicialização de variáveis

Só é possível modificar variáveis que já tenham um valor

O compilador Java reclamará se você declarar uma variável sem atribuir nenhum valor a ela e tentar usá-la.

Este código não vai funcionar:

String name;
System.out.println(name); // Variável name não inicializada. O programa não será compilado.
int a;
a++; // Variável a não inicializada. O programa não será compilado.
double x;
double y = x; // Variável x não inicializada. O programa não será compilado.

4. Concatenação — juntando strings

Há algo muito interessante e simples que podemos fazer com strings em Java — podemos juntá-las. Essa operação se chama concatenação. Ou, para ser mais fácil de lembrar — con-ca-te-na-ção 😆. Embora muitas vezes ela seja chamada de “colagem de strings” ou até simplesmente “soma de strings”.

Para juntar duas strings, use o sinal +. É muito simples:

"texto1" + "texto2"
Concatenação de duas strings

Exemplos:

Comando Observação
String name = "Anya" + "Anya";
name contém a string AnyaAnya
String city = "New York" + "Anya";
city contém a string New YorkAnya
String message = "Hello! " + "Anya";
message contém a string Hello! Anya

E, claro, é possível concatenar muitas strings ao mesmo tempo, bem como concatenar strings e variáveis.

String name = "Anya";                // name contém a string Anya
String city = "New York";           // city contém a string New York
String message = "Hello!" + city + name + city; // message contém a string Hello!New YorkAnyaNew York

5. Strings vazias

No último exemplo, dá para ver que o texto na variável message fica pouco legível porque faltam espaços. Para adicionar um espaço (ou vários), basta escrevê-los no código e colocar entre aspas duplas. É mais simples do que parece:

" "
String contendo um único espaço

Aliás, se você não deixar nada entre as aspas (escrever duas aspas duplas seguidas), obterá a chamada “string vazia”:

""
String vazia

Por um lado, ela até existe; por outro, ao exibi-la na tela, nada aparece. E, ao juntá-la com outras strings, nada acontece. É como um análogo do zero, só que para strings.

6. Escape de caracteres especiais em strings

Você já sabe que strings são delimitadas por aspas duplas. Mas o que fazer se for preciso inserir aspas dentro da string? Se escrevermos aspas dentro da string, o compilador não vai considerar isso o fim da string?

Correto. Vai, sim. Por isso, aspas dentro do texto são substituídas pelo par de caracteres \". E o código ficará assim:

String quote = "Ele disse: \"Olá!\"";
System.out.println(quote); // Ele disse: "Olá!"

Na verdade, é um pouco mais sutil. O caractere \ é considerado especial (de controle) dentro de strings. Com ele, podemos representar vários “caracteres não-imprimíveis”, como quebra de linha, tabulação etc. E, para representar o próprio caractere \, é preciso escrevê-lo 2 vezes.

Aqui estão as 4 combinações mais comuns:

Notação Significado
\n Quebra de linha (newline)
\t Tabulação (indentação)
\\ Barra invertida literal \
\" Aspas dentro da string

Exemplo:

String multiline = "Linha 1\nLinha 2";
System.out.println(multiline);

Saída:

Linha 1
Linha 2

7. Funções próprias das strings

O tipo String possui funções próprias (também chamadas de métodos). São muitas, e elas facilitam a vida de quem programa. Hoje você conhecerá algumas das mais simples. Exemplo:

Função Descrição Exemplo de resultado
str.length()
Comprimento da string
"abc".length() → 3
str.toUpperCase()
Para maiúsculas
"abc".toUpperCase() → "ABC"
str.toLowerCase()
Para minúsculas
"ABC".toLowerCase() → "abc"
str.trim()
Remover espaços das extremidades
"  x y  ".trim() → "x y"

Exemplos de uso das funções de string

Todas essas funções são chamadas assim: variavel.funcao(...).

Determinar o comprimento de uma string:

String name = "Andrey";
int length = name.length();
System.out.println(length); // 6, pois são 6 letras

Converter a string para maiúsculas ou minúsculas:

String original = "Olá";
System.out.println(original.toUpperCase()); // OLÁ
System.out.println(original.toLowerCase()); // olá

Remover espaços das extremidades (muito útil na entrada pelo teclado):

String messy = "   hello   ";
System.out.println(messy.trim()); // "hello"

Cada uma dessas funções retorna uma nova string; a string antiga não é modificada.

1
Tarefa
JAVA 25 SELF, nível 2, lição 2
Bloqueado
Mensagem do futuro 👽
Mensagem do futuro 👽
1
Tarefa
JAVA 25 SELF, nível 2, lição 2
Bloqueado
Criação do nome completo 👤
Criação do nome completo 👤
1
Tarefa
JAVA 25 SELF, nível 2, lição 2
Bloqueado
Citação do herói 🗣️
Citação do herói 🗣️
1
Tarefa
JAVA 25 SELF, nível 2, lição 2
Bloqueado
Processamento de dados do formulário 📝
Processamento de dados do formulário 📝
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION