Linguagem I Strings. Davi Pires {dpr@cin.ufpe.br} Revisão Loops –for –while –do – while...

Preview:

Citation preview

Linguagem I

Strings

Davi Pires {dpr@cin.ufpe.br}

RevisãoRevisão

• Loops– for– while– do – while

• Arrays– Estruturas estáticas de armazenamento.

• Erros– ArrayIndexOutOfBoundsException– Miss by one

Davi Pires {dpr@cin.ufpe.br}

Flashback...Flashback...

• Voltemos ao HelloWorld

public class HelloWorld {

public static void main (String[] args) {

System.out.println("Hello World!");}

}

“Nem tudo no código é código.”

Davi Pires {dpr@cin.ufpe.br}

LiteraisLiterais

• Quando inicializamos variáveis diretamente no código, usamos literais.

• Já conhecemos literais numéricos e booleanos.

• E quanto a “Hello World!” ?

Davi Pires {dpr@cin.ufpe.br}

StringsStrings

• Texto (seqüências de caracteres) são armazenadas em Java na forma de Strings.

• Inicialização de Strings– Usando literais.– Usando o comando new

Davi Pires {dpr@cin.ufpe.br}

Inicialização de StringsInicialização de Strings

• Java assume que os literais de String não mudam nunca.

• Por isso duas variáveis com o mesmo valor literal podem ter também o mesmo objeto.

String a = “uma string”;“uma string”

String b = “uma string”;

Davi Pires {dpr@cin.ufpe.br}

Inicialização de StringsInicialização de Strings

• Vários Construtores:– String( )– String( byte[ ] bytes )– String( char[ ] chars )– String( String original )– String( StringBuffer buffer )– ...

• Todos inicializam novos objetos.

Davi Pires {dpr@cin.ufpe.br}

Inicialização de StringsInicialização de Strings

String a = “uma string”; “uma string”

String b = new String(a);

String a = “uma string”;“uma string”

String b = “uma string”;

Davi Pires {dpr@cin.ufpe.br}

StringsStrings

• Exemplos– StringConstrutores.java

Davi Pires {dpr@cin.ufpe.br}

StringsStrings

• Métodos interessantes da classe String– char charAt(int posicao);– String substring(int posicao);– int compareTo(String outraString);– String concat(String outraString);– int length();– String valueOf(..);– void trim();– ...

Davi Pires {dpr@cin.ufpe.br}

StringsStrings

• Exemplos:– Codificacao.java

Davi Pires {dpr@cin.ufpe.br}

StringsStrings

• Exercícios:– Faça um método que identifica se uma

dada String é parte de outra String.– [ opcional ] Converta datas como

“08/04/2005” em “08 de Abril de 2005”.– [ opcional ] Implementar o método que

decodifica uma String, que tenha sido codificada pelo Codificador.

Davi Pires {dpr@cin.ufpe.br}

StringsStrings

• Usos comuns de Strings:– como texto.– como atributos de objetos.

• Exemplo: Conta.java

– como chaves de busca.• Exemplo: próximo slide!

Davi Pires {dpr@cin.ufpe.br}

StringsStrings

• Comparando Strings

String a = “uma string”; String b = new String(a);

if(a == b) {System.out.println(“a e b são iguais.”);

} else {System.out.println(“a e b são diferentes.”);

}

if(a.equals(b)) {System.out.println(“a e b são iguais.”);

} else {System.out.println(“a e b são diferentes.”);

}

==

equals()

Davi Pires {dpr@cin.ufpe.br}

StringsStrings

• Exemplo– RepositorioContas.java

Davi Pires {dpr@cin.ufpe.br}

StringsStrings

• Outros métodos para comparação:– boolean equalsIgnoreCase(String string);

• Ignora maiúsculas e minúsculas.

– int compareTo(String string);• Ordem alfabética (ou lexicográfico).

Davi Pires {dpr@cin.ufpe.br}

ConsoleConsole

• A classe Console fornece métodos para leitura / impressão de Strings.– String readString( );– void print(String input);

Revisão

Davi Pires {dpr@cin.ufpe.br}

DúvidasDúvidas

• Quais exercícios você não conseguiu fazer?

• Quais aulas foram mais difíceis?

• Quais estruturas você não entende como funciona?

• Feedback– O que faltou?– O que teve demais?

Davi Pires {dpr@cin.ufpe.br}

Palavras reservadasPalavras reservadas

boolean break byte

case char class

default do double

float for else

if import while

int long new

package private public

short switch return

this void

Davi Pires {dpr@cin.ufpe.br}

RevisãoRevisão

• Aula 1:– Características de Java– Compilador vs. Interpretador.– Tipos Primitivos– Operadores– Casts

Davi Pires {dpr@cin.ufpe.br}

RevisãoRevisão

• Aula 2:– Classes– Atributos– Métodos– Construtores– Palavras-chave

• class, void, return, new, this, null

Davi Pires {dpr@cin.ufpe.br}

RevisãoRevisão

• Aula 3:– Pacotes– Importações– Modificadores de Visibilidade– Encapsulamento

Davi Pires {dpr@cin.ufpe.br}

RevisãoRevisão

• Aula 4:– Programação não-estruturada.– Controle de Fluxo

• if

• if – else

• if – else if

• switch – case

– Classe Console

Davi Pires {dpr@cin.ufpe.br}

RevisãoRevisão

• Aula 5:– Loops

• for

• while

• do – while

– Arrays• Armazenamento

– Erros com arrays

Davi Pires {dpr@cin.ufpe.br}

RevisãoRevisão

• Aula 6:– Literais– Inicializando Strings– Métodos da classe String– Comparações de Strings– Classe Console e Strings

Exercícios

Alto nível

Davi Pires {dpr@cin.ufpe.br}

ExercíciosExercícios

• Crivo de Eratóstenes

• Dado um certo número inteiro, retorne todos os números primos menores do que ele.

Davi Pires {dpr@cin.ufpe.br}

ExercíciosExercícios

• Faça um programa que calcule a multiplicação, a divisão, o resto da divisão e o fatorial de 2 números.

• Trivial, né? Agora tente fazer isso sem usar os operadores *, /, e % .

• REUSE seu código o máximo possível.

Davi Pires {dpr@cin.ufpe.br}

ExercícioExercício

• Faça um método que, dado um array de inteiros, ele seja capaz de colocar os inteiros em ordem ascendente.

• Agora, faça um método que, dado um array de Strings, ele seja capaz de colocar as Strings em ordem alfabética.– veja o método compareTo(String string);

Davi Pires {dpr@cin.ufpe.br}

ExercíciosExercícios

• Use o que você sabe sobre:– Strings– Busca em Arrays

• E faça um dicionário!– Dada uma palavra, ele busca no array de,

digamos, EntradaDeDicionario, e retorna o significado da palavra.

– Inicialize o dicionário “na mão”, mesmo.

Davi Pires {dpr@cin.ufpe.br}

ExercíciosExercícios

• Uma alternativa ao exercício anterior.• Implemente um programa a ser usado por

uma loja de CD’s.• Os clientes podem buscar cd’s tanto pelo

nome do artista como pelo nome do álbum.• A busca retorna os dados do CD

– Artista.– Nome do álbum.– Lista de músicas.

Este trabalho está licenciado sob uma Licença Creative Commons Atribuição-Uso Não-Comercial-Compatilhamento pela mesma licença. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/2.0/br/ ou envie uma carta para Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Recommended