Buscar

JAVA Strings e Arrays

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1Java Básico
Tipos referência,
Strings e Arrays
2Java Básico
Tipos referência
� Em Java há dois conjuntos de tipos 
− Tipos primitivos
− Tipos referência
� Tipos primitivos
− int, long, double, float, ...
� Tipos referência
− classes, interfaces e arrays
3Java Básico
Tipos de referência
� Em Java não se trabalha diretamente com os 
objetos e sim com
referências a objetosreferências a objetos
� Isso tem implicações na maneira em que 
objetos são comparados e copiados
4Java Básico
Strings
5Java Básico
Strings
� São seqüências de caracteres
� Não há um tipo primitivo para Strings em 
Java
� Em Java, Strings são objetos
String mensagem = “Operação concluída com sucesso”;String mensagem = “Operação concluída com sucesso”;String mensagem = “Operação concluída com sucesso”;String mensagem = “Operação concluída com sucesso”;
Aqui Java cria um novo objeto
 do tipo String e o armazena na 
variável mensagem
6Java Básico
Concatenação de Strings
� Operador + é usado para concatenação
String nome = "George"; String nome = "George"; 
String sobrenome = "Bush";String sobrenome = "Bush";
String nomeCompleto = nome + " " + sobrenome;String nomeCompleto = nome + " " + sobrenome;
int anos = 10;int anos = 10;
double rendimento = 1270.49;double rendimento = 1270.49;
String s = "Em " + anos + " anos o " +String s = "Em " + anos + " anos o " +
 
 "rendimento será de " + rendimento;"rendimento será de " + rendimento;
System.out.println(s);System.out.println(s);
A conversão para 
String é feita 
automaticamente
7Java Básico
Strings são tipos referência
String s1 = 
"George";
String s2 = 
"George";
s1s1
s2s2
Geo r ge
s1s1
s2s2
Geo r geGeo r ge
Bush
Geo r ge
Bush
s1 = s1 + " Bush";
s2 = s2 + " Bush"; Ao manipular um String, 
um novo String é gerado!
8Java Básico
Igualdade de Strings
� Para testar se dois Strings são iguais, não 
deve ser usado ==
� Deve-se usar o método equals:
s1 == s2s1 == s2
s1.equals(s2)s1.equals(s2)
9Java Básico
Igualdade de Strings
//Cria dois novos Strings //Cria dois novos Strings 
String s1 = "George"; String s1 = "George"; 
String s2 = "George";String s2 = "George";
// Nesse momento, s1==s2 é verdadeiro!// Nesse momento, s1==s2 é verdadeiro!
 
 
s1 = s1 + " Bush"; // Cria um novo string e o atribui para s1 = s1 + " Bush"; // Cria um novo string e o atribui para 
s1s1
s2 = s2 + " Bush"; // Cria um novo string e o atribui para s2 = s2 + " Bush"; // Cria um novo string e o atribui para 
s2s2
 
 
ifif (s1 == s2) (s1 == s2) 
 
 System.out.println("s1 e s2 sao os mesmos objetos.");System.out.println("s1 e s2 sao os mesmos objetos.");
elseelse
 
 System.out.println("s1 e s2 NAO sao os mesmos objetos.");System.out.println("s1 e s2 NAO sao os mesmos objetos.");
 
 
ifif (s1.equals(s2)) (s1.equals(s2)) 
 
 System.out.println("s1 e s2 possuem o mesmo conteúdo.");System.out.println("s1 e s2 possuem o mesmo conteúdo.");
elseelse
 
 System.out.println("s1 e s2 NAO possuem o mesmoSystem.out.println("s1 e s2 NAO possuem o mesmo
 
 conteúdo.");conteúdo.");
 
 
//Cria dois novos Strings //Cria dois novos Strings 
String s1 = "George"; String s1 = "George"; 
String s2 = "George";String s2 = "George";
// Nesse momento, s1==s2 é verdadeiro!// Nesse momento, s1==s2 é verdadeiro!
 
 
s1 = s1 + " Bush"; // Cria um novo string e o atribui para s1 = s1 + " Bush"; // Cria um novo string e o atribui para 
s1s1
s2 = s2 + " Bush"; // Cria um novo string e o atribui para s2 = s2 + " Bush"; // Cria um novo string e o atribui para 
s2s2
 
 
ifif (s1 == s2) (s1 == s2) 
 
 System.out.println("s1 e s2 sao os mesmos objetos.");System.out.println("s1 e s2 sao os mesmos objetos.");
elseelse
 
 System.out.println("s1 e s2 NAO sao os mesmos objetos.");System.out.println("s1 e s2 NAO sao os mesmos objetos.");
 
 
ifif (s1.equals(s2)) (s1.equals(s2)) 
 
 System.out.println("s1 e s2 possuem o mesmo conteúdo.");System.out.println("s1 e s2 possuem o mesmo conteúdo.");
elseelse
 
 System.out.println("s1 e s2 NAO possuem o mesmoSystem.out.println("s1 e s2 NAO possuem o mesmo
 
 conteúdo.");conteúdo.");
 
 
