Você está na página 1de 18

Curso de POO usando JAVA UPE / POLI / Engenharia de Computao

1 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java



Orientao a objetos com Java
Strings e Arrays em Java
Byron Leite
byron.leite@gmail.com
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
2 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Agenda Geral
Parte 1
Introduo ao Java
Java Estruturado
Introduo a OO
Parte 2
Classes, objetos, atributos e mtodos
Referncias, variveis e objetos
Strings e Arrays
Parte 3
Herana
Converses implcitas
Converses explcitas casting e instanceof


Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
3 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Strings
So seqncias de caracteres
No h um tipo primitivo para Strings em
Java
Em Java, Strings so objetos
String mensagem = Operao concluda com sucesso;
Aqui Java cria um novo objeto
do tipo String e o armazena em na
varivel mensagem
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
4 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Concatenao de Strings
Operador + usado para concatenao
String nome = "George";
String sobrenome = "Bush";
String nomeCompleto = nome + " " + sobrenome;

int anos = 10;
double rendimento = 1270.49;

String s = "Em " + anos + " anos o " +
"rendimento ser de " + rendimento;

System.out.println(s);
A converso para
String feita
automaticamente
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
5 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Igualdade de Strings
Para testar se dois Strings so iguais, no deve
ser usado ==
Deve-se usar o mtodo equals:
Mtodo alternativo: equalsIgnoreCase()
s1 == s2
s1.equals(s2)
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
6 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Igualdade de Strings
//Cria dois novos Strings
String s1 = "George";
String s2 = "George";

// Nesse momento, s1==s2 verdadeiro!
s1 = s1 + " Bush"; // Cria um novo string e o atribui para s1
s2 = s2 + " Bush"; // Cria um novo string e o atribui para s2

if (s1 == s2) {
System.out.println("s1 e s2 sao os mesmos objetos.");
} else {
System.out.println("s1 e s2 NAO sao os mesmos objetos.");
}
if (s1.equals(s2)) {
System.out.println("s1 e s2 sao iguais.");
} else {
System.out.println("s1 e s2 NAO sao iguais.");
}
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
7 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Strings so tipos de referncia
String s1 = "George";
String s2 = "George";

s1 = s1 + " Bush";
s2 = s2 + " Bush";
s1
s2
G e o r g e
s1
s2
G e o r g e
G e o r g e
B u s h
G e o r g e
B u s h
Ao manipular um String,
um novo String gerado!
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
8 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Strings: Comparao e comprimento
boolean equals(umString)
boolean equalsIgnoreCase(umString)
int length()
String a = "Sharon Stone";
String b = "sharon stone";
int comprimento = a.length();
boolean resposta1 = a.equals(b);
boolean resposta2 = a.equalsIgnoreCase(b);
boolean resposta3 = b.equalsIgnoreCase(a);
Qual o valor das respostas?
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
9 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

String: tratamento
String toLowerCase()
String toUpperCase()
String trim()
String x = " Bom Dia! ";
String y = x.toUpperCase();
String z = x.toLowerCase();
String w = x.trim();
System.out.println(y);
System.out.println(z);
System.out.println(w);

BOM DIA!
bom dia!
Bom Dia!

Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
10 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Strings: ndices e substrings
int indexOf(umString)
String substring(int indiceInicio, int indiceFinal)
String substring(int indiceInicio)
char charAt(int indice)
String x = "Pernambuco";
String y = x.substring(0,5);
String z = x.substring(6);
int indice = x.indexOf("na");
char letra = x.charAt(5);
System.out.println(x); System.out.println(y);
System.out.println(z); System.out.println(indice);
System.out.println(letra);

Qual a sada?
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
11 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

String x Tipos Primitivos
Em Java existem classes que encapsulam
tipos primitivos (wrappers)
Float, Integer, Long, Character, Double, Boolean
Estas classes contm mtodos teis para
transformar uma String num tipo primitivo.
Integer.parseInt(s)
Double.parseDouble(s)
Boolean.parseBoolean(s)
Para transformar de tipos primitivos para
String usa-se:
String.valueOf(x)
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
12 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Arrays em Java
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
13 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Arrays
So tipos especiais de Java. Muito
parecidos com objetos
Arrays tambm so tipos de referncia
Todos os elementos de um array so do
mesmo tipo
Arrays tm tamanho fixo depois de criados
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
14 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Declarao e criao de arrays
int[] a = new int[100];
String[] nomes = new String[200];
int[] a;
double[] x;
Cliente[] clientes;
Primeiro item: a[0]
ltimo item: a[99]
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
15 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Inicializao de Arrays
int[] primosPequenos = {2, 3, 5, 7, 11, 13};

String[] cores =
{"Vermelho", "Azul", "Amarelo"};

double[] salarios = new double[5];
for (int i = 0; i<5; i++) {
salarios[i] = i * 1000;
}
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
16 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Acesso invlido
Se feito acesso a um elemento
indefinido de um array, gerada uma
exceo:
ArrayIndexOutOfBoundsException
String nomes[] = {"Jos", "Joo", "Maria"};
System.out.println(nomes[5]);
Gera um erro em
tempo de execuo
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
17 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Arrays de Objetos
Armazenam referncias a objetos de um
determinado tipo
Devem ser alocados da mesmo forma que
arrays de tipos primitivos
Quando no atribudo explicitamente, o
valor de cada i-simo elemento do array
inicializado com null.
Curso de POO usando JAVA UPE / POLI / Engenharia de Computao
18 quinta-feira, 10 de abril de 2014 Strings e Arrays em Java

Arrays bidimensionais
So arrays de arrays
Guardam objetos que tambm so arrays
Acessados da mesma forma que arrays
convencionais
Ex: int[][] square = {{0,0},{0,1},{1,0},{1,1}};
square[1] = {0,1}
square[1][0] = 0
square[1][1] = 1;

Você também pode gostar