• Nenhum resultado encontrado

Java - Manipulação de String

N/A
N/A
Protected

Academic year: 2021

Share "Java - Manipulação de String"

Copied!
10
0
0

Texto

(1)

Introdução à Programação

Introdução à Programação

Introdução à Programação

Introdução à Programação

Um enfoque orientado a construção de

Um enfoque orientado a construção de

Um enfoque orientado a construção de

Um enfoque orientado a construção de

modelos em programas baseados em objetos

modelos em programas baseados em objetos

modelos em programas baseados em objetos

modelos em programas baseados em objetos

Gustavo Motta

Gustavo Motta

Gustavo Motta

Gustavo Motta

Departamento de Informática - UFPB

Departamento de Informática - UFPB

Departamento de Informática - UFPB

(2)

( (CC))22000088GGuussttaavvooMMoottttaa 22

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

A classe

A classe

A classe

A classe

String

String

String

String

Usada para representação e manipulação seqüências de

Usada para representação e manipulação seqüências de

Usada para representação e manipulação seqüências de

Usada para representação e manipulação seqüências de

caracteres

caracteres

caracteres

caracteres

Inclui métodos úteis para úteis para processamento de textos

Inclui métodos úteis para úteis para processamento de textos

Inclui métodos úteis para úteis para processamento de textos

Inclui métodos úteis para úteis para processamento de textos

 Tamanho do string, i. e., a quantidade de caracteres armazenados

 Tamanho do string, i. e., a quantidade de caracteres armazenados

 Tamanho do string, i. e., a quantidade de caracteres armazenados

 Tamanho do string, i. e., a quantidade de caracteres armazenados

Caractere existente numa dada posição do string

Caractere existente numa dada posição do string

Caractere existente numa dada posição do string

Caractere existente numa dada posição do string

Java”.lenght()Java”.lenght()Java”.lenght()Java”.lenght() 4444

Java”.charAt(0)Java”.charAt(0)Java”.charAt(0)Java”.charAt(0) ‘J’‘J’‘J’‘J’

Java”.charAt(2)Java”.charAt(2)Java”.charAt(2)Java”.charAt(2) ‘v’‘v’‘v’‘v’

Java”.charAt(4)Java”.charAt(4)Java”.charAt(4)Java”.charAt(4) java.lang.StringIndexOutOfBoundExceptionjava.lang.StringIndexOutOfBoundExceptionjava.lang.StringIndexOutOfBoundExceptionjava.lang.StringIndexOutOfBoundException

Java“.toCharArray()Java“.toCharArray()Java“.toCharArray()Java“.toCharArray() {‘J’,‘a’,’v’,’a’}{‘J’,‘a’,’v’,’a’}{‘J’,‘a’,’v’,’a’}{‘J’,‘a’,’v’,’a’}

Construção de instâncias da classe

Construção de instâncias da classe

Construção de instâncias da classe

Construção de instâncias da classe

String

String

String

String

 String curso = “Ciência da Computação”;String curso = “Ciência da Computação”;String curso = “Ciência da Computação”;String curso = “Ciência da Computação”;

 String curso =String curso =String curso =String curso =

new

new

new

new

String(“Ciência da Computação”);String(“Ciência da Computação”);String(“Ciência da Computação”);String(“Ciência da Computação”);

 char[] caracteres = {‘C’,‘i’,’ê’,’n’,’c’,’i’,’a’,’ ’,char[] caracteres = {‘C’,‘i’,’ê’,’n’,’c’,’i’,’a’,’ ’,char[] caracteres = {‘C’,‘i’,’ê’,’n’,’c’,’i’,’a’,’ ’,char[] caracteres = {‘C’,‘i’,’ê’,’n’,’c’,’i’,’a’,’ ’, ’d’,’a’,’ ’,’C’,’o’,’m’,’p’,’u’,’t’,’a’,’ç’,’ã’,’o’};

’d’,’a’,’ ’,’C’,’o’,’m’,’p’,’u’,’t’,’a’,’ç’,’ã’,’o’}; ’d’,’a’,’ ’,’C’,’o’,’m’,’p’,’u’,’t’,’a’,’ç’,’ã’,’o’}; ’d’,’a’,’ ’,’C’,’o’,’m’,’p’,’u’,’t’,’a’,’ç’,’ã’,’o’};

(3)

(

(CC))22000088GGuussttaavvooMMoottttaa 33

8. Manipulação de Strings

8. Manipulação de Strings

A classe

A classe

String

String

Exemplo – Jogo da Forca

Exemplo – Jogo da Forca

1. Inicializa-se um string com palavra a ser adivinhada e cria-se

