Vous êtes sur la page 1sur 13

31/10/2008

Java Básico

String
Prof. Jucimar Souza

1 . Introdução

 Processando String e Caracteres


 Class java.lang.String
 Class java.lang.StringBuffer
 Class java.lang.Character
 Class java.util.StringTokenizer

1
31/10/2008

2. Fundamentos de Caracteres e String

 Caracteres
 São os “blocos de construção” fundamentais dos
programas fonte Java.
 Um caractere constante é um valor inteiro representado
como caractere entre aspas simples.
 String
 Série de caracteres tratados como uma só unidade
 Pode incluir letras, digitos e vários caracteres especiais
 Trata-se de um objeto da classe String

03 – Construtores de String

 Classe String
 Fornece nove construtores para inicializar
objetos de diferentes maneiras.

 Verificar exemplo do Deitel Fig. 10.1

2
31/10/2008

04 – Métodos da Classe String

 Length()
 Determina o tamanho de uma string
 nomeDaString.length();
 charAt(posição)
 Retorna o caracter que está nessa posição.
 nomeDaString.charAt(3);
 getChars(posInicial,posFinal,arrayChar,PosIncial)
 Copia os caracteres da String para um array de
caracteres
 nomeDaString.getChars(0,5,arraChar,0);

05 – Comparando Strings

 s1.equals(s2)
 Compara a string s1 com s2 e retorna verdadeiro caso
s1 seja lexicograficamente igual a s2
 s1.equalsIgnoreCase(s2)
 Compara s1 com s2 em caso de igualdade mesmo que
tenha divergência entre maiusculo e minusculo
 s1.compareTo(s2)
 Se s1=s2 devolve 0
 Retorna um número negativo se s1<s2
 Retorna um número positivo se s1>s2

3
31/10/2008

05 – Comparando Strings (Continuação)

 s1.regionMatches(posIni,s2,posIni1,noCar)
 Compara um pedaço de uma string com o pedaço de
outra string
 Onde posIni é o inicio de s1 que vc quer comparar, s2 é
o string a ser comparado, posIni1 é o incio a ser
comparado de s2 e noCar é o numero de caracteres
 s1.regionMatches(true,posIni,s2,posIni1,noCar)
 Quando o 1o. Argumento é true ignora se as diferenças
entre maiúsculas e minúsculas dos caracteres que estão
sendo comparados.

05 – Comparando Strings (Continuação)

 s1.startsWith(chave)
 Compara se a string s1 começa com a chave
especificada
 s1.startsWith(chave,posInicial)
 O mesmo que o anterior só que começa a
testar a partir da posInicial especificada
 s1.endsWith(chave)
 Efetua um teste verificando se a string s1
termina com a chave especificada

4
31/10/2008

06 – Localizando caracteres e Substrings

 Para encontrar um caracteres utilizamos os


método indexOf e lastIndexOf
 s1.indexOf(Caractere) – Retorna com a posição da
primeira ocorrência do caractere na string s1.
 Caso retorne -1 indica que não encontrou o caractere
 S1.indexOf(caractere,posInicial) – Além do caractere
pode-se passar o argumento da posição inicial para
procura
 S1.lastIndexOf(Caractere,[PosInicial]) – Efetua a
pesquisa do Caractere do final para o início à partir da
posInicial informada.
 Caso não encontre retorna -1

07 - Extraindo uma substring

 S1.substring(posInicial,[noCaracteres])
 Retorna com o pedaço da substring s1
começando da posição inicial posInicial com o
numero especificado de caracteres.
 Quando não é informado o noCaracteres o
substring copia a substring s1 a partir da
posInicial até o final.

5
31/10/2008

08 -Concatenando String

 O método concat de String concatena dois


objetos String e retorna um novo objeto
String que contém os caracteres de ambos
os Strings originais.
 String s1 = new String(“CEFET”),
s2 = new String(“/AM”);
 System.out.println(s1.concat(s2));
 O resultado será CEFET/AM

09 - Métodos diversos de String

 replace - substitui um caractere em toda uma string


retornando uma nova string
 S.replace(“carctereOriginal”,”caractereSubstitui)
 toUpperCase - converte uma string p/ Maiúsculo
 S.toUpperCase()
 toLowerCase - converte uma string p/ minúsculo
 S.toLowerCase()

 toString – Converte um objeto para uma representação do


tipo string
 S.toString()
 trim – remove todos os caracteres em branco que
aparecerem no início ou final da String gerando uma nova
string
 S.trim()

6
31/10/2008

09 - Métodos diversos de String (cont)

 charArray – copia os caracteres da string gerando


um charArray
 s.charArray()
 valueOf(tipo) – Converte o tipo informado em
String gerando uma string.
 int i=7;
 boolean b=true;
 String s = new String();
 s = String.valueOf(b);

11 – A classe StringBuffer

 Quando um objeto String é criado o tamanho do


mesmo não pode ser aumentado
 Usado para criar e manipuilar dados dinâmicos de
string
 Pode armazenar caracteres baseado no atributo
capacity
 Usa os operadores + e += para concaternar
 Tem 3 construtores
 Por default quando um StringBuffer é criado ele
acrescenta 16 caracters no atributo capacity

7
31/10/2008

12 – Métodos da Classe StringBuffers

 Método length
 Return o comprimento da StringBuffer
 Método capacity
 Retorna a capacidade do StringBuffer
 Método setLength
 Incrementa ou decrementa o comprimento do
StringBuffer
 Método ensureCapacity
 Atribui a capacidade ao StringBuffer
 Garante que o StringBuffer tenha uma capacidade
minima

12 – Métodos da Classe StringBuffers (Cont)

 Manipulando os caracteres da StringBuffer


 Método charAt
 Retorna o caractere especificado no índice StringBuffer
 Método setCharAt
 Atribui o caractere especificado no índice da StringBuffer
 Método getChars
 Retorna os caracteres especificados da StringBuffer
 Método reverse
 Inverte o conteúdo da StringBuffer

8
31/10/2008

13 – Método Append

 Método append
 Permite adicionar diversos tipos de dados ao
final de uma StringBuffer
 A classe StringBuffers fornece 10 métodos
sobrecarregados para adicionar dados na string

14 – Método para Inserir e Deletar caracteres

 Método insert
 Adiciona dados dentro de um StringBuffer
 Método delete
 Deleta um intervalo de caracteres informados
no argumento do StringBuffer
 Método deleteCharAt
 Delete o caractere especificado no
parâmetro.

9
31/10/2008

15 – Classe Character

 A maioria dos métodos da classe Character


são static, recebem pelo menos um
argumento caractere e fazem teste ou
manipulam caracteres
 Os métodos mais usados são:

15 – Métodos de Character

 Método isDefined
 Se o caractere está definido no conjunto de caracteres Unicode
 Método isDigit
 Determina se o caractere é um digito unicode
 Método isJavaIdentifierStart
 identifica se o caractere pode ser usado como o primeiro caractere
de um identificador Java
 Método isJavaIdentifierPart
 identifica se o caractere pode ser usado como parte de um
identificador Java
 Método isLetter
 Indica se é uma letra
 Método isLowerCase
 Identifica se o caractere está em minúsculo

10
31/10/2008

15 – Métodos de Character (cont)

 Método isLowerCase
 Identifica se o caractere está em minúsculo
 Método toUpperCase
 Converte o caractere para maiúsculo
 Método toLowerCase
 Converte o caractere para minúsculo
 Método digit
 Retorna o valor numerico do caractere especificado na
base
 Método forDigit
 Retorna a representação do caractere especificado na
base

16 – Classe StringTokenizer

 Tokenizer
 Divide uma strings nos tokens que o compõem
 Os tokens são separados entre si por
delimitadores, em geral caracteres de
espaçamento em branco, tabulação, novalinha
ou retorno
 O exemplo a seguir mostra o uso do tokenizer

11
31/10/2008

16 – Exemplo do StringTokenizer

StringTokenizer st = new StringTokenizer(“Isto é um teste");


while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}

O Resultado será:

Isto
é
um
teste

17 - Métodos da StringTokenizer

 Método countTokens()
 Retorna a quantidade de tokens
 Método hasMoreElements()
 Retorna o mesmo valor que o hasMoreTokens()
 Método hasMoreTokens()
 Verifica se tem mais tokens na string corrente
 Método nextToken()
 Retorna o próximo token da StringTokenizer

12
31/10/2008

Exercicio

1. Escreva um programa para ler uma linha de texto e um


caractere de pesquisa. Imprima o total de vezes que o
caractere de pesquisa acontece no texto.
2. Escreva um programa para ler uma linha de texto,
separa a linha em tokens e envia os tokens para saída
na ordem inversa.
3. Escreva um programa para ler uma linha de texto e
determinar o número total de ocorrências de cada letra
do alfabeto. Não faça distinção entre o maiúsculas e
minúsculas. Armazene os totais de cada letra em um
array e imprima o resultado especificando a letra e o
total de ocorrências na linha. Caso a letra não ocorra
informe zero como total de ocorrência.

13