Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II Java Sexta aula 1
Prof. Rogério Albuquerque de Almeida Programação Orientada a Objeto II Strings Clesse String Concatenando strings SubStrings Atributos e métodos da classe Strings e Vetores 2
Strings São sequencias de caracteres, como em Curso de Java Java não possui um tipo primitivo para String, todas as strings são objetos da classe pré definida String Todo texto que estiver entre aspas é um objeto da classe String String a = ; //String vazia String b = teste ; Prof. Rogério A. Almeida 3
Concatenar Strings Como em muitas linguagens é utilizado o operador + para concatenar Strings String s1 = "Curso "; String s2 = "de java"; String s3 = s1 + s2; O resultado será "Curso de java" Prof. Rogério A. Almeida 4
Concatenar Strings Quando se concatenar uma string com um valor que não é uma string, este valor é convertido para string no momento da concatenação String s1 = "idade: "; int v1 = 15; String s2 = s1 + v1; O resultado será "idade: 15" Geralmente usado em comandos de saída: System.out.println("resultado: " + total) Prof. Rogério A. Almeida 5
Substrings É possível obter parte de uma string utilizando o método substring String h = Bom dia String x = h.substring(0,3); String y = h.substring(2,3); String w = h.substring(4); x conterá a string Bom y conterá a string m D w conterá a string Dia Prof. Rogério A. Almeida 6
String e Vetores Internamente o objeto String contem um vetor de caracteres (char[]), podemos interagir com este vetor com os seguintes metodos length() : tamanho do vetor (String) charat(int i): retorna o caracter que esta na posição i tochararray(): retorna o array de caracteres que compõe a string Prof. Rogério A. Almeida 7
String e Vetores O código abaixo irá imprimir cada caracter da string teste em uma linha String teste = teste de string ; int tamanho = teste.length(); for (int i = 0; i<tamanho; i++){ System.out.println(teste.charAt(i)); } Prof. Rogério A. Almeida 8
String e Vetores O código abaixo faz a mesma coisa que o anterior, só que desta vez ele utiliza um vetor de char String teste = teste de string ; char[] vet = teste.tochararray(); int tamanho = vet.length; for (int i = 0; i<tamanho; i++){ System.out.println(vet[i]); } Prof. Rogério A. Almeida 9
Testando igualdade Por serem objetos, strings não podem ser comparadas utilizando o operador ==, é necessário utilizar o método.equals String x = teste ; String y = teste ; if (x.equals(y)) { System.out.println( x e y são iguais ); } else { System.out.println( x e y são diferentes ); } Prof. Rogério A. Almeida 10
Testando igualdade O método.equals considera maiúsculas diferentes de minúsculas, para considerá las iguais deve se utilizar o método.equalsignorecase String x = teste ; String y = teste ; if (x.equalsignorecase(y)) { System.out.println( x e y são iguais ); } else { System.out.println( x e y são diferentes ); } Prof. Rogério A. Almeida 11
Outros métodos de String tolowercase(): retorna uma nova string convertida para minúsculas touppercase(): retorna uma nova string convertida para maiúsculas indexof(string str): retorna a posição de str dentro da String indexof(string str, int pos): retorna a posição de str dentro da String a partir da posição pos replace(char antigo, char novo): retorna uma nova string substituindo o caracter antigo pelo novo trim(): remove os espaços em branco no início e no fim da string Prof. Rogério A. Almeida 12
Exercícios 1) Peça ao usuário para digitar seu nome Imprima o nome do usuário de traz para frente 2) Peça ao usuário para digitar seu nome e sua idade Imprima: Fulano faltam x anos para você completar 100 anos! 3) Peça ao usuário para digitar seu nome Imprima quantos nomes fazem parte do nome do usuário Prof. Rogério A. Almeida 13
Exercícios 4) Faça um programa que peça para entrar com um texto e exiba as seguintes informações Tamanho da string (desconsiderar espaços em branco no início e no final da string) Quantas vezes aparece a letra e Quantas vezes aparece a letra r O texto em maiúsculo O texto em minúsculo Prof. Rogério A. Almeida 14
Exercícios 5) Faça um programa que peça ao usuário para entrar com 2 nomes. Se os nomes forem iguais deve se imprimir os nomes são iguais Se não forem iguais deve se verificar o tamanho de cada nome Se tiverem o mesmo tamanho imprima nomes diferentes mas como mesmo tamanho Se não tiverem o mesmo tamanho imprima o nome do maior concatenado com o tamanho da string Prof. Rogério A. Almeida 15