1. Inicializa-se um string com palavra a ser adivinhada e cria-se

um array de booleanos, cada posição correspondendo a um

um array de booleanos, cada posição correspondendo a um

caractere da palavra, inicializada com

caractere da palavra, inicializada com

false

false

, para indicar que

, para indicar que

nenhum caractere foi adivinhado. Inicializa-se um array de 26

nenhum caractere foi adivinhado. Inicializa-se um array de 26

posições booleanas para indicar as letras que já foram

posições booleanas para indicar as letras que já foram

utilizadas

utilizadas

2. Mostra-se para o usuário quais letras já foram adivinhadas e

2. Mostra-se para o usuário quais letras já foram adivinhadas e

quais letras já foram utilizadas

quais letras já foram utilizadas

3. Pede-se para o usuário entrar com uma letra, que é incluída

3. Pede-se para o usuário entrar com uma letra, que é incluída

no rol das letras usadas e marca-se a letra nas posições

no rol das letras usadas e marca-se a letra nas posições

correspondentes da palavra a ser adivinhada, se pertinente

correspondentes da palavra a ser adivinhada, se pertinente

Caso todas as letras da palavra tenha sido adivinhada, então o

Caso todas as letras da palavra tenha sido adivinhada, então o

(4)

( (CC))22000088GGuussttaavvooMMoottttaa 44

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

A classe

A classe

A classe

A classe

String

String

String

String

Métodos para comparação de string

Métodos para comparação de string

Métodos para comparação de string

Métodos para comparação de string

Strings não devem ser comparados com ==

Strings não devem ser comparados com ==

Strings não devem ser comparados com ==

Strings não devem ser comparados com ==

– por

por

por

por que?

que?

que?

que?

 String curso = “Computação”;String curso = “Computação”;String curso = “Computação”;String curso = “Computação”;

 ““““Computação”.equals(curso)Computação”.equals(curso)Computação”.equals(curso)Computação”.equals(curso)

true

true

true

true

 ““““computação”.equals(curso)computação”.equals(curso)computação”.equals(curso)computação”.equals(curso)

false

false

false

false

 curso.equals(“Computação”)curso.equals(“Computação”)curso.equals(“Computação”)curso.equals(“Computação”)

true

true

true

true

 curso.equals(“Comuptação”)curso.equals(“Comuptação”)curso.equals(“Comuptação”)curso.equals(“Comuptação”) 

false

false

false

false

 curso.equals(curso)curso.equals(curso)curso.equals(curso)curso.equals(curso) 

true

true

true

true

 ““““Computação”.equalsIgnoreCase(curso)Computação”.equalsIgnoreCase(curso)Computação”.equalsIgnoreCase(curso)Computação”.equalsIgnoreCase(curso) 

true

true

true

true

 ““““cOmPutaÇãO”.equalsIgnoreCase(curso)cOmPutaÇãO”.equalsIgnoreCase(curso)cOmPutaÇãO”.equalsIgnoreCase(curso)cOmPutaÇãO”.equalsIgnoreCase(curso) 

true

true

true

true

 curso.equalsIgnoreCase(“cOmPutaÇãO”)curso.equalsIgnoreCase(“cOmPutaÇãO”)curso.equalsIgnoreCase(“cOmPutaÇãO”)curso.equalsIgnoreCase(“cOmPutaÇãO”)

true

true

true

true

 curso.equalsIgnoreCase(“cOmPutaÇã”)curso.equalsIgnoreCase(“cOmPutaÇã”)curso.equalsIgnoreCase(“cOmPutaÇã”)curso.equalsIgnoreCase(“cOmPutaÇã”)

false

false

false

false

(5)

( (CC))22000088GGuussttaavvooMMoottttaa 55

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

A classe

A classe

A classe

A classe

String

String

String

String

Métodos para comparação de strings

Métodos para comparação de strings

Métodos para comparação de strings

Métodos para comparação de strings

Considerando apenas o início ou o fim do

Considerando apenas o início ou o fim do

Considerando apenas o início ou o fim do

Considerando apenas o início ou o fim do string

string

string

string

 String curso = “Computação”;String curso = “Computação”;String curso = “Computação”;String curso = “Computação”;

 curso.startsWith(“Comp”)curso.startsWith(“Comp”)curso.startsWith(“Comp”)curso.startsWith(“Comp”)

true

true

true

true

 curso.startsWith(“comp”)curso.startsWith(“comp”)curso.startsWith(“comp”)curso.startsWith(“comp”)

false

false

false

false

 curso.startsWith(“Computação”)curso.startsWith(“Computação”)curso.startsWith(“Computação”)curso.startsWith(“Computação”)

