KEMBAR78
Java 06 Strings Arrays | ODP
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

Java 06 Strings Arrays

  • 1.
    Strings e ArraysRegis 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 Stringsclass 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 Stringsclass 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ânciasda 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 operadorde 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 StringsO 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 toUpperCaseRetorna 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 item14.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ênciasTodo 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.
  • 16.
  • 17.
    Arrays Podem sercriados 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 Acolocaçã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];
  • 21.
  • 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 RecursosLivros 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