Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetos
Professor Vinícius Bortolini
Mapa Conceitual da Aula
Fundamentos da Linguagem | 2
Objetivos
Fundamentos da Linguagem | 3
String
A classe String faz parte do pacote java.lang e não precisa ser importada
explicitamente.
A classe String integra a API básica do Java, e por ser uma classe de uso
fundamental na criação de programas possui alguns privilégios
típicos dos tipos primitivos (por exemplo, o operador de
concatenação de String), que nenhuma outra classe tem.
Fundamentos da Linguagem | 4
String
Exemplo:
String nome = "Java";
Exemplo:
String nome = new String( "Java" );
Fundamentos da Linguagem | 5
Tamanho de uma String
Exemplo:
String texto = "teste";
System.out.println( texto.length() ); //imprime o valor 5
Fundamentos da Linguagem | 6
Malhação Cerebral
MC6_01. Faça uma aplicação Java que receba uma palavra do usuário e
apresente esta palavra e o total de caracteres contidos nela.
MC6_02. Faça uma aplicação Java que receba do usuário uma frase.
Identifique o tamanho da frase e imprima esta frase tantas vezes quanto
for a quantidade de caracteres.
Ex: para a frase: “zé do povo”, ela deverá aparecer 10 vezes na tela, pois
tem 10 caracteres (incluindo espaços).
Fundamentos da Linguagem | 7
Comparando valores de objetos String
Fundamentos da Linguagem | 8
String - Exemplo 3
Fundamentos da Linguagem | 9
Comparando valores de objetos String
Fundamentos da Linguagem | 10
String - Exemplo 4
public class ExemploString4 {
public static void main( String[] args ) {
String nome1 = args[0]; String nome2 = args[1]; String resposta = "";
if ( nome1.equals(nome2) )
resposta += nome1 + " é igual a " + nome2 + " - método equals()\n";
else
resposta += nome1 + " é diferente de " + nome2 + " - método equals()\n";
if ( nome1.equalsIgnoreCase(nome2) )
resposta += nome1 + " é igual a " + nome2 + " - método equalsIgnoreCase()\n";
else
resposta += nome1 + " é diferente de " + nome2 + " - método equalsIgnoreCase()\n";
if ( nome1.compareTo(nome2) == 0 )
resposta += nome1 + " é igual a " + nome2 + " - método compareTo\n";
else
resposta += nome1 + " é diferente de " + nome2 + " - método compareTo\n";
System.out.println( resposta );
System.exit(0);
}
}
Fundamentos da Linguagem | 11
String - Exemplo 4 (continuação)
Fundamentos da Linguagem | 12
Localizando informações no objeto String
Fundamentos da Linguagem | 14
String - Exemplo 5
Fundamentos da Linguagem | 15
Retirando partes do texto
String ■ substring( int inicio, int fim ): retorna um novo objeto String
com um texto que vai do posição indicada por início (inclusive)
até a posição indicada pelo segundo parâmetro (exclusive), da
String original.
Fundamentos da Linguagem | 16
String - Exemplo 6
Fundamentos da Linguagem | 17
Substituindo partes do texto
String ■ replace( char c1, char c2 ): retorna uma nova String onde o
conteúdo da String que chamou o método teve todas as
ocorrências do caracter c1 trocadas pelo caracter c2.
String ■ replace( String s1, String s2 ): retorna uma nova String onde
o conteúdo da String que chamou o método teve todas as
ocorrências do sub-texto s1 trocadas pelo sub-texto s2.
Fundamentos da Linguagem | 18
String
■ Exemplo 7
public class ExemploString7 {
public static void main( String[] args ) {
String texto = args[0]; String parteTexto = "na"; String novoTexto = "ba";
String saida = " Texto original : " + texto;
saida += "\n sub-texto a ser trocado : " + parteTexto;
saida += "\n sub-texto a ser inserido : " + novoTexto;
texto = texto.replaceFirst( parteTexto, novoTexto );
saida += "\n Texto depois do metodo replaceFirst : " + texto;
texto = texto.replace( parteTexto, novoTexto );
saida += "\n Texto depois do metodo replace : " + texto;
System.out.println( " Trocando partes do texto:\n" + saida );
System.exit( 0 );
}
}
Fundamentos da Linguagem | 19
Métodos de uso diversos
Fundamentos da Linguagem | 20
String
■ Exemplo 8
public class ExemploString8 {
public static void main( String[] args ) {
String texto = args[0];
String saida = "";
saida += "Texto original = [" + texto + "]\n";
texto = texto.trim();
saida += "Apos o metodo trim() = [" + texto + "]\n";
texto = texto.toLowerCase();
saida += "Apos o metodo toLowerCase() = [" + texto + "]\n";
texto = texto.toUpperCase();
saida += "Apos o metodo toUpperCase() = [" + texto + "]\n";
System.out.println( saida );
System.exit( 0 );
}
}
Fundamentos da Linguagem | 21
Conversão de String
Descrição Comando
String → int int numero = Integer.parseInt( "15" );
Fundamentos da Linguagem | 22
Malhação Cerebral
MC6_03. Faça uma aplicação que receba uma frase, e depois apresente o texto
invertido (de trás para frente, caracter a caracter).
MC6_04. Faça uma aplicação que receba o nome completo do usuário em uma
única String, e depois troque o seu último sobrenome por "Silva“. Mostre o
resultado na tela.
MC6_05. Faça uma aplicação que receba uma frase do usuário e apresente uma
palavra por linha. Na frente de cada palavra deve aparecer entre parênteses a
quantidade de caracteres da palavra. Ao final, apresente
também o total geral de caracteres impressos.
Fundamentos da Linguagem | 23
Malhação Cerebral
Fundamentos da Linguagem | 24
Referências
■ SIERRA, Kathy & BATES, Bert. Use a cabeça Java. 2 ed. Rio de Janeiro: Alta
Books, 2005.
■ DEITEL, H. M.; DEITEL, P. J. Java: como programar. 4 ed. Porto Alegre:
Bookman, 2003.
■ HORSTMANN, Cay. Big Java. Porto Alegre: Bookman, 2004.
■ Material elaborado pela iniciativa JEDI (Java Education and Development
Initiative. http://www.dfjug.org/DFJUG/jedi/index.jsp
■ Material elaborado pelo Professor Alexandre Rômolo Moreira Feitosa da UTFPR
de Cornélio Procópio
■ Material elaborado pelo Professor Gabriel Canhadas Genvigir da UTFPR de
Cornélio Procópio
■ Material elaborado pelo Professor Davi Bernardo do IFSC de Gaspar.
■ Outros livros / revistas / WWW.
Fundamentos da Linguagem | 25
String
■ Java possui outras classes para armazenamento e
manipulação de textos, cada uma com características de
uso específicas:
❑ StringBuffer (java.lang): permite criar um objeto e alterar o seu
conteúdo dinamicamente, sem precisar recriar o objeto como a
classe String faz.
❑ StringBuilder (java.lang): funcionamento semelhante a
StringBuffer, só que permite alterações do texto sem sincronização
de Threads, seu uso é voltado para aplicações concorrentes.
Fundamentos da Linguagem | 26
String
■ E ainda outras classes para formatação de textos:
Fundamentos da Linguagem | 27
Programação Orientada a
Objetos
Professor Vinícius Bortolini