SlideShare uma empresa Scribd logo
Strings e Arrays Regis Pires Magalhães [email_address]
Strings (apostila cap. 14) String é uma classe em Java. Concatenação de Strings usando o operador +  int  total = 5; System. out .println( "o total gasto é: "  + total);
Comparação de Strings class   ExemploString1   { public   static   void   main ( String []   args )   { String   x   =   new   String ( "Java" ); String   y   =   new   String ( "Java" ); if   ( x   ==   y )   { System . out . println ( "mesmo objeto" ); }   else   { System . out . println ( "objetos diferentes!" ); } if   ( x . equals ( y ))   { System . out . println ( "iguais usando equals" ); }   else   { System . out . println ( "diferentes usando equals" ); } } }
Comparação de Strings class   ExemploString2   { public   static   void   main ( String []   args )   { String   x   =   "Java" ; String   y   =   "Java" ; if   ( x   ==   y )   { System . out . println ( "mesmo objeto" ); }   else   { System . out . println ( "objetos diferentes!" ); } if   ( x . equals ( y ))   { System . out . println ( "iguais usando equals" ); }   else   { System . out . println ( "diferentes usando equals" ); } } }
Strings São instâncias da classe java.lang.String São tratadas como se fossem tipos primitivos São criadas de duas formas Através de construtores: String s =  new  String( "nova String" ); Através da atribuição de um literal: String s =  "nova String" ; Strings em Java são objetos imutáveis São otimizadas para leitura e não para alteração O seu conteúdo não pode ser alterado
Strings O operador de concatenação (+) é utilizado para unir Strings A cada fase da concatenação um novo objeto é criado. O método  toString()  converte um objeto em String. Strings são comparadas através do método  equals() . O conjunto de métodos estáticos  String.valueOf()  convertem valores de vários tipos em String.
Strings class  ExemploString3 { public   static   void  main(String[] args) { String s1 =  "hello" ; String s2 = s1; s1 +=  " world" ; System. out .println(s1 +  "\n"  + s2); } }
Pool de Strings O Java cria um pool de Strings para usar como cache. Strings criadas através de literais são exatamente o mesmo objeto São automaticamente armazenadas no Pool. Exemplo:
Métodos Principais toUpperCase Retorna a String em caixa alta (maiúsculas). toLowerCase  Retorna a String em caixa baixa (minúsculas). charAt   Retorna o caractere em uma determinada posição da String. length  Retorna o tamanho da String.  substring  Retorna uma substring da String original.
Métodos Principais split  Divide a String em um array de Strings. trim   Elimina espaços em branco no ínicio e no fim de uma String. compareTo   Devolve um inteiro indicando se a String vem antes (negativo), é igual (zero) ou vem depois (positivo) da String recebida como parâmetro.
Strings public   class  ExemploString1 { public   static   void  main(String[] args) { String s =  "Curso Java" ; System. out .println(s.toUpperCase()); System. out .println(s.toLowerCase()); System. out .println(s.charAt(2)); System. out .println(s.length()); System. out .println(s.substring(2)); System. out .println(s.substring(2,5)); String[] as =  "poo usando java" .split( " " ); System. out .println(as[0] +  "-"  + as[1]  +  "-"  + as[2]); System. out .println( "a" .compareTo( "b" )); System. out .println( "-"  +  " a " .trim() +  "-" ); } }
Exercícios Apostila item 14.10 (página 152) Itens: 7, 8 Apostila item 14.11 - Desafio (página 152)
Arrays (Apostila cap. 5) Contêm um conjunto de variáveis de tipos primitivos ou de objetos. Como declarar um array? int [] idades; int []  é um tipo. Um array é sempre um objeto. A variável  idades  é uma referência. Como instanciar um array? idades =  new   int [10]; Como acessar uma posição do array? idades[5] = 10;
Arrays No Java, os índices do array vão de 0 a n-1. Um array de tipos primitivos guarda valores. Um array de objetos armazena referências. É possível declarar de 2 modos: int [] inteiros;  // ou int  inteiros[];
Arrays de Referências Todo array de objetos é na verdade um array de referências. Conta[] minhasContas; minhasContas =  new  Conta[10]; Quantas contas foram criadas? Nenhuma. Foram criadas 10 referências para Contas. Atualmente elas não referenciam nada (null). Armazenando elementos no array: minhasContas[0] =  new  Conta(1000); minhasContas[1] =  new  Conta(3200); Os objetos devem ser inicialmente instanciados e só depois atribuídos às referências do array.
Arrays de Referências
Arrays Podem ser criados na própria declaração: int [] inteiros = {1, 2, 3, 4, 5}; String[] strArr = { "teste" ,  "str1" ,  "str2" }; Para obter o número de elementos em um array acesse a propriedade  length. System. out .println(inteiros. length ); Um array não pode mudar de tamanho. Para usar mais posições, é preciso criar um novo array e preenchê-lo com os os elementos do antigo array.
Percorrendo Arrays public   class  ExemploArray1 { public   static   void  main(String args[]) { int [] idades =  new   int [10]; for  ( int  i = 0; i < idades. length ; i++) { idades[i] = i * 10; } for  ( int  i = 0; i < idades. length ; i++) { System. out .println(idades[i]); } } }
Percorrendo Arrays public   class  ExemploArray1 { public   static   void  main(String args[]) { int [] idades =  new   int [10]; for  ( int  i = 0; i < idades. length ; i++) { idades[i] = i * 10; } // Usando enhanced-for  for  ( int  id : idades) { System. out .println(id); } } }
Arrays Multidimensionais A colocação de [ ] adicionais na declaração do array permite a declaração de arrays multidimensionais: int [][] duasDim =  new   byte [120][16]; Arrays multidimensionais não precisam ser retangulares: int [][] duasDim = {{1,2},{3,4,5},{6,7,8,9}}; Para acessar elementos de um array use o nome da variável seguido de “[“, o índice do elemento e “]” int  tmp = duasDim[1][2];
Arrays Multidimensionais
Exercícios O método  main  recebe um array de Strings como argumento. Faça um  for  que percorra e exiba esse argumento  args  dentro do  main  de uma classe  Teste , e depois execute: java Teste arg1 outro maisoutro Exercícios apostila item 5.6 (páginas 51 e 52): Itens: 1, 2, 3, 4 Exercício apostila item 5.8 (página 53).
Referências e Recursos Livros Apostila Caelum – Java e Orientação a Objetos - FJ11 Object-Oriented System Development: HTML Edition http://g.oswego.edu/dl/oosdw3/ Software Engineering (5th Edition) – Ian Sommerville Object-Oriented Analysis and Design with Applications – Grady Booch Object-Oriented Software Engineering: A Case Driven Approach – Ivar Jacobson Thinking in Java, 3 rd  ed. Revision 4.0 – Bruce Eckel http://www.mindview.net/Books/TIJ/ Web http://www.argonavis.com.br/cursos/java/j100/index.html

Mais conteúdo relacionado

Mais procurados (20)

POO - 23 - Coleções da API do Java
POO -  23 - Coleções da API do Java POO -  23 - Coleções da API do Java
POO - 23 - Coleções da API do Java
Ludimila Monjardim Casagrande
 
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaExercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Loiane Groner
 
Classe integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doubleClasse integer-float-byte-short-long-double
Classe integer-float-byte-short-long-double
PAULO Moreira
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
Luciano Ramalho
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)
Luciano Ramalho
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
Luciano Ramalho
 
Iteraveis e geradores
Iteraveis e geradoresIteraveis e geradores
Iteraveis e geradores
Luciano Ramalho
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
Luciano Ramalho
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordida
Luciano Ramalho
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compacto
Luciano Ramalho
 
Threads 06: Coleções concorrentes
Threads 06: Coleções concorrentesThreads 06: Coleções concorrentes
Threads 06: Coleções concorrentes
Helder da Rocha
 
Arrays em java
Arrays em javaArrays em java
Arrays em java
Portal_do_Estudante_Java
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
Ludimila Monjardim Casagrande
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
Daniel Brandão
 
Aula 01
Aula 01Aula 01
Aula 01
Igor Viveiros
 
Herança e polimorfismo em Java
Herança e polimorfismo em Java Herança e polimorfismo em Java
Herança e polimorfismo em Java
Evandro Júnior
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em Python
Luciano Ramalho
 
Threads 04 Variáveis atômicas
Threads 04 Variáveis atômicasThreads 04 Variáveis atômicas
Threads 04 Variáveis atômicas
Helder da Rocha
 
Programação aula002
Programação aula002Programação aula002
Programação aula002
Cláudio Amaral
 
Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7Introdução a linguagem Python 2.7
Introdução a linguagem Python 2.7
Ben Hur Bahia do Nascimento
 
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com JavaExercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Exercicios Vetores (Arrays) - Estruturas de dados e algoritmos com Java
Loiane Groner
 
Classe integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doubleClasse integer-float-byte-short-long-double
Classe integer-float-byte-short-long-double
PAULO Moreira
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
Luciano Ramalho
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)
Luciano Ramalho
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
Luciano Ramalho
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
Luciano Ramalho
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordida
Luciano Ramalho
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compacto
Luciano Ramalho
 
