• Nenhum resultado encontrado

Programação Orientada a Objetos em Java. Manipulação de String

N/A
N/A
Protected

Academic year: 2021

Share "Programação Orientada a Objetos em Java. Manipulação de String"

Copied!
23
0
0

Texto

(1)

Programação Orientada a Objetos em Java

Manipulação de String

(2)

Concatenando Strings

Usando o operador ‘+’

String h = “Hello”;

String helloWorld = h + “ World!!!”;

Usando a função concat()

String h = “Hello”;

String helloWorld = h.concat(“ World!!!”);

(3)

String

Java possui uma biblioteca que contém a classe String (java.lang.String).

Portanto, em Java String não é um tipo primitivo.

Em Java, strings são implementadas como sequências de valores char, que são valores de representação Unicode.

Ex. de strings:

String e = “” ; //string vazia

String hello = “hello!!” ;

(4)

Comparando Strings

Método equals, retorna true se a comparação for verdadeira e false caso contrario.

"Hello".equals(greeting)

// false

Método equalsIgnoreCase, não faz distinção entre letra maiúscula e minúscula.

"Hello".equalsIgnoreCase("hello")

// true

(5)

Comparando Strings

Método compareTo, compara valores

numéricos dos caracteres que compõem a string.

Retorna um número negativo caso a string seja menor, 0 se igual, e um número positivo caso a string atual seja maior que a comparada.

“aaaa". compareTo(“bbbb")

// valor de retorno é negativo

(6)

Comparando Strings

Método regionMatches, compara partes de dois objetos strings.

string_0.regionMatches(indice_0, string_1, indice_1, quantidadeDeCaracter);

// retorna true se forem iguais

string_0.regionMatches(true, indice_0, string_1, indice_1, quantidadeDeCaracter);

// retorna true se forem iguais independente de

letras maiúsculas e minúsculas

(7)

Comparando Strings

Método startsWith, determina se uma string inicia com os caracteres da string passada no argumento.

“hello”.startsWith(“hel”); // true

“hello”.startsWith(“ll”, 2); // true /*índice de inicio da comparação*/

Método endsWith, determina se uma string termina com os caracteres da string passada no argumento.

“hello”.endsWith(“llo”); // true

(8)

Localizando caracter e substrings em Strings

Retorna o índice da primeira ocorrência do caracter ou substring, caso contrário retorna -1;

int indexOf(String str);

int indexOf(String str, int indice_inicio);

int indexOf(int cp);

int indexOf(int cp, int indice_inicio);

Retorna o índice da ultima ocorrência do caracter ou substring, caso contrário retorna -1;

int lastIndexOf(String str);

int lastIndexOf(String str, int indice_inicio);

int lastindexOf(int cp);

int lastindexOf(int cp, int indice_inicio);

(9)

Extraindo substring a partir de Strings

Método substring, permite a criação de um novo objeto String a partir de um objeto String existente.

Recebe um argumento

letras.substring(indice_inicial); // índice inicial a partir do qual os caracteres vão ser copiados

letras.substring(indice_inicial, indice_final); //

índice existente alem do ultimo caracter a ser

copiado.

(10)

Métodos diversos

String replace(CharSequence oldString, CharSequence newString) ; // substitui o valor da string antiga pela nova

String toLowerCase() ; // retorna uma string com todos os caracteres minúsculos

String toUpperCase() ; // retorna uma string com todos os caracteres maiúsculos

String trim() ; // tira espaços em branco

int length(); // retorna o tamanho da string

(11)

Métodos diversos

char charAt(int index); // retorna o caracter localizado naquele índice

int codePointAt(int index) ; // retorna o valor correspondente ao caracter

localizado naquele índice

(12)

Método valueOf

O método valueOf transforma o valor passado em um objeto string.

String.valueOf( charArray );

String.valueOf( charArray, indice, quantidade );

Existem outras sete versões, que

recebem argumentos do tipo boolean,

char, int, long, float, double e Object.

(13)

Método intern

O método intern retorna uma referência da string que chamou o método.

String s = s1.intern();

If ( s == s1 )

// true;

(14)

String Tokenizers

Ao ler uma linha da entrada, nós pegamos uma única string longa. Quando queremos dividi-la em strings individuais usamos a classe

StringTokenizer tokenizer = new StringTokenizer(line, "|");

Construtores

StringTokenizer(String str, String delim)

StringTokenizer(String str) // delimitador default "

