AULA 19-22 MÉTODOS DA CLASSE STRING Curso: Informática (Subseqüente) Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes [email protected] A Classe String Você já deve ter percebido que a maioria dos tipos de variáveis sempre são declarados com letras minúsculas (ex. int, float, double, etc.), porém as variáveis tipo String são declaradas com letra maiúscula. Isso acontece porque String não é um tipo primitivo, é uma Classe, e como a maioria das classes, possui atributos, construtores e métodos. A Classe String Por ser uma classe, uma variável poderia muito bem ser declarada da seguinte forma: Inclusive, mais adiante usaremos este e outros construtores dessa classe. A princípio vamos conhecer alguns métodos. Métodos da Classe String Os métodos da classe String são acionados adicionando-se um ponto ao final do nome da String, o da própria string, seguidos pelo nome do método (incluindo os parênteses). A maioria dos métodos é de RETORNO, ou seja, será necessário declarar uma variável para receber o resultado. Veja os exemplos do próximo slide. Métodos da Classe String length() – retorna o tamanho da String numa variável tipo int. Ex. Exercício Crie um programa em que o usuário digite uma palavra e o programa informe quantos caracteres foram digitados. Dica: use o método javax.swing.JOptionPane.showInputDialog() Resposta Resposta 2 Podemos usar o método diretamente dentro de um comando de impressão, sem precisar antes guardar em um inteiro, como no exemplo abaixo: Métodos da Classe String Os métodos também podem ser usados diretamente na string, como abaixo: Faremos um exemplo usando esta forma no próximo método. Métodos da Classe String substring(int inicio, int fim) – usado para retornar uma String com as letras indicadas pelos parâmetros início e fim. Ex.: O que vai ser impresso? melo Métodos da Classe String 1 C 2 A 3 R 4 A 5 M 6 E 7 L substring(4, 8) Indica até onde será omitido (cortado) Indica até onde será exibido (copiado) 8 O Métodos da Classe String Teste as seguintes expressões: “joao victor”.substring(5,11) “joao victor”.substring(0,4) “joao victor”.substring(5,7) + “joao victor”.substring(2,4) A “soma” de suas Strings resulta numa String MAIOR. A essa “soma” damos o nome de CONCATENAÇÃO. Métodos da Classe String É comum usarmos o método substring da seguinte forma: Uma subtração diz quantas letras do FIM iremos pegar Qual seria a saída? ninja Indica o último caractere Exercício Crie um programa em que o usuário digite uma palavra com pelo menos 8 caracteres e a seguir forme uma nova palavra usando as duas primeiras e as duas últimas letras. Se a palavra digitada tiver menos que 8 caracteres, mostre uma mensagem de erro. Dica: use o método length() para testar o tamanho. Resposta Comparação entre Strings Quando usamos if, while, for, e outros comandos que realizam testes lógicos, é comum usarmos os operadores ==, >, <, >=, etc. Isso funciona normalmente com tipos primitivos (int, float, double...), mas não funciona com Strings. Para comparar o conteúdo de uma String, precisamos usar alguns métodos especiais. Comparação entre Strings equals(String s) – esse método verifica se a string atual é igual a string que está dentro do parênteses. Retorna true ou false (boolean). Ex.: Comparação entre Strings Teste o seguinte código: Qual o resultado? false Isso acontece porque Java é “case sensitive”, ou seja, diferencia letras MAIÚSCULAS e minúsculas. Comparação entre Strings equalsIgnoreCase(String s) – igual ao equals, porém ignora MAIÚSCULAS e minúsculas. Retorna true ou false (boolean). Ex.: Sem considerar MAIÚSCULAS e minúsculas, o Java diz que as palavras são iguais (true) Exercício Crie um programa em que o usuário digite duas palavras, cada uma em uma variável tipo String e depois mostre o resultado das comparações usando o método equals e o método equalsIgnorecase. Ex.: Janelas que aparecerão para o usuário: “digite “digite “Usando “Usando uma palavra...” outra palavra...” equals( ) = SÃO DIFERENTES ” equalsIgnoreCase() = SÃO IGUAIS ” Resposta Comparação entre Strings contains(String substring) – diz se a string atual possui a substring indicada. Retorna true ou false (boolean). Ex.: Comparação entre Strings startsWith(String substring) – diz se a string atual COMEÇA com a substring indicada. Retorna true ou false (boolean). Ex.: Comparação entre Strings endsWith(String substring) – diz se a string atual TERMINA com a substring indicada. Retorna true ou false (boolean). Ex.: Exercícios Teste as seguintes expressões e diga os resultados: “Maria Moura”.contains(“pedro”) “Pedro Tintino”.startsWith(“pedro”) “Carlos Araujo”.endsWith(“Araújo”) “Felipe Alberto Santos”.startsWith(“Alberto”) “Felipe Alberto Santos”.endsWith(“Alberto”) “Felipe Alberto Santos”.contains(“Alberto”) Métodos da Classe String toUpperCase() – transforma os caracteres da String em letras MAIÚSCULAS. Retorna uma String. Ex.: Métodos da Classe String toLowerCase() – transforma os caracteres da String em letras minúsculas. Retorna uma String. Ex.: Métodos da Classe String replace(String antiga, String nova) – substitui os caracteres indicados na primeira String pelos da segunda String. Retorna uma String. Ex.: Métodos da Classe String replaceFirst(String antiga, String nova) – substitui a PRIMEIRA ocorrência dos caracteres indicados na primeira String pelos da segunda String. Retorna uma String. Ex.: Métodos da Classe String charAt(int posicao) – retorna o caractere na posição indicada (começando em zero). Retorna um char. Ex.: Métodos da Classe String B 0 A 1 N 2 A 3 N 4 Dica: para pegar o último caractere, use : s.charAt(s.length()-1) A 5 Métodos da Classe String trim() – omite espaços existentes no início e no final. Retorna uma String. Ex.: Referências BARNES. KOLLING. Programação orientada a objetos com Java. Uma introdução prática usando o BlueJ. 4ed. Pearson, 2009. SIERRA, Kathy. BATES, Bert. Use a Cabeça! Java. 2ed. Alta Books, 2007.