Você está na página 1de 25

Programao Modular Sistemas de Informao PUC Minas Arcos Bruno Mayer S.

Castro 2011/2

Usando Strings e Arrays


Ao trmino deste captulo voc estar apto a:
Criar strings em Java Realizando Operaes em Strings Converter primitivos para Strings e vice-versa

Manipular strings usando a classe StringBuffer


Criar arrays de elementos

Strings
Strings so usadas extensivamente em programas Java o que fez

com que a API do Java disponibiliza-se a classe String para ajudar na manipulao deste tipo de dado. Ela faz parte do pacote java.lang, o qual automaticamente importado em todas as classes java.
A classe String representa uma string imutvel.

Se voc quer modificar o contedo de uma String, voc deve usar

a classe StringBuffer.

Strings
Existem vrias maneiras de se criar uma String: Atribuindo uma constante string a uma varivel String categoria = Ao; Concatenando outras strings String nome = primeiroNome + + ultimoNome; Usando o construtor

String nome = new String(Joe Smith);

Strings
Java utiliza o operador + ou mtodo concat() para concatenao

de strings

String nome = San Wong; String nome = Sam + Wong; String nome = Sam .concat(Wong);

possvel tambm concatenar qualquer tipo primitivo com uma

string, pois este implicitamente convertido para uma.


int idade = 25; System.out.println(Idade = + idade);

Operaes em strings
A classe String disponibiliza inmeros mtodos para realizarmos

operaes sobre ela. Todas as operaes no modificam a string original. Alguns delas so:
Retornando o tamanho da string: int length()
Encontrando um caracter numa posio especfica: char charAt(int

index)

Operaes em strings
Retornando uma substring: String substring (int

beginIndex, int endIndex)

Operaes em strings
Encontrando o ndice de uma substring:
String indexOf (String) retorna o ndice de uma string

especificada. String lastIndexOf (String) retorna a ltima ocorrncia da string especificada.

Operaes em strings
Comparando Strings : boolean equals()

String passwd = connection.getPassword(); if (passwd.equals(fgHPUw)) ....


boolean equalsIgnoreCase()

String categoria = Comedia; if (categoria.equalsIgnoreCase(Drama))

Convertendo primitivos para Strings e vice-versa


A classe String possui um mtodo esttico chamado valueOf() que

retorna uma representao em string de um tipo primitivo. Existe uma verso do mtodo para cada tipo primitivo. String sete = String.valueOf(7); String umPontoZero = String.valueOf(1.0f);

Convertendo primitivos para Strings e vice-versa


possvel tambm converter uma string para um tipo primitivo

atravs das classes de wrapper Para cada tipo primitivo Java prov uma classe de wrapper correspondente, a qual permite que um tipo primitivo seja tratado como um objeto. Cada classe de wrapper disponibiliza um mtodo esttico para converter uma String para o tipo primitivo correspondente. Exemplo : int valor = Integer.parseInt(10); float valor = Float.parseFloat(10.00);

A classe StringBuffer
A classe StringBuffer representa strings que podem ser

modificadas em tempo de execuo. String texto = Tinha uma pedra; texto = texto + no meio do caminho; texto = texto + , no meio do caminho tinha uma pedra.
Cada vez que uma atribuio feita, uma nova varivel criada na memria com o novo texto e a varivel anterior descartada.

A classe StringBuffer
Esta abordagem para modificar o texto de uma String no a mais

eficiente, tendo em vista que novas variveis so criadas em cada atribuio. O ideal utilizar a classe StringBuffer e seu mtodo append: StringBuffer texto = new StringBuffer(Tinha uma pedra); texto.append( no meio do caminho); texto.append(, no meio do caminho tinha uma pedra.);

A classe StringBuffer
Esta abordagem para modificar o texto de uma String no a mais

eficiente, tendo em vista que novas variveis so criadas em cada atribuio. O ideal utilizar a classe StringBuffer e seu mtodo append: StringBuffer texto = new StringBuffer(Tinha uma pedra); texto.append( no meio do caminho); texto.append(, no meio do caminho tinha uma pedra.);

A classe StringBuffer
Esta abordagem para modificar o texto de uma String no a mais

eficiente, tendo em vista que novas variveis so criadas em cada atribuio. O ideal utilizar a classe StringBuffer e seu mtodo append: StringBuffer texto = new StringBuffer(Tinha uma pedra); texto.append( no meio do caminho); texto.append(, no meio do caminho tinha uma pedra.);

Arrays
Um array til quando queremos agrupar objetos do mesmo tipo. Possui as seguintes caractersticas:
Todos os elementos devem ser do mesmo tipo Cada elemento pode armazenar um nico item Os itens podem ser primitivos ou referncias a objetos O tamanho do array fixado quando de sua criao

Arrays de Primitivos
Um array deve ser criado com o uso do operador new e seu

tamanho deve ser fixado dentro dos colchetes.

Arrays de Primitivos
Quando um array de primitivos criado, seus elementos so

inicializados automaticamente com valores padro da seguinte forma:


char : \u0000 (Valor Unicode para 0000)
byte, short, int e long : 0 boolean : false

float e double: 0.0

Inicializando os elementos do array


Atribuindo valores para cada elemento do array:

Inicializando os elementos do array


Usando inicializadores:
No h a necessidade de usar o operador new nem de definir o tamanho do vetor.

Arrays de Objetos

Arrays multidimencionais
Java suporta arrays multidimencionais, isto , arrays de arrays.

Arrays e Excees
Um dos motivos de dizermos que Java uma linguagem robusta e

segura devido a forma de como ela trata de acessos ilegais em arrays.

Arrays e Excees
ArrayIndexOutOfBoundsException, que ocorre quando

tenta-se acessar uma posio invlida do array:

Arrays e Excees
NullPointerException, ocorre quando tenta-se acessar um

elemento que ainda no foi inicializado

Você também pode gostar