true

true

true

true

 curso.startsWith(“Computaçãoo”)curso.startsWith(“Computaçãoo”)curso.startsWith(“Computaçãoo”)curso.startsWith(“Computaçãoo”) 

false

false

false

false

 curso.startsWith(“”)curso.startsWith(“”)curso.startsWith(“”)curso.startsWith(“”) 

true

true

true

true

 curso.endsWith(“ação”)curso.endsWith(“ação”)curso.endsWith(“ação”)curso.endsWith(“ação”) 

true

true

true

true

 curso.endsWith(“Ação”)curso.endsWith(“Ação”)curso.endsWith(“Ação”)curso.endsWith(“Ação”) 

false

false

false

false

 curso.endsWith(“Computação”)curso.endsWith(“Computação”)curso.endsWith(“Computação”)curso.endsWith(“Computação”)

true

true

true

true

 curso.endsWith(“Computaçãoo”)curso.endsWith(“Computaçãoo”)curso.endsWith(“Computaçãoo”)curso.endsWith(“Computaçãoo”)

false

false

false

false

(6)

( (CC))22000088GGuussttaavvooMMoottttaa 66

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

A classe

A classe

A classe

A classe

String

String

String

String

Métodos para procura de substrings

Métodos para procura de substrings

Métodos para procura de substrings

Métodos para procura de substrings

Verificar se um string contém outro string

Verificar se um string contém outro string

Verificar se um string contém outro string

Verificar se um string contém outro string

 String curso = “Computação”;String curso = “Computação”;String curso = “Computação”;String curso = “Computação”;

 curso.indexOf(“ação”)curso.indexOf(“ação”)curso.indexOf(“ação”)curso.indexOf(“ação”) 

6

6

6

6

 curso.indexOf(“o”)curso.indexOf(“o”)curso.indexOf(“o”)curso.indexOf(“o”) 

1

1

1

1

 curso.indexOf(“uta”)curso.indexOf(“uta”)curso.indexOf(“uta”)curso.indexOf(“uta”) 

4

4

4

4

 curso.indexOf(“cação”)curso.indexOf(“cação”)curso.indexOf(“cação”)curso.indexOf(“cação”) 

-1

-1

-1

-1

 curso.indexOf(“”)curso.indexOf(“”)curso.indexOf(“”)curso.indexOf(“”)

0

0

0

0

(7)

( (CC))22000088GGuussttaavvooMMoottttaa 77

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

A classe

A classe

A classe

A classe

String

String

String

String

Métodos para transformação de strings

Métodos para transformação de strings

Métodos para transformação de strings

Métodos para transformação de strings

String em Java são imutáveis

String em Java são imutáveis

String em Java são imutáveis

String em Java são imutáveis

A “modificação” de um string é, de fato, a criação de um novo

A “modificação” de um string é, de fato, a criação de um novo

A “modificação” de um string é, de fato, a criação de um novo

A “modificação” de um string é, de fato, a criação de um novo

string, numa versão transformado do string anterior

string, numa versão transformado do string anterior

string, numa versão transformado do string anterior

string, numa versão transformado do string anterior

String curso = “Computação ”;String curso = “Computação ”;String curso = “Computação ”;String curso = “Computação ”;

curso = “ Ciência da ”.concat(curso);curso = “ Ciência da ”.concat(curso);curso = “ Ciência da ”.concat(curso);curso = “ Ciência da ”.concat(curso);

curso.toLowerCase()curso.toLowerCase()curso.toLowerCase()curso.toLowerCase()

“ ciência da computação ”

“ ciência da computação ”

“ ciência da computação ”

“ ciência da computação ”

curso.toUpperCase()curso.toUpperCase()curso.toUpperCase()curso.toUpperCase()

“ CIÊNCIA DA COMPUTAÇÃO ”

“ CIÊNCIA DA COMPUTAÇÃO ”

“ CIÊNCIA DA COMPUTAÇÃO ”

“ CIÊNCIA DA COMPUTAÇÃO ”

curso.trim()curso.trim()curso.trim()curso.trim()

“Ciência da Computação”

“Ciência da Computação”

“Ciência da Computação”

“Ciência da Computação”

curso.replace(‘ ’, ‘-’)curso.replace(‘ ’, ‘-’)curso.replace(‘ ’, ‘-’)curso.replace(‘ ’, ‘-’)

“-Ciência-da-Computação-”

“-Ciência-da-Computação-”

“-Ciência-da-Computação-”

“-Ciência-da-Computação-”

curso.substring(curso.substring(curso.substring(curso.substring(

12

12

12

12

))))