Threads 06: Coleções concorrentes
Threads 06: Coleções concorrentesThreads 06: Coleções concorrentes
Threads 06: Coleções concorrentes
Helder da Rocha
 
Arrays (vetores) em Java
Arrays (vetores) em JavaArrays (vetores) em Java
Arrays (vetores) em Java
Daniel Brandão
 
Herança e polimorfismo em Java
Herança e polimorfismo em Java Herança e polimorfismo em Java
Herança e polimorfismo em Java
Evandro Júnior
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em Python
Luciano Ramalho
 
Threads 04 Variáveis atômicas
Threads 04 Variáveis atômicasThreads 04 Variáveis atômicas
Threads 04 Variáveis atômicas
Helder da Rocha
 

Destaque (20)

Strings and common operations
Strings and common operationsStrings and common operations
Strings and common operations
TurnToTech
 
String java
String javaString java
String java
774474
 
Java Starting
Java StartingJava Starting
Java Starting
Raja Sekhar
 
String handling session 5
String handling session 5String handling session 5
String handling session 5
Raja Sekhar
 
Variáveis
VariáveisVariáveis
Variáveis
Alessandra Sra JM
 
Módulo 3 - Variáveis e Constantes
Módulo 3 - Variáveis e ConstantesMódulo 3 - Variáveis e Constantes
Módulo 3 - Variáveis e Constantes
Carlos Fernando Jung
 