\t\n\r" ;

(15)

String Tokenizers

Se não for especificado um grupo de

delimitadores, os delimitadores default são "

\t\n\r", que são, todos caracteres em branco (espaço, tab, nova linha, e ENTER);

while (tokenizer.hasMoreTokens()) {

String token = tokenizer.nextToken();

process token

}

(16)

String Tokenizers

Métodos

boolean hasMoreTokens() // retorna true se existe mais tokens

String nextToken() // retorna próximo

token; lança um NoSuchElementException se não houver mais tokens.

String nextToken(String delim) // o novo grupo de delimitador é usado

int countTokens() // retorna o número de

tokens

(17)

StringBuffer

String mutável.

StringBuffer sb = new StringBuffer(“Hello”);

System.out.println(“buffer = ”+ sb);

System.out.println(“tamanho = ”+

sb.length()); // tamanho = 5

System.out.println(“capacidade =”+

sb.capacity()); // capacidade = 5 + 16

(18)

StringBuffer

ensureCapacity

StringBuffer sb = new StringBuffer(“Hello”);

System.out.println(“buffer = ”+ sb);

System.out.println(“tamanho = ”+ sb.length());

sb.ensureCapacity(40);

System.out.println(“capacidade =”+ sb.capacity()); //

capacidade = 44 (21 * 2 + 2)

(19)

StringBuffer

setLength

StringBuffer sb = new StringBuffer(“Hello”);

sb.setLength(3);

System.out.println(“buffer = ”+ sb);

System.out.println(“tamanho = ”+

sb.length()); // tamanho = 3

System.out.println(“capacidade =”+

sb.capacity()); // capacidade = 21

(20)

StringBuffer

setCharAt

StringBuffer sb = new StringBuffer(“Hello”);

sb.setCharAt(1,’a’);

System.out.println(“buffer = ”+ sb); // Hallo

System.out.println(“tamanho = ”+

sb.length()); // tamanho = 5

System.out.println(“capacidade =”+

sb.capacity()); // capacidade = 21

(21)

StringBuffer

append

StringBuffer sb = new StringBuffer(“Hello”);

sb.append(“ World!”);

System.out.println(“buffer = ”+ sb); // Hello World!

System.out.println(“tamanho = ”+

sb.length()); // tamanho = 12

System.out.println(“capacidade =”+

sb.capacity()); // capacidade = 21

(22)

StringBuffer

insert

StringBuffer sb = new StringBuffer(“Hello World!”);

sb.insert(6,“ there ”);

System.out.println(“buffer = ”+ sb);

// Hello there World!

System.out.println(“tamanho = ”+ sb.length()); // 20

System.out.println(“capacidade =”+ sb.capacity()); //

29

(23)

StringBuffer

insert

StringBuffer sb = new StringBuffer(“Hello World!”);

sb.deleteCharAt(12);

sb.delete (2, 5);

System.out.println(“buffer = ”+ sb);

// He World

System.out.println(“tamanho = ”+ sb.length()); // 9

System.out.println(“capacidade =”+ sb.capacity()); //

29

Referências

Documentos relacionados

Ao avaliar a intensidade da dor lombar, por meio da Escala de Dor Autopercebida, verifi cou-se redução de 2,9 pontos entre os valores referidos antes e depois da cinesioterapia

Se tivesse tudo instalado, nós não teríamos mais esse problema, iria direto para a rede de esgoto (Morador Local de Pirangi do Norte, comunicação pessoal, 11 de dezembro de

010523 DIANA NEGRAO CAVALCANTI 14/05/1970 INSCRIÇÃO OK. 262721 JOSE CARLOS N AZEVEDO 03/02/1966

 A dissonante sétima maior que forma o acorde com 7+ é a nota sete da escala das notas dos acordes maiores.. Outras aplicações desses acordes são em efeitos com outros

5 Busca en el text anterior i copia un grup nominal de cada tipus... l’ús de

No presente estudo 75 pacientes eram portadores de prótese dentária, porém 14 apresentaram quadro clínico compatível com queilite angular, totalizando 19%; um (4%) apresentou a

Com quatro paus e quatro ouros a abertura normalmente é em 1 (tirando casos em que a diferença de qualidade dos naipes sugira fazer a opção contrária), pelo que o abridor em

As atividades a seguir fazem parte de um conjunto de dez tarefas que foram trabalhadas com os sujeitos da pesquisa, alunos de uma turma de 9º ano do ensino