10Java Básico
Strings: Comparação e 
comprimento
� boolean equals(umString)
� boolean equalsIgnoreCase(umString)
� int length()
String a = "Sharon Stone";String a = "Sharon Stone";
String b = "sharon stone";String b = "sharon stone";
int int comprimentocomprimento = a.length(); = a.length();
boolean boolean resposta1resposta1 = a.equals(b); = a.equals(b);
boolean boolean resposta2resposta2 = a.equalsIgnoreCase(b); = a.equalsIgnoreCase(b);
boolean boolean resposta3resposta3 = b.equalsIgnoreCase(a); = b.equalsIgnoreCase(a);
Qual o valor das respostas?
11Java Básico
String: tratamento
� String toLowerCase()
� String toUpperCase()
� String trim()
String x = " Bom Dia! ";String x = " Bom Dia! ";
String y = x.toUpperCase();String y = x.toUpperCase();
String z = x.toLowerCase();String z = x.toLowerCase();
String w = x.trim();String w = x.trim();
System.out.println(y);System.out.println(y);
System.out.println(z);System.out.println(z);
System.out.println(w);System.out.println(w);
 
 BOM DIA! BOM DIA! 
 
 bom dia!bom dia!
 
 Bom Dia!Bom Dia!
12Java Básico
Strings: índices e substrings
� int indexOf(umString)
� String substring(int indiceInicio, int indiceFinal)
� char charAt(int indice)
String x = "Pernambuco";String x = "Pernambuco";
String y = x.substring(0,5);String y = x.substring(0,5);
String z = x.substring(6,10);String z = x.substring(6,10);
int indice = x.indexOf("na");int indice = x.indexOf("na");
char letra = x.charAt(5);char letra = x.charAt(5);
System.out.println(x); System.out.println(y);System.out.println(x); System.out.println(y);
System.out.println(z); System.out.println(indice);System.out.println(z); System.out.println(indice);
System.out.println(letra);System.out.println(letra);
Qual é a saída?
Retorna um substring de 
indiceInicio até indiceFinal-1
Índices em Java 
começam a partir de 0
13Java Básico
Arrays
14Java Básico
Arrays
� São tipos especiais de Java. Objetos 
especiais
� Arrays também são tipos referência
� Todos os elementos de um array são do 
mesmo tipo
� Arrays têm tamanho fixo depois de criados
15Java Básico
Declaração e criação de arrays
int[] a = new int[100];int[] a = new int[100];
String[] nomes = new String[200];String[] nomes = new String[200];
int[] a;int[] a;
double[] x;double[] x;
Cliente[] clientes; Cliente[] clientes; 
Primeiro item: a[0]
Último item: a[99]
16Java Básico
Inicialização de Arrays
int[] primosPequenos = {2, 3, 5, 7, 11, int[] primosPequenos = {2, 3, 5, 7, 11, 
13};13};
String[] cores = {"Vermelho", "Azul", "Amarelo"};String[] cores = {"Vermelho", "Azul", "Amarelo"};
doubledouble[][] salarios = new double[5]; salarios = new double[5];
for (int i = 0; i<5; i++) {for (int i = 0; i<5; i++) {
 
 salarios[i] = i * 1000;salarios[i] = i * 1000;
}}
17Java Básico
Arrays multidimensionais
int[][] matriz;int[][] matriz;
int[][] matriz = new int[10][5];int[][] matriz = new int[10][5];
for (int i=0; i<10; i++)for (int i=0; i<10; i++)
 
 for (int j=0; j<5; j++)for (int j=0; j<5; j++)
 
 matriz[i][j] = 100;matriz[i][j] = 100;
long[][] x = { {0,1}, {2,3}, {4,5} };long[][] x = { {0,1}, {2,3}, {4,5} };
Cria um array
de 3 por 2
x[0][0] x[0][1]
x[2][0]
Declaração não 
especifica dimensões
Cria e inicializa 
um array bidimensional18Java Básico
Acesso inválido
� Se é feito acesso a um elemento indefinido 
de um array, é gerada uma exceção:
-IndexOutOfBoundsExceptionIndexOutOfBoundsException
String nomes[] = {"José", "João", "Maria"};String nomes[] = {"José", "João", "Maria"};
System.out.println(nomes[5]);System.out.println(nomes[5]);
Gera um erro em 
tempo de execução
19Java Básico
Coleção de contas com array
� Uma classe que guarda contas num array de 
contas 
− Repositorio ou conjunto de contas
� Métodos para inserção, procura, remoção e 
atualização dos objetos
20Java Básico
RepositorioContasArray
public class RepositorioContasArray {
private Conta[] contas;
private int indice;
private final static int tamCache = 100;
public RepositorioContasArray() {
 indice = 0;
 contas = new Conta[tamCache];
}
 public void inserir(Conta c){
 contas[indice] = c;
 indice = indice + 1;
}
 ...
21Java Básico
RepositorioContasArray
private int procurarIndice(String num) {
 int i = 0;
 int ind = -1;
 boolean achou = false;
 while ((i < indice) && !achou) {
 if ((contas[i].getNumero()).equals(num)) {
ind = i;
achou = true;
 }
 i = i + 1;
 }
 return ind;
}
22Java Básico
RepositorioContasArray
public boolean existe(String num) {
 boolean resp = false;
 int i = this.procurarIndice(num);
 if(i != -1){
resp = true;
 }
 return resp;
}
 
23Java Básico
RepositorioContasArray
public void atualizar(Conta c){
 int i = procurarIndice(c.getNumero());
 if (i != -1) {
 contas[i] = c;
 } else {
 System.out.printlnSystem.out.println("Conta nao encontrada");
 }
}
public Conta procurar(String num){
 Conta c = null;
 if (existe(num)) {
 int i = this.procurarIndice(num);
 c = contas[i];
 } else {
 System.out.printlnSystem.out.println("Conta nao encontrada");
 }
 return c;
}
 
24Java Básico
RepositorioContasArray
public void remover(String num){
 if (existe(num)) {
 int i = this.procurarIndice(num);
 contas[i] = contas[indice - 1];
 contas[indice - 1] = null;
 indice = indice - 1;
 } else {
 System.out.printlnSystem.out.println("Conta nao encontrada");
 }
}

Outros materiais