Introdução a java

2,520 views

Published on

Slide da aula de Revisão a linguagem Java

1 Comment
3 Likes
Statistics
Notes
No Downloads
Views
Total views
2,520
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
221
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • - Variáveis primitivas: podem ser do tipo byte, short, int, long, float, double, char ou boolean.\n
  • - Variáveis de referência: usada para referenciar um objeto. Quando usamos uma variável de referência definimos qual o tipo do objeto ou um subtipo do tipo do objeto (veremos isso mais para frente).\n\na diferença entre variaveis primitivas e variaveis de tipo de referencia é que as primitivas não possuem comportamento, quando se chama um método passando uma varivael primitiva\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Introdução a java

    1. 1. Revisão
    2. 2. Carlos Cavalcanti
    3. 3. INTRODUÇÃO AO JAVA Padrões Tipos primitivos Operadores Controle de fluxo Classes e Objetos Pacotes Herança Override Overload Interface Exceções Vetores Lista
    4. 4. Padrões
    5. 5. Classes e Interfaces•A primeira letra deve ser maiúscula e, se várias palavras forem escritas juntas para formar o nome, a primeira letra de cada palavra deverá ser maiúscula. (camelCase)
    6. 6. Classes e Interfaces •A primeira letra deve ser maiúscula e, se várias palavras forem escritas juntas para formar o nome, a primeira letra de cada palavra deverá ser maiúscula. (camelCase)Cachorro
    7. 7. Classes e Interfaces •A primeira letra deve ser maiúscula e, se várias palavras forem escritas juntas para formar o nome, a primeira letra de cada palavra deverá ser maiúscula. (camelCase)Cachorro Conta
    8. 8. Classes e Interfaces •A primeira letra deve ser maiúscula e, se várias palavras forem escritas juntas para formar o nome, a primeira letra de cada palavra deverá ser maiúscula. (camelCase)Cachorro PrintWriter Conta
    9. 9. Classes e Interfaces •A primeira letra deve ser maiúscula e, se várias palavras forem escritas juntas para formar o nome, a primeira letra de cada palavra deverá ser maiúscula. (camelCase)Cachorro PrintWriter Conta Runnable
    10. 10. Classes e Interfaces •A primeira letra deve ser maiúscula e, se várias palavras forem escritas juntas para formar o nome, a primeira letra de cada palavra deverá ser maiúscula. (camelCase)Cachorro PrintWriter Conta Runnable Serializable
    11. 11. Métodos• A primeira letra deve ser minúscula, e depois as regras do camelCase deverão serem aplicadas.
    12. 12. Métodos • A primeira letra deve ser minúscula, e depois as regras do camelCase deverão serem aplicadas.getBalance
    13. 13. Métodos • A primeira letra deve ser minúscula, e depois as regras do camelCase deverão serem aplicadas.getBalance doCalculation
    14. 14. Métodos • A primeira letra deve ser minúscula, e depois as regras do camelCase deverão serem aplicadas.getBalance setCustomerName doCalculation
    15. 15. Variáveis• Como nos métodos, o formato camelCase deve ser usado, começando com uma letra minúscula.
    16. 16. Variáveis • Como nos métodos, o formato camelCase deve ser usado, começando com uma letra minúscula.tamanhoBotao
    17. 17. Variáveis • Como nos métodos, o formato camelCase deve ser usado, começando com uma letra minúscula.tamanhoBotao valorCoca
    18. 18. Variáveis • Como nos métodos, o formato camelCase deve ser usado, começando com uma letra minúscula.tamanhoBotao minhaString valorCoca
    19. 19. Constantes• As constantes Java são criadas marcando-se variáveis como static e final. Elas devem ser nomeadas usando letras maiúsculas com caracteres underscore como separadores
    20. 20. Constantes • As constantes Java são criadas marcando-se variáveis como static e final. Elas devem ser nomeadas usando letras maiúsculas com caracteres underscore como separadoresLARGURA_MAXIMA
    21. 21. Constantes • As constantes Java são criadas marcando-se variáveis como static e final. Elas devem ser nomeadas usando letras maiúsculas com caracteres underscore como separadoresLARGURA_MAXIMA ALTURA_MAXIMA
    22. 22. Método getters• Se a propriedade não for booleana, o prefixo do método getter deve ser get.
    23. 23. Método getters • Se a propriedade não for booleana, o prefixo do método getter deve ser get.getNome
    24. 24. Método getters • Se a propriedade não for booleana, o prefixo do método getter deve ser get.getNome getIdade
    25. 25. Método getters • Se a propriedade não for booleana, o prefixo do método getter deve ser get.getNome getTamanho getIdade
    26. 26. Método getters • Se a propriedade não for booleana, o prefixo do método getter deve ser get.getNome getTamanho getIdade getDataNascimento
    27. 27. Método getters• Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is
    28. 28. Método getters• Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is isAdmin
    29. 29. Método getters• Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is isAdmin getAdmin
    30. 30. Método getters• Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is isAdmin getAdmin isUsuarioNormal
    31. 31. Método getters• Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is isAdmin getAdmin isUsuarioNormal getUsuarioNormal
    32. 32. Método setters• O prefixo do método setter deverá ser set.
    33. 33. Método setters• O prefixo do método setter deverá ser set. setNome
    34. 34. Método setters• O prefixo do método setter deverá ser set. setIdade setNome
    35. 35. Método setters• O prefixo do método setter deverá ser set. setIdade setNome setSobrenome
    36. 36. Método setters• O prefixo do método setter deverá ser set. setIdade setNome setSexo setSobrenome
    37. 37. Classepublic class Pessoa { private String name; private Integer age; private boolean operadorAtivado; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public boolean isOperadorAtivado() { return isOperadorAtivado; } public void setOperadorAtivado(boolean operadorAtivado) { this.operadorAtivado = operadorativado; }}
    38. 38. VariávelUma variável é um objeto normalmentelocalizado na memória utilizado pararepresentar valores, quando declaramos umavariável estamos associando seu nome(identificador) ao local da memória onde estáarmazenado sua informação, as variáveis emJava podem ser do tipo primitivo ou objeto.
    39. 39. Tipos primitivos
    40. 40. ObjetosString nome = new String();Nome = "LuizRomero";nome = nome.substring(0, 3);
    41. 41. OperadoresOperador Nome Exemplo Descrição > Maior que x>y x maior que y >= Maior ou igual a x >= y x maior ou igual a y < Menor que x<y x menor que y <= Menor ou igual a x <= y x menor ou igual a y "==" Igual a x == y x igual a y != Diferente de x != y x diferente de y ! NAO logico (NOT) !y contrario de y && E logico (AND) x && y xey || OU logico (OR) x || y x ou yinstaceof Verif Instância x instanceof y x é instancia da classe y
    42. 42. OperadoresOperador Exemplo Resultado + 1+1 2 - 3-3 0 / 4/2 2 * 3*2 6 % 3%2 1
    43. 43. Operadores X=4Operador Exemplo Resultado ++ x++ 5 -- x-- 3
    44. 44. OperadoresOperador Exemplo Equivalente += x += y x=x+y -= x -= y x=x-y *= x *= y x=x*y /= x /= y x=x/y %= x %= y x=x%y
    45. 45. Controladores• if• while• for• switch
    46. 46. Controladores - if
    47. 47. Controladores - ifif (x == 11) { System.out.println("x é igual 11");}
    48. 48. Controladores - ifif (x == 11) { System.out.println("x é igual 11");} if (x >= 33) { System.out.println("x é maior ou igual a 33"); }
    49. 49. Controladores - ifif (x == 11) { System.out.println("x é igual 11");} if (x >= 33) { System.out.println("x é maior ou igual a 33"); }if (x<0) { System.out.println("x é menor que 0");} else { System.out.println("x é maior ou igual a 0");}
    50. 50. code on
    51. 51. Criando projeto
    52. 52. Criando projeto
    53. 53. Criando projeto
    54. 54. Criando projeto
    55. 55. Criando classe
    56. 56. Criando classe
    57. 57. Criando classe
    58. 58. Packages (pacotes)
    59. 59. Packages (pacotes)Package é uma forma deorganizar as classes javas
    60. 60. Método mainpublic class AulaJava { public static void main(String[] args) { }}
    61. 61. Exercício • Criar uma variável do tipo int chamada idade • Deverá imprimir: “É maior de 18 anos” caso seja maior de idade • Deverá imprimir: “É menor de 18 anos” caso seja menor de idade Dica System.out.println("Texto.");
    62. 62. Para rodar aplicação
    63. 63. Código public static void main(String[] args) { int idade = 16; if (idade >= 18) System.out.println("É maior de 18 anos."); else System.out.println("É menor de 18 anos."); }
    64. 64. Exercício • Fazer calculo da nota da escola. • Deverá ter 4 notas • Verificar se média é maior que 7, se for mostrar imprimir “Passou. Sua média Foi: X”, se não imprimir “Reprovou. Sua média foi: X”.Concatenação: System.out.println("Passou. Sua média foi: " + media);
    65. 65. Códigopublic static void main(String[] args) { double nota1=5, nota2=6,nota3=8,nota4=9; double media = (nota1+nota2+nota3+nota4)/4; if (media >= 7) System.out.println("Passou. Sua média foi:" + media); else System.out.println("Reprovou. Sua média foi:" + media); }
    66. 66. Controladores - switch byte x = 3; switch (x) { case 1 : { System.out.println("x vale 1"); break; } case 2: System.out.println("x vale 2"); break; default: System.out.println("x é maior que 2"); break; }
    67. 67. byte x = 3; switch (x) { case 1 : { Exercício System.out.println("x vale 1"); break; } case 2: System.out.println("x vale 2"); break; default: System.out.println("x é maior que 2"); break; • Criar um programa que contenha um valor } de um produto e um código de aumento. • Deverá imprimir o valor da taxa e o valor do produto final Código Aumento Dica 1 10 Criar 3 variaveis: Código da taxa de aumento 3 25 Valor do produto 6 30 Percentual da taxa 10 50
    68. 68. public static void main(String[] args) { Código int codigoTaxaAumento = 0; float valorProduto = 3; int percentualTaxa = -1; switch (codigoTaxaAumento) { case 1: percentualTaxa = 10; break; case 3: percentualTaxa = 25; valorProduto = valorProduto + (valorProduto * percentualTaxa / 100); break; case 6: percentualTaxa = 30; break; case 10: percentualTaxa = 50; break; default: percentualTaxa = 0; break; } valorProduto = valorProduto + (valorProduto * percentualTaxa / 100); System.out.println("Taxa: " + percentualTaxa + "%. Valor final: R$ " + valorProduto); }
    69. 69. Controladores - while int x = 0; Retorno while (x<=10) { System.out.println(x++); 0 } 1 2 3 4 while (true) { 5 if (condicao) 6 break; 7 } 8 9 10
    70. 70. Exercício• Criar um programa que imprima todos os números divisíveis por 2 de 1 a 100 usando o while
    71. 71. Códigopublic static void main(String[] args) { int count=1; while (count <= 100) { if (count % 2 == 0) System.out.println("Número: " + count); count++; } }
    72. 72. Controladores - forRetorno for ( int i = 0; i <= 10; i++ ) { 0 System.out.print(i); 1 } 2 3 4 5 for ( int i = 0; i <= 10; i++ ) { 6 System.out.println(i); 7 if (condicao) 8 break; 9 } 10
    73. 73. Exercício• Criar um programa que imprima todos os números divisíveis por 2 de 1 a 100 usando o for
    74. 74. Código public static void main(String[] args) { for (int i = 0; i <= 100; i++) { if (i % 2 == 0) System.out.println("Número: " + i); } }
    75. 75. Exceções
    76. 76. Exceções try { // primeira linha vigiada } catch (Exception e) { // primeira linha que será executada caso haja um exceção dotipo Exception } finally { // bloco que será executado, havendo ou não uma exceção(sempre!) }
    77. 77. Exceções try { 1. Aloca memória para abertura de um arquivo 2. Abre um arquivo 3. Imprime arquivo na porta da impressora 4. Fecha arquivo 5. Desaloca memória } catch (ArquivoNaoExisteException e1) { 1. Desaloca Memória 2. Mostra mensagem que arquivo não foi encontrado } catch (PortadaImpressoraNaoResponde e2) { 1. Desaloca Memória 2. Fecha Arquivo }
    78. 78. Exceçõespublic class AulaJava { public static void main(String[] args) { try { metodoDoMal(); } catch (IOException e) { // TODO Auto-generated catch block System.out.println("Erro: " + e.getMessage()); e.printStackTrace(); } } public static void metodoDoMal() throws IOException { throw new IOException("eu fiz um erro"); }}
    79. 79. • Exercício Criar um método chamado twittar(String texto) onde o mesmo poderá receber até 140 caracteres, se passar disso deverá jogar uma excessão• O método twittar deverá imprimir o texto caso tenha até o tamanho máximo permitido public class AulaJava { public static void main(String[] args) { try { metodoDoMal(); } catch (IOException e) { // TODO Auto-generated catch block System.out.println("Erro: " + e.getMessage()); e.printStackTrace(); } } Dica public static void metodoDoMal() throws IOException { texto.length() throw new IOException("eu fiz um erro"); } }
    80. 80. Códigopublic static void main(String[] args) { try { twittar("teste"); } catch (Exception e) { System.out.println("Erro: " + e.getMessage()); } } private static void twittar(String texto) throws Exception { if (texto.length() > 140) throw new Exception("Ultrapassou o limite de 140caracteres."); System.out.println(texto); }
    81. 81. Criando sua excessão
    82. 82. Criando sua excessão
    83. 83. Criando sua excessão
    84. 84. Criando sua excessão
    85. 85. Criando sua excessão
    86. 86. Criando sua excessão
    87. 87. Criando sua excessãopublic class LimiteDeCaracteresException extends Exception { private static final long serialVersionUID = 1L; public LimiteDeCaracteresException() { super("Limite de caracteres excedidos."); }}
    88. 88. Criando sua excessãoimport com.itcursos.exception.LimiteDeCaracteresException;public class AulaJava { public static void main(String[] args) { try { twittar("teste"); } catch (LimiteDeCaracteresException e) { System.out.println("Erro: " + e.getMessage()); } } private static void twittar(String texto) throwsLimiteDeCaracteresException { if (texto.length() > 140) throw new LimiteDeCaracteresException(); System.out.println(texto); }
    89. 89. public class Pessoa { Extends private String nome; public void ImprimeNome(){ System.out.println("o nome é:" + nome); } public String getNome() { return nome; public static void main(String[] args) { } Cliente c = new Cliente(); c.setNome("Carlos"); public void setNome(String nome) { this.nome = nome; c.ImprimeNome(); } } } public class Cliente extends Pessoa { }
    90. 90. public class Pessoa { Extends private String nome; public void ImprimeNome(){ System.out.println("o nome é:" + nome); } public String getNome() { return nome; public static void main(String[] args) { } Cliente c = new Cliente(); c.setNome("Carlos"); public void setNome(String nome) { this.nome = nome; c.ImprimeNome(); } } } public class Cliente extends Pessoa { }
    91. 91. public class Pessoa { Extends private String nome; public void ImprimeNome(){ System.out.println("o nome é:" + nome); } public String getNome() { return nome; public static void main(String[] args) { } Cliente c = new Cliente(); c.setNome("Carlos"); public void setNome(String nome) { this.nome = nome; c.ImprimeNome(); } } } public class Cliente extends Pessoa { }
    92. 92. public class Pessoa { Extends private String nome; public void ImprimeNome(){ System.out.println("o nome é:" + nome); } public String getNome() { return nome; public static void main(String[] args) { } Cliente c = new Cliente(); c.setNome("Carlos"); public void setNome(String nome) { this.nome = nome; c.ImprimeNome(); } } } public class Cliente extends Pessoa { }
    93. 93. Implementspublic interface Pessoa { public void falar(); } public static void main(String[] args) { Cliente c = new Cliente(); c.falar(); } public class Cliente implements Pessoa { public void falar() { System.out.println("olá"); } }
    94. 94. Implementspublic interface Pessoa { public void falar(); } public static void main(String[] args) { Cliente c = new Cliente(); c.falar(); } public class Cliente implements Pessoa { public void falar() { System.out.println("olá"); } }
    95. 95. Implementspublic interface Pessoa { public void falar(); } public static void main(String[] args) { Cliente c = new Cliente(); c.falar(); } public class Cliente implements Pessoa { public void falar() { System.out.println("olá"); } }
    96. 96. Implementspublic interface Pessoa { public void falar(); } public static void main(String[] args) { Cliente c = new Cliente(); c.falar(); } public class Cliente implements Pessoa { public void falar() { System.out.println("olá"); } }
    97. 97. Exercício• Crie uma interface AnimalVoador • Deverá ter o método voar()• Crie uma classe Mamifero • Deverá ter o método mamar()• Crie uma classe Morcego que implemente o AnimalVoador e extenda do Mamifero• Cria uma classe Superman que implemente AnimalVoador e extenda do Mamifero• Vamos instanciar um Superman e um Morcego no método main e chamar seus métodos
    98. 98. Códigopublic class Mamifero { public void mamar() { System.out.println("Estou mamando"); } } public interface AnimalVoador { void voar(); }
    99. 99. Código public class Superman extends Mamifero implements AnimalVoador { @Override public void voar() { System.out.println("Sou um homem voador. blaf blaf blaf"); } }public class Morcego extends Mamifero implements AnimalVoador { @Override public void voar() { System.out.println("Estou voando. blaf blaf blaf"); }}
    100. 100. Código public static void main(String[] args) { Superman superman = new Superman(); superman.voar(); superman.mamar(); Morcego morcego = new Morcego(); morcego.voar(); morcego.mamar(); } Console Sou um homem voador. blaf blaf blaf Estou mamando Estou voando. blaf blaf blaf Estou mamando
    101. 101. Overridesobrescrita
    102. 102. Vamos aproveitar
    103. 103. Código public class Mamifero { public void mamar() { System.out.println("Estou mamando"); } }public class Morcego extends Mamifero implements AnimalVoador { @Override public void voar() { System.out.println("Estou voando. blaf blaf blaf"); } @Override public void mamar() { super.mamar(); System.out.println("Mamaaando!"); }}
    104. 104. Código public class Mamifero { public void mamar() { System.out.println("Estou mamando"); } }public class Morcego extends Mamifero implements AnimalVoador { @Override public void voar() { System.out.println("Estou voando. blaf blaf blaf"); } @Override public void mamar() { super.mamar(); System.out.println("Mamaaando!"); }}
    105. 105. Código public class Mamifero { public void mamar() { System.out.println("Estou mamando"); } }public class Morcego extends Mamifero implements AnimalVoador { @Override public void voar() { System.out.println("Estou voando. blaf blaf blaf"); } @Override public void mamar() { super.mamar(); System.out.println("Mamaaando!"); }}
    106. 106. Código public class Mamifero { public void mamar() { System.out.println("Estou mamando"); } }public class Morcego extends Mamifero implements AnimalVoador { @Override public void voar() { System.out.println("Estou voando. blaf blaf blaf"); } @Override public void mamar() { super.mamar(); System.out.println("Mamaaando!"); }}
    107. 107. Códigopublic class AulaJava { public static void main(String[] args) { Morcego morcego = new Morcego(); morcego.voar(); morcego.mamar(); } }
    108. 108. Códigopublic class AulaJava { public static void main(String[] args) { Morcego morcego = new Morcego(); morcego.voar(); morcego.mamar(); } } Estou voando. blaf blaf blaf Estou mamando Mamaaando!
    109. 109. Códigopublic class AulaJava { public static void main(String[] args) { Morcego morcego = new Morcego(); morcego.voar(); morcego.mamar(); } } Console Estou voando. blaf blaf blaf Estou mamando Mamaaando!
    110. 110. Código Consolepublic class Morcego extends Mamifero implements AnimalVoador { @Override public void voar() { System.out.println("Estou voando. blaf blaf blaf"); } @Override public void mamar() { System.out.println("Mamaaando!"); }}
    111. 111. Código Consolepublic class Morcego extends Mamifero implements AnimalVoador { @Override public void voar() { System.out.println("Estou voando. blaf blaf blaf"); } @Override public void mamar() { System.out.println("Mamaaando!"); }}
    112. 112. Código Consolepublic class Morcego extends Mamifero implements AnimalVoador { @Override public void voar() { System.out.println("Estou voando. blaf blaf blaf"); } @Override public void mamar() { System.out.println("Mamaaando!"); }}
    113. 113. Código Console Estou voando. blaf blaf blaf Mamaaando!public class Morcego extends Mamifero implements AnimalVoador { @Override public void voar() { System.out.println("Estou voando. blaf blaf blaf"); } @Override public void mamar() { System.out.println("Mamaaando!"); }}
    114. 114. Overloadsobrecarga
    115. 115. Códigopublic class Superman extends Mamifero implements AnimalVoador { @Override public void voar() { System.out.println("Sou um homem voador. blaf blaf blaf"); } public void voar(String texto) { System.out.println(texto); }}
    116. 116. Códigopublic class Superman extends Mamifero implements AnimalVoador { @Override public void voar() { System.out.println("Sou um homem voador. blaf blaf blaf"); } public void voar(String texto) { System.out.println(texto); }}
    117. 117. Códigopublic class AulaJava { public static void main(String[] args) { Superman superman = new Superman(); superman.voar("Testando voo"); } } Console Testando voo
    118. 118. Códigopublic class AulaJava { public static void main(String[] args) { Superman superman = new Superman(); superman.voar("Testando voo"); } } Console Testando voo
    119. 119. Exercício• Criar uma classe Pessoa • Criar método falar()• Criar uma classe Cliente que extende de Pessoa • Faça um overload e um override do método falar• Implemente no main e verifique a saída no console
    120. 120. Vetor Segundo a definição mais clássica da informática, um vetor é uma estrutura de dados homogenia, ou seja, todos os elementos de um vetor são do mesmo tipo.
    121. 121. Vetor Segundo a definição mais clássica da informática, um vetor é uma estrutura de dados homogenia, ou seja, todos os elementos de um vetor são do mesmo tipo.int[] vetorDeInteiros;float[] vetorDeFloat;String[] vetorDeString;long[] vetorDeLong;
    122. 122. Vetor Segundo a definição mais clássica da informática, um vetor é uma estrutura de dados homogenia, ou seja, todos os elementos de um vetor são do mesmo tipo.Exemplos int[] vetorDeInteiros; float[] vetorDeFloat; String[] vetorDeString; long[] vetorDeLong;
    123. 123. VetorInicialização de dados do vetor int[] vetorDeInteiros = new int[4]; float[] vetorDeFloat = new float[5]; String[] vetorDeString = new String[6];
    124. 124. Vetor Exemplo índice vetor  0 2 int vetor[] = {2, 5, 4, 8, 5}; 1 5 2 4 3 8 4 5vetor.length - Retorna tamanho do vetorvetor[index] - retorna valor da posição informada
    125. 125. Exercício• Crie um vetor de qualquer tipo de tamanho 5• Preencha os 5 valores• Faça um laço percorrendo-os e escreva-o no console. E identifique quem é par e impar
    126. 126. Códigopublic static void main(String[] args) { int vetor[] = {2, 5, 4, 8, 5}; for (int i = 0; i < vetor.length; i++) { int numero = vetor[i]; if (numero % 2 == 0) System.out.println("Número par: " + vetor[i]); else System.out.println("Número impar: " + vetor[i]); } }
    127. 127. Códigopublic static void main(String[] args) { int vetor[] = {2, 5, 4, 8, 5}; for (int i = 0; i < vetor.length; i++) { int numero = vetor[i]; if (numero % 2 == 0) System.out.println("Número par: " + vetor[i]); else System.out.println("Número impar: " + vetor[i]); } } Número par: 2 Número impar: 5 Número par: 4 Número par: 8 Número impar: 5
    128. 128. Códigopublic static void main(String[] args) { int vetor[] = {2, 5, 4, 8, 5}; for (int i = 0; i < vetor.length; i++) { int numero = vetor[i]; if (numero % 2 == 0) System.out.println("Número par: " + vetor[i]); else System.out.println("Número impar: " + vetor[i]); } } Console Número par: 2 Número impar: 5 Número par: 4 Número par: 8 Número impar: 5
    129. 129. Lista import java.util.List; List<String> nomes = new ArrayList<String>(); nomes.add("Carlos"); nomes.add("Fulano"); nomes.size() - retorna tamanho da listanomes.get(index) - retorna valor da posição informadanomes.clear() - Limpa a listanomes.remove(index) - Remove valor da posição informada
    130. 130. List vs Vetor • Vetor • Mais lento • É ThreadSafe• ArrayList • Não é Necessário • Mais rápido implementar bloco “synchronized” • Não é ThreadSafe • Necessário implementar bloco “synchronized”
    131. 131. Synchronized synchronized (instance) { list.remove(0); }
    132. 132. Dojo Segundo o http://codingdojo.org/: “Um Coding Dojo é um encontro onde um grupo de programadores se reúne para trabalhar em conjunto em um desafio de programação. Eles estão lá para se divertir, e, através de uma metodologia pragmática, melhorar suas habilidades de programação e de trabalho em grupo.”
    133. 133. Regras• Desenvolvimento orientado a Testes: Desenvolver um teste antes mesmo de fazer qualquer tipo de implementação, com intuito de passar avisão correta da implementação desejada. • Pequenos Passos (ou passos de bebê): Deve-se desenvolver o código o mais simples possível para que o teste passe, quando for escrever um outro teste para o mesmo método deve-se escrever um teste um pouco mais complexo (ou melhor, um pouco menos simples). • Programação em par: Junção de 2 pessoas em um computador. Onde uma é o chamado piloto e a outra o co-piloto, ou seja, o piloto mete a mão no teclado, já o co-piloto, podemos dizer assim, “coordena” os passos tomados. Valendo salientar que essas 2 pessoas no Dojo devem ficar explicando em voz alta o que estão fazendo para a platéia.
    134. 134. Três momentos:Vermelho: Quando um ou mais testes não estão passando.A dupla que está de “posse” do computador deve fazer oteste passar e a platéia não deve falar neste momento, paranão atrapalhar.Verde: Quando os testes são rodados e os mesmospassados, aí sim, neste momento a platéia poderá darsugestões para melhor o código.Amarelo: Resumindo, refatoração. Após a platéia darsugestões de modificações.
    135. 135. Onde encontrar problemas? http://dojopuzzles.com/
    136. 136. Ano BissextoVocê está resolvendo este problema.Este problema foi utilizado em 80 Dojo(s).A cada 4 anos, a diferença de horas entre o ano solar e o do calendário convencional completa cerca de 24 horas (maisexatamente: 23 horas, 15 minutos e 864 milésimos de segundo). Para compensar essa diferença e evitar um descompasso emrelação às estações do ano, insere-se um dia extra no calendário e o mês de fevereiro fica com 29 dias. Essa correção éespecialmente importante para atividades atreladas às estações, como a agricultura e até mesmo as festas religiosas.Um determinado ano é bissexto se: ■ O ano for divisível por 4, mas não divisível por 100, exceto se ele for também divisível por 400.Exemplos:São bissextos por exemplo: ■ 1600 ■ 1732 ■ 1888 ■ 1944 ■ 2008Não são bissextos por exemplo: ■ 1742 ■ 1889 ■ 1951 ■ 2011Escreva uma função que determina se um determinado ano informado é bissexto ou não.

    ×