Java 06 Strings Arrays

download Java 06 Strings Arrays

If you can't read please download the document

Transcript of Java 06 Strings Arrays

  • 1. Strings e Arrays
      • Regis Pires Magalhes
    • [email_address]

2. Strings (apostila cap. 14)

  • String uma classe em Java.
  • Concatenao de Strings usando o operador +
  • inttotal = 5;
  • System. out .println( "o total gasto : "+ total);

3. Comparao 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" ); } } } 4. Comparao 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" ); } } } 5. Strings

    • So instncias da classe java.lang.String
    • So tratadas como se fossem tipos primitivos
    • So criadas de duas formas
      • Atravs de construtores:
        • String s =newString( "nova String" );
      • Atravs da atribuio de um literal:
        • String s ="nova String" ;
    • Strings em Java so objetos imutveis
      • So otimizadas para leitura e no para alterao
      • O seu contedo no pode ser alterado

6. Strings

    • O operador de concatenao (+) utilizado para unir Strings
      • A cada fase da concatenao um novo objeto criado.
    • O mtodotoString()converte um objeto em String.
    • Strings so comparadas atravs do mtodoequals() .
    • O conjunto de mtodos estticosString.valueOf()convertem valores de vrios tipos em String.

7. Strings classExemploString3 { public static voidmain(String[] args) { String s1 ="hello" ; String s2 = s1; s1 +=" world" ; System. out .println(s1 +" "+ s2); } } 8. Pool de Strings

    • O Java cria um pool de Strings para usar como cache.
    • Strings criadas atravs de literais so exatamente o mesmo objeto
      • So automaticamente armazenadas no Pool.
    • Exemplo:

9. Mtodos Principais

  • toUpperCase
    • Retorna a String em caixa alta (maisculas).
  • toLowerCase
    • Retorna a String em caixa baixa (minsculas).
  • charAt
    • Retorna o caractere em uma determinada posio da String.
  • length
    • Retorna o tamanho da String.
  • substring
    • Retorna uma substring da String original.

10. Mtodos Principais

  • split
    • Divide a String em um array de Strings.
  • trim
    • Elimina espaos 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 parmetro.

11. Strings public classExemploString1 { public static voidmain(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() +"-" ); } } 12. Exerccios

  • Apostila item 14.10 (pgina 152)
    • Itens: 7, 8
  • Apostila item 14.11 - Desafio (pgina 152)

13. Arrays (Apostila cap. 5)

    • Contm um conjunto de variveis de tipos primitivos ou de objetos.
    • Como declarar um array?
      • int [] idades;
      • int [] um tipo. Um array sempre um objeto.
      • A varivelidades uma referncia.
    • Como instanciar um array?
      • idades =new int [10];
    • Como acessar uma posio do array?
      • idades[5] = 10;

14. Arrays

    • No Java, os ndices do array vo de 0 a n-1.
    • Um array de tipos primitivos guarda valores.
    • Um array de objetos armazena referncias.
    • possvel declarar de 2 modos:
      • int [] inteiros;// ou
      • intinteiros[];

15. Arrays de Referncias

    • Todo array de objetos na verdade um array de referncias.
      • Conta[] minhasContas;
      • minhasContas =newConta[10];
    • Quantas contas foram criadas?
      • Nenhuma.
      • Foram criadas 10 referncias para Contas.
      • Atualmente elas no referenciam nada (null).
    • Armazenando elementos no array:
      • minhasContas[0] =newConta(1000);
      • minhasContas[1] =newConta(3200);
    • Os objetos devem ser inicialmente instanciados e s depois atribudos s referncias do array.

16. Arrays de Referncias 17. Arrays

    • Podem ser criados na prpria declarao:
      • int [] inteiros = {1, 2, 3, 4, 5};
      • String[] strArr = { "teste" ,"str1" ,"str2" };
    • Para obter o nmero de elementos em um array acesse a propriedadelength.
      • System. out .println(inteiros. length );
    • Um array no pode mudar de tamanho.
      • Para usar mais posies, preciso criar um novo array e preench-lo com os os elementos do antigo array.

18. Percorrendo Arrays public classExemploArray1 { public static voidmain(String args[]) { int [] idades =new int [10]; for( inti = 0; i < idades. length ; i++) { idades[i] = i * 10; } for( inti = 0; i < idades. length ; i++) { System. out .println(idades[i]); } } } 19. Percorrendo Arrays public classExemploArray1 { public static voidmain(String args[]) { int [] idades =new int [10]; for( inti = 0; i < idades. length ; i++) { idades[i] = i * 10; } // Usando enhanced-forfor( intid : idades) { System. out .println(id); } } } 20. Arrays Multidimensionais

    • A colocao de [ ] adicionais na declarao do array permite a declarao de arrays multidimensionais:
      • int [][] duasDim =new byte [120][16];
    • Arrays multidimensionais no precisam ser retangulares:
      • int [][] duasDim = {{1,2},{3,4,5},{6,7,8,9}};
    • Para acessar elementos de um array use o nome da varivel seguido de [, o ndice do elemento e ]
      • inttmp = duasDim[1][2];

21. Arrays Multidimensionais 22. Exerccios

    • O mtodomainrecebe um array de Strings como argumento. Faa umforque percorra e exiba esse argumentoargsdentro domainde uma classeTeste , e depois execute:
      • java Teste arg1 outro maisoutro
    • Exerccios apostila item 5.6 (pginas 51 e 52):
      • Itens: 1, 2, 3, 4
    • Exerccio apostila item 5.8 (pgina 53).

23. Referncias e Recursos

  • Livros
    • Apostila Caelum Java e Orientao 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 rded. Revision 4.0 Bruce Eckel
      • http://www.mindview.net/Books/TIJ/
  • Web
    • http://www.argonavis.com.br/cursos/java/j100/index.html