“Computação ”

“Computação ”

“Computação ”

“Computação ”

curso.substring(curso.substring(curso.substring(curso.substring(

12, 16

12, 16

12, 16

12, 16

))))

“Comp”

“Comp”

“Comp”

“Comp”

curso.substring(curso.substring(curso.substring(curso.substring(

16, 12

16, 12

16, 12

16, 12

)))) java.lang.Strijava.lang.Strijava.lang.Strjava.lang.StringIndexOutOfBingIndexOutOfBoundsExceptionngIndexOutOfBongIndexOutOfBooundsExceptionundsExceptionundsException

► curso.substring(curso.substring(curso.substring(curso.substring(16,16,16,16, curso.length())curso.length())curso.length())curso.length()) java.lang.StringIndexOutOfBoundsExceptionjava.lang.StringIndexOutOfBoundsExceptionjava.lang.StringIndexOutOfBoundsExceptionjava.lang.StringIndexOutOfBoundsException

Os métodos de de processamento de string podem ser

Os métodos de de processamento de string podem ser combinados

combinados

Os métodos de de processamento de string podem ser

Os métodos de de processamento de string podem ser

combinados

combinados

curso.toUpperCase().trim().substring(

curso.toUpperCase().trim().substring(

curso.toUpperCase().trim().substring(

(8)

( (CC))22000088GGuussttaavvooMMoottttaa 88

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

A classe

A classe

A classe

A classe

String

String

String

String

Métodos para conversão de tipos com

Métodos para conversão de tipos com

Métodos para conversão de tipos com strings

Métodos para conversão de tipos com strings

strings

strings

Converte valores de tipos nativos para stri

Converte valores de tipos nativos para stri

Converte valores de tipos nativos para stri

Converte valores de tipos nativos para strings e vice-versa

ngs e vice-versa

ngs e vice-versa

ngs e vice-versa

 Tipos nativos para String

 Tipos nativos para String

 Tipos nativos para String

 Tipos nativos para String

String.valueOf(10)String.valueOf(10)String.valueOf(10)String.valueOf(10) “10”“10”“10”“10”

String.valueOf(15.4)String.valueOf(15.4)String.valueOf(15.4)String.valueOf(15.4) “15.4”“15.4”“15.4”“15.4”

String.valueOf(‘v’)String.valueOf(‘v’)String.valueOf(‘v’)String.valueOf(‘v’) “v”“v”“v”“v”

char

char

char

char

[] carac = {'J', 'a', 'v', 'a'};

[] carac = {'J', 'a', 'v', 'a'};

[] carac = {'J', 'a', 'v', 'a'};

[] carac = {'J', 'a', 'v', 'a'};

String.valueOf(carac)

String.valueOf(carac)

String.valueOf(carac)

String.valueOf(carac)



“Java”;

“Java”;

“Java”;

“Java”;

String para tipos Nativos

String para tipos Nativos

String para tipos Nativos

String para tipos Nativos

Interger.parseInt(“10”)Interger.parseInt(“10”)Interger.parseInt(“10”)Interger.parseInt(“10”) 10101010

Float.parseFloat(“3.2383”)Float.parseFloat(“3.2383”)Float.parseFloat(“3.2383”)Float.parseFloat(“3.2383”) 3.23833.23833.23833.2383

Integer.parseInt(“10.33”)Integer.parseInt(“10.33”)Integer.parseInt(“10.33”)Integer.parseInt(“10.33”)

java.lang.NumberFormatException java.lang.NumberFormatException java.lang.NumberFormatException java.lang.NumberFormatException

(9)

( (CC))22000088GGuussttaavvooMMoottttaa 99

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

A classe

A classe

A classe

A classe

StringBuffer

StringBuffer

StringBuffer

StringBuffer

Permite criação e manipulação de strings modificáveis

Permite criação e manipulação de strings modificáveis

Permite criação e manipulação de strings modificáveis

Permite criação e manipulação de strings modificáveis

Lembre que instância da classe

Lembre que instância da classe

Lembre que instância da classe

Lembre que instância da classe

String

String

String

String

são imutáveis

são imutáveis

são imutáveis

são imutáveis

A criação de instâncias de

A criação de instâncias de

A criação de instâncias de

A criação de instâncias de

StringBuffer

StringBuffer

StringBuffer

StringBuffer

é mais custosa

é mais custosa

é mais custosa

é mais custosa

que a criação de instâncias da classe

que a criação de instâncias da classe

que a criação de instâncias da classe

que a criação de instâncias da classe

String

String

String

String

, porém a

, porém a

, porém a

, porém a

manipulação é bem mais eficiente

manipulação é bem mais eficiente

manipulação é bem mais eficiente

manipulação é bem mais eficiente

Instâncias da classe

Instâncias da classe

Instâncias da classe

Instâncias da classe

StringBuffer

StringBuffer

StringBuffer

StringBuffer

têm duas variáveis de

têm duas variáveis de

têm duas variáveis de

têm duas variáveis de

instância do tipo inteiro associadas

instância do tipo inteiro associadas

instância do tipo inteiro associadas

instância do tipo inteiro associadas

Uma para indicar o

Uma para indicar o

Uma para indicar o

Uma para indicar o

comprimento

comprimento

comprimento

comprimento

do string, isto é, a quantidade

do string, isto é, a quantidade

do string, isto é, a quantidade

do string, isto é, a quantidade

de caracteres armazenados num dados momento

de caracteres armazenados num dados momento

de caracteres armazenados num dados momento

de caracteres armazenados num dados momento

Outra para indicar a capacidade, que corresponde ao número

Outra para indicar a capacidade, que corresponde ao número

Outra para indicar a capacidade, que corresponde ao número

Outra para indicar a capacidade, que corresponde ao número

máximo de caracteres que podem ser

máximo de caracteres que podem ser armazenados pela

armazenados pela

máximo de caracteres que podem ser

máximo de caracteres que podem ser

armazenados pela

armazenados pela

instância num dado momento

instância num dado momento

instância num dado momento

instância num dado momento

(10)

( (CC))22000088GGuussttaavvooMMoottttaa 1100

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

8. Manipulação de Strings

A classe

A classe

A classe

A classe

StringBuffer

StringBuffer

StringBuffer

StringBuffer

StringBuffer str =

StringBuffer str =

StringBuffer str =

StringBuffer str =

new

new

new

new

StringBuffer(

StringBuffer(

StringBuffer(

StringBuffer(

50

50);

50

50

);

);

);

StringBuffer str =

StringBuffer str =

StringBuffer str =

StringBuffer str =

new

new

new

new

StringBuffer(

StringBuffer(

StringBuffer(

StringBuffer(

“Java”

“Java”

“Java”

“Java”

);

);

);

);

str.append(‘ ’); str.append(“Language ”);

str.append(‘ ’); str.append(“Language ”);

str.append(‘ ’); str.append(“Language ”);

str.append(‘ ’); str.append(“Language ”);

str.append(

str.append(

str.append(

str.append(

10

10);

10

10

);

);

);

System.out.println(str);

System.out.println(str);

System.out.println(str);

System.out.println(str);

Java Language 10

Java Language 10

Java Language 10

Java Language 10

str.insert(

str.insert(

str.insert(

str.insert(

14

14, “é ”);

14

14

, “é ”);

, “é ”);

, “é ”);

System.out.println(str);

System.out.println(str);

System.out.println(str);

System.out.println(str);

Java Language é 10

Java Language é 10

Java Language é 10

Java Language é 10

str.delete(

str.delete(

str.delete(

str.delete(

5

5,

5

5

,

,

,

13

13);

13

13

);

);

);

System.out.println(str);

System.out.println(str);

System.out.println(str);

System.out.println(str);

Java é 10

Java é 10

Java é 10

Java é 10

Referências

Documentos relacionados

Cidades Médias: agentes econômicos Cidades Médias: agentes econômicos Cidades Médias: agentes econômicos,  Cidades Médias: agentes econômicos,  reestruturação urbana

Frequência e determinantes do aleitamento materno em municípios do Estado de São Paulo Realizou-se estudo com o objetivo de descrever a situação da amamentação e

A primeira seção sintetiza a teoria sobre federalismo fiscal e sua relação com equidade territorial na execução de políticas sociais A segunda seção apresenta

A alta incidência de disfagia observada neste estudo, que avaliou pacientes com amplo espectro de gravidade e em diferentes fases de recuperação, ressalta a importância de

20 empresas receberam 68,2% do valor total de multas, representadas por 61,4% da quantidade dos processos de recursos publicados. As demais 315 empresas ficaram com 31,8% do valor

Isto provavelmente ocorre devido ao fato de a simulação considerar a quantidade de chamadas perdidas pelo sistema em estudo para realizar tal cálculo e a calculadora

É nesse contexto que se insere este trabalho, cujo objetivo é verificar, por meio da aplicação de Análise Envoltória de Dados (DEA), a relação entre capacidade de investimento

Ferrari & Cribari-Neto (2004) propõem o modelo de regressão beta para modelar variáveis distribuídas de forma contínua no intervalo (0,1). Porém, dados na forma de taxa