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;
Onde imya é o nome da variável.
Exemplos:
| Comando | Descrição |
|---|---|
|
Cria-se a variável de string name |
|
Cria-se a variável de string message |
|
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;
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";
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 |
|---|---|
|
A variável name contém o texto Anya |
|
A variável city contém o texto New York |
|
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";
String name = "Anya", city = "New York", message = "Hello!";
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"
Exemplos:
| Comando | Observação |
|---|---|
|
name contém a string AnyaAnya |
|
city contém a string New YorkAnya |
|
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:
" "
Aliás, se você não deixar nada entre as aspas (escrever duas aspas duplas seguidas), obterá a chamada “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 |
|---|---|---|
|
Comprimento da string | |
|
Para maiúsculas | |
|
Para minúsculas | |
|
Remover espaços das extremidades | |
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.
GO TO FULL VERSION