Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagem de Programação Orientada a Objetos I Marcos Lapa dos Santos marcoslapa@fib.br ___________________________________________________ LPOO I Manipulando Strings ___________________________________________________ LPOO I Por que tratar a String de forma diferente? • String não é um tipo primitivo do Java! Ela representa uma seqüência de caracteres UNICODE imutável. • Cada operação feita em cima de uma String, na realidade foi feita em cima de uma cópia da variável. • Uma String pode possuir caracteres escape: ex: \n \t \r, esses caracteres servem para indicar um enter, um tab, até a própria \ (\\) dentro da String. • String é uma classe no Java (possui métodos e atributos – discutiremos mais sobre classes no decorrer da nossa disciplina). ___________________________________________________ LPOO I Manipulação de Strings • Para declararmos uma variável do tipo String usamos o seguinte: – String f = “FIB”; – String c = “Centro Universitário”; • De posse destas variáveis podemos atuar sobre seus conteúdos modificando, concatenando, extraindo partes destas strings... Seguem alguns exemplos: – String r = f+c; // Resultado r = “FIBCentro Universitário” – String fib = f + “ - ” + c; // Resultado r = “FIB - Centro Universitário” – String s = c.substring(7); // Resultado s = “Universitário” – String s = c.substring(0,6); // Resultado s = “Centro” – int i = c.indexOf(“U”); // Resultado i = 7 ___________________________________________________ LPOO I Manipulação de Strings Indica se existe uma String dentro de outra retornando o seu índice, caso contrário retorna -1 int indexOf(String str) Verifica se são iguais e retorna um boolean.boolean equals(object) Alguns métodos da classe String Transforma uma string num array do tipo string[], com base em um caracter delimitador. String[] split(String ch) Obtém uma parte de uma string compreendida entre Índice Inicial e Índice Final. Caso o índice final não seja informado obtém ao valor desde o índice inicial até o fim da String. String substring(int indiceInicial [, int indiceFinal]) Indica se a string começa ou termina com caracteres específicos. boolean startsWith() e endsWith() Retorna o caracter que está localizado em um determinado índice. char charAt(int) Verifica se são iguais independente de maiúsculas e minúsculas e retorna um boolean. boolean equalsIgnoreCase(string) Compara uma String com outra retornando 0 caso sejam iguais. int compareTo(string) ___________________________________________________ LPOO I Leitura de Dados (Entrada) ___________________________________________________ LPOO I Lendo dados da console • Aplicações console são aquelas onde a interação com o mundo externo se dá baseada em digitações na linha de comando. • Até a versão JDK 1.4 o Java não possuía uma forma tão fácil de se lidar com os dados digitados na linha de comando. • A partir da versão 5.0 o Java trouxe a classe Scanner que pode ser criada da seguinte forma: – Scanner s = new Scanner(System.in); ___________________________________________________ LPOO I Lendo dados da console • O System.in é o fluxo de entrada de dados de uma aplicação console Java(neste caso tudo o que for digitado no teclado vai para o fluxo de entrada). • A partir da sua criação, a classe Scanner nos dá a possibilidade de utilizar alguns de seus métodos, são eles: – nextLine() - lê uma linha de dados. – next() - lê uma única palavra digitada. – nextInt, nextDouble – lê dados em seus formatos específicos int e double respectivamente. • Obs: para usar a classe Scanner é necessário digitar o seguinte comando no início do seu código: – import java.util.*; ___________________________________________________ LPOO I Saída de Dados ___________________________________________________ LPOO I Imprimindo dados na console • Assim como existe um fluxo de entrada de dados de uma aplicação console Java (System.in), existe também um fluxo de saída de dados (para a tela) que é acessado através do System.out. • É possível exibir informações na console da seguinte forma: – System.out.print(“String a ser exibida na tela”); – System.out.println(“String a ser exibida na tela pulando uma linha no final”); – System.out.print[ln](qualquerVariávelString); ___________________________________________________ LPOO I Entrada e Saída(Exemplos) • A seguir observe usos comuns dos fluxos de entrada e saída: • Problema: Solicitar ao usuário que digite uma palavra na tela e guardar esta palavra em uma variável: – Passos: System.out.println(“Digite uma palavra:”); Scanner s = new Scanner(System.in); String palavra = s.nextLine(); // Aqui s = palavra digitada pelo usuário ___________________________________________________ LPOO I Entrada e Saída(Exemplos) • Problema: Solicitar ao usuário que digite sua idade na tela, guardar esta idade em uma variável, e calcular quantos anos ele terá na copa do mundo de 2014, por fim exibir o resultado na tela: – Passos: System.out.println(“Digite a sua idade:”); Scanner s = new Scanner(System.in); int ano = 2008; // ANO ATUAL int idade = s.nextInt(); idade += (2014 - ano); ou idade = idade + (2014 - ano); System.out.println(“Sua idade na Copa de 2014, será:” + idade); ___________________________________________________ LPOO I Exercício 1 • Crie um programa Java que siga os seguintes passos: – Imprima na tela: “Digite seu nome e último nome:” [pule uma linha] – Leia o que foi digitado pelo usuário (usando o classe Scanner) e guarde numa variável chamada: nomeCompleto. – Verifique se o nome começa com a letra “A” e informe na tela. (Dica: use o comando startsWith) – Exiba na tela a terceira letra do nome.(Dica: comando charAt) – Agora inverta o nome digitado para o formato de referência da ABNT: “ÚLTIMONOME, Nome” e imprima o resultado na tela. – Dica: esta última operação deve ser feita por partes, primeiro transforme a string em um vetor contendo as duas palavras através do comando split, depois gere uma outra string usando o comando toUpperCase() para transformar o sobrenome para maiúsculo.
Compartilhar