Linguagem I
Strings
Davi Pires {[email protected]}
RevisãoRevisão
• Loops– for– while– do – while
• Arrays– Estruturas estáticas de armazenamento.
• Erros– ArrayIndexOutOfBoundsException– Miss by one
Davi Pires {[email protected]}
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 {[email protected]}
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 {[email protected]}
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 {[email protected]}
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 {[email protected]}
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 {[email protected]}
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 {[email protected]}
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 {[email protected]}
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 {[email protected]}
StringsStrings
• Usos comuns de Strings:– como texto.– como atributos de objetos.
• Exemplo: Conta.java
– como chaves de busca.• Exemplo: próximo slide!
Davi Pires {[email protected]}
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 {[email protected]}
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 {[email protected]}
ConsoleConsole
• A classe Console fornece métodos para leitura / impressão de Strings.– String readString( );– void print(String input);
Revisão
Davi Pires {[email protected]}
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 {[email protected]}
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 {[email protected]}
RevisãoRevisão
• Aula 1:– Características de Java– Compilador vs. Interpretador.– Tipos Primitivos– Operadores– Casts
Davi Pires {[email protected]}
RevisãoRevisão
• Aula 2:– Classes– Atributos– Métodos– Construtores– Palavras-chave
• class, void, return, new, this, null
Davi Pires {[email protected]}
RevisãoRevisão
• Aula 3:– Pacotes– Importações– Modificadores de Visibilidade– Encapsulamento
Davi Pires {[email protected]}
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 {[email protected]}
RevisãoRevisão
• Aula 5:– Loops
• for
• while
• do – while
– Arrays• Armazenamento
– Erros com arrays
Davi Pires {[email protected]}
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 {[email protected]}
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 {[email protected]}
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 {[email protected]}
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 {[email protected]}
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 {[email protected]}
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.
Top Related