Lista de exercicios 01 introdução
Lista de exercicios 01 introduçãoLista de exercicios 01 introdução
Lista de exercicios 01 introdução
Mauro Pereira
 
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostosParadigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
Adriano Teixeira de Souza
 
Lista de exercícios nº 01
Lista de exercícios nº 01Lista de exercícios nº 01
Lista de exercícios nº 01
Cristovao Nascimento
 
Java: strings e arrays
Java: strings e arraysJava: strings e arrays
Java: strings e arrays
Arthur Emanuel
 
String in java
String in javaString in java
String in java
Ideal Eyes Business College
 
Exercicios java2016 - resolvidos
Exercicios java2016 - resolvidosExercicios java2016 - resolvidos
Exercicios java2016 - resolvidos
Helda Matos
 
Lista de Exercícios 06
Lista de Exercícios 06Lista de Exercícios 06
Lista de Exercícios 06
Ednilsom Orestes
 
L21 io streams
L21 io streamsL21 io streams
L21 io streams
teach4uin
 
Java Lista Exercicios 06
Java Lista Exercicios 06Java Lista Exercicios 06
Java Lista Exercicios 06
Regis Magalhães
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
Mario Jorge Pereira
 
Exercicios java básico
Exercicios java básicoExercicios java básico
Exercicios java básico
Alessandro Plaviak
 
String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)
Ravi_Kant_Sahu
 
Strings
StringsStrings
Strings
naslin prestilda
 
Lista Exercicios 01
Lista Exercicios 01Lista Exercicios 01
Lista Exercicios 01
Regis Magalhães
 
Strings and common operations
Strings and common operationsStrings and common operations
Strings and common operations
TurnToTech
 
String java
String javaString java
String java
774474
 
String handling session 5
String handling session 5String handling session 5
String handling session 5
Raja Sekhar
 
Módulo 3 - Variáveis e Constantes
Módulo 3 - Variáveis e ConstantesMódulo 3 - Variáveis e Constantes
Módulo 3 - Variáveis e Constantes
Carlos Fernando Jung
 
Lista de exercicios 01 introdução
Lista de exercicios 01 introduçãoLista de exercicios 01 introdução
Lista de exercicios 01 introdução
Mauro Pereira
 
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostosParadigmas de Linguagens de Programação - Tipos primitivos e compostos
Paradigmas de Linguagens de Programação - Tipos primitivos e compostos
Adriano Teixeira de Souza
 
Java: strings e arrays
Java: strings e arraysJava: strings e arrays
Java: strings e arrays
Arthur Emanuel
 
Exercicios java2016 - resolvidos
Exercicios java2016 - resolvidosExercicios java2016 - resolvidos
Exercicios java2016 - resolvidos
Helda Matos
 
L21 io streams
L21 io streamsL21 io streams
L21 io streams
teach4uin
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
Mario Jorge Pereira
 
String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)
Ravi_Kant_Sahu
 
Anúncio

Semelhante a Java 06 Strings Arrays (20)

Java8
Java8Java8
Java8
Robson Silva Espig
 
String
StringString
String
PAULO Moreira
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
Professor Samuel Ribeiro
 
05 classes utilitarias
05   classes utilitarias05   classes utilitarias
05 classes utilitarias
Artur Todeschini
 
Java4
Java4Java4
Java4
Robson Silva Espig
 
Programacao II Aula 3 Arrays.pdf bom para estudantes de programação 1
Programacao II Aula 3 Arrays.pdf  bom para estudantes de programação 1Programacao II Aula 3 Arrays.pdf  bom para estudantes de programação 1
Programacao II Aula 3 Arrays.pdf bom para estudantes de programação 1
silvinauanzo9
 
programação de computadores - java e programação de computadores
programação de computadores - java e programação de computadoresprogramação de computadores - java e programação de computadores
programação de computadores - java e programação de computadores
JosianeRezende11
 
Android - Dicas de Performance
Android - Dicas de PerformanceAndroid - Dicas de Performance
Android - Dicas de Performance
Amélia Pessoa
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
Arthur Emanuel
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões Regulares
SidneyCruz
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões Regulares
Gabriel Matheus
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
ciceroclc
 
A Classe StringBuilder em Java
A Classe StringBuilder em JavaA Classe StringBuilder em Java
A Classe StringBuilder em Java
Devmedia
 
PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
Marcus Camargo
 
STRINGS EM java para java em javaA02_Strings.pdf
STRINGS EM java para java em javaA02_Strings.pdfSTRINGS EM java para java em javaA02_Strings.pdf
STRINGS EM java para java em javaA02_Strings.pdf
LuanLuiz7
 
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e ArraysEstrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Loiane Groner
 
comparativo entre linguagens python c++ java.pdf
comparativo entre linguagens python c++ java.pdfcomparativo entre linguagens python c++ java.pdf
comparativo entre linguagens python c++ java.pdf
ronaldo ramos
 
Desenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVADesenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVA
Willian Magalhães
 
String
StringString
String
Portal_do_Estudante_Java
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetos
unifesptk
 
Programacao II Aula 3 Arrays.pdf bom para estudantes de programação 1
Programacao II Aula 3 Arrays.pdf  bom para estudantes de programação 1Programacao II Aula 3 Arrays.pdf  bom para estudantes de programação 1
Programacao II Aula 3 Arrays.pdf bom para estudantes de programação 1
silvinauanzo9
 
programação de computadores - java e programação de computadores
programação de computadores - java e programação de computadoresprogramação de computadores - java e programação de computadores
programação de computadores - java e programação de computadores
JosianeRezende11
 
Android - Dicas de Performance
Android - Dicas de PerformanceAndroid - Dicas de Performance
Android - Dicas de Performance
Amélia Pessoa
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
Arthur Emanuel
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões Regulares
SidneyCruz
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões Regulares
Gabriel Matheus
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
ciceroclc
 
A Classe StringBuilder em Java
A Classe StringBuilder em JavaA Classe StringBuilder em Java
A Classe StringBuilder em Java
Devmedia
 
STRINGS EM java para java em javaA02_Strings.pdf
STRINGS EM java para java em javaA02_Strings.pdfSTRINGS EM java para java em javaA02_Strings.pdf
STRINGS EM java para java em javaA02_Strings.pdf
LuanLuiz7
 
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e ArraysEstrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Loiane Groner
 
comparativo entre linguagens python c++ java.pdf
comparativo entre linguagens python c++ java.pdfcomparativo entre linguagens python c++ java.pdf
comparativo entre linguagens python c++ java.pdf
ronaldo ramos
 
Desenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVADesenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVA
Willian Magalhães
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetos
unifesptk
 
Anúncio

Mais de Regis Magalhães (20)

High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
Regis Magalhães
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
Regis Magalhães
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
Regis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Prog web 09-php-crud-mvc
Prog web 09-php-crud-mvcProg web 09-php-crud-mvc
Prog web 09-php-crud-mvc
Regis Magalhães
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
Regis Magalhães
 
Prog web 07-pdo
Prog web 07-pdoProg web 07-pdo
Prog web 07-pdo
Regis Magalhães
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
Regis Magalhães
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
Regis Magalhães
 
Prog web 04-php-gd
Prog web 04-php-gdProg web 04-php-gd
Prog web 04-php-gd
Regis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
Regis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
Regis Magalhães
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
Regis Magalhães
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
Regis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
Regis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
Regis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
Regis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
Regis Magalhães
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
Regis Magalhães
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
Regis Magalhães
 

Java 06 Strings Arrays

  • 1. Strings e Arrays Regis Pires Magalhães [email_address]
  • 2. Strings (apostila cap. 14) String é uma classe em Java. Concatenação de Strings usando o operador + int total = 5; System. out .println( &quot;o total gasto é: &quot; + total);
  • 3. Comparação de Strings class ExemploString1 { public static void main ( String [] args ) { String x = new String ( &quot;Java&quot; ); String y = new String ( &quot;Java&quot; ); if ( x == y ) { System . out . println ( &quot;mesmo objeto&quot; ); } else { System . out . println ( &quot;objetos diferentes!&quot; ); } if ( x . equals ( y )) { System . out . println ( &quot;iguais usando equals&quot; ); } else { System . out . println ( &quot;diferentes usando equals&quot; ); } } }
  • 4. Comparação de Strings class ExemploString2 { public static void main ( String [] args ) { String x = &quot;Java&quot; ; String y = &quot;Java&quot; ; if ( x == y ) { System . out . println ( &quot;mesmo objeto&quot; ); } else { System . out . println ( &quot;objetos diferentes!&quot; ); } if ( x . equals ( y )) { System . out . println ( &quot;iguais usando equals&quot; ); } else { System . out . println ( &quot;diferentes usando equals&quot; ); } } }
  • 5. Strings São instâncias da classe java.lang.String São tratadas como se fossem tipos primitivos São criadas de duas formas Através de construtores: String s = new String( &quot;nova String&quot; ); Através da atribuição de um literal: String s = &quot;nova String&quot; ; Strings em Java são objetos imutáveis São otimizadas para leitura e não para alteração O seu conteúdo não pode ser alterado
  • 6. Strings O operador de concatenação (+) é utilizado para unir Strings A cada fase da concatenação um novo objeto é criado. O método toString() converte um objeto em String. Strings são comparadas através do método equals() . O conjunto de métodos estáticos String.valueOf() convertem valores de vários tipos em String.
  • 7. Strings class ExemploString3 { public static void main(String[] args) { String s1 = &quot;hello&quot; ; String s2 = s1; s1 += &quot; world&quot; ; System. out .println(s1 + &quot;\n&quot; + s2); } }
  • 8. Pool de Strings O Java cria um pool de Strings para usar como cache. Strings criadas através de literais são exatamente o mesmo objeto São automaticamente armazenadas no Pool. Exemplo:
  • 9. Métodos Principais toUpperCase Retorna a String em caixa alta (maiúsculas). toLowerCase Retorna a String em caixa baixa (minúsculas). charAt Retorna o caractere em uma determinada posição da String. length Retorna o tamanho da String. substring Retorna uma substring da String original.
  • 10. Métodos Principais split Divide a String em um array de Strings. trim Elimina espaços em branco no ínicio e no fim de uma String. compareTo Devolve um inteiro indicando se a String vem antes (negativo), é igual (zero) ou vem depois (positivo) da String recebida como parâmetro.
  • 11. Strings public class ExemploString1 { public static void main(String[] args) { String s = &quot;Curso Java&quot; ; System. out .println(s.toUpperCase()); System. out .println(s.toLowerCase()); System. out .println(s.charAt(2)); System. out .println(s.length()); System. out .println(s.substring(2)); System. out .println(s.substring(2,5)); String[] as = &quot;poo usando java&quot; .split( &quot; &quot; ); System. out .println(as[0] + &quot;-&quot; + as[1] + &quot;-&quot; + as[2]); System. out .println( &quot;a&quot; .compareTo( &quot;b&quot; )); System. out .println( &quot;-&quot; + &quot; a &quot; .trim() + &quot;-&quot; ); } }
  • 12. Exercícios Apostila item 14.10 (página 152) Itens: 7, 8 Apostila item 14.11 - Desafio (página 152)
  • 13. Arrays (Apostila cap. 5) Contêm um conjunto de variáveis de tipos primitivos ou de objetos. Como declarar um array? int [] idades; int [] é um tipo. Um array é sempre um objeto. A variável idades é uma referência. Como instanciar um array? idades = new int [10]; Como acessar uma posição do array? idades[5] = 10;
  • 14. Arrays No Java, os índices do array vão de 0 a n-1. Um array de tipos primitivos guarda valores. Um array de objetos armazena referências. É possível declarar de 2 modos: int [] inteiros; // ou int inteiros[];
  • 15. Arrays de Referências Todo array de objetos é na verdade um array de referências. Conta[] minhasContas; minhasContas = new Conta[10]; Quantas contas foram criadas? Nenhuma. Foram criadas 10 referências para Contas. Atualmente elas não referenciam nada (null). Armazenando elementos no array: minhasContas[0] = new Conta(1000); minhasContas[1] = new Conta(3200); Os objetos devem ser inicialmente instanciados e só depois atribuídos às referências do array.
  • 17. Arrays Podem ser criados na própria declaração: int [] inteiros = {1, 2, 3, 4, 5}; String[] strArr = { &quot;teste&quot; , &quot;str1&quot; , &quot;str2&quot; }; Para obter o número de elementos em um array acesse a propriedade length. System. out .println(inteiros. length ); Um array não pode mudar de tamanho. Para usar mais posições, é preciso criar um novo array e preenchê-lo com os os elementos do antigo array.
  • 18. Percorrendo Arrays public class ExemploArray1 { public static void main(String args[]) { int [] idades = new int [10]; for ( int i = 0; i < idades. length ; i++) { idades[i] = i * 10; } for ( int i = 0; i < idades. length ; i++) { System. out .println(idades[i]); } } }
  • 19. Percorrendo Arrays public class ExemploArray1 { public static void main(String args[]) { int [] idades = new int [10]; for ( int i = 0; i < idades. length ; i++) { idades[i] = i * 10; } // Usando enhanced-for for ( int id : idades) { System. out .println(id); } } }
  • 20. Arrays Multidimensionais A colocação de [ ] adicionais na declaração do array permite a declaração de arrays multidimensionais: int [][] duasDim = new byte [120][16]; Arrays multidimensionais não precisam ser retangulares: int [][] duasDim = {{1,2},{3,4,5},{6,7,8,9}}; Para acessar elementos de um array use o nome da variável seguido de “[“, o índice do elemento e “]” int tmp = duasDim[1][2];
  • 22. Exercícios O método main recebe um array de Strings como argumento. Faça um for que percorra e exiba esse argumento args dentro do main de uma classe Teste , e depois execute: java Teste arg1 outro maisoutro Exercícios apostila item 5.6 (páginas 51 e 52): Itens: 1, 2, 3, 4 Exercício apostila item 5.8 (página 53).
  • 23. Referências e Recursos Livros Apostila Caelum – Java e Orientação a Objetos - FJ11 Object-Oriented System Development: HTML Edition http://g.oswego.edu/dl/oosdw3/ Software Engineering (5th Edition) – Ian Sommerville Object-Oriented Analysis and Design with Applications – Grady Booch Object-Oriented Software Engineering: A Case Driven Approach – Ivar Jacobson Thinking in Java, 3 rd ed. Revision 4.0 – Bruce Eckel http://www.mindview.net/Books/TIJ/ Web http://www.argonavis.com.br/cursos/java/j100/index.html