• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introdução a java
 

Introdução a java

on

  • 1,969 views

Slide da aula de Revisão a linguagem Java

Slide da aula de Revisão a linguagem Java

Statistics

Views

Total Views
1,969
Views on SlideShare
1,969
Embed Views
0

Actions

Likes
2
Downloads
149
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \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 Introdução a java Presentation Transcript

  • Revisão
  • Carlos Cavalcanti
  • 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
  • Padrões
  • 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)
  • 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
  • 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
  • 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
  • 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
  • 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
  • Métodos• A primeira letra deve ser minúscula, e depois as regras do camelCase deverão serem aplicadas.
  • Métodos • A primeira letra deve ser minúscula, e depois as regras do camelCase deverão serem aplicadas.getBalance
  • Métodos • A primeira letra deve ser minúscula, e depois as regras do camelCase deverão serem aplicadas.getBalance doCalculation
  • Métodos • A primeira letra deve ser minúscula, e depois as regras do camelCase deverão serem aplicadas.getBalance setCustomerName doCalculation
  • Variáveis• Como nos métodos, o formato camelCase deve ser usado, começando com uma letra minúscula.
  • Variáveis • Como nos métodos, o formato camelCase deve ser usado, começando com uma letra minúscula.tamanhoBotao
  • Variáveis • Como nos métodos, o formato camelCase deve ser usado, começando com uma letra minúscula.tamanhoBotao valorCoca
  • Variáveis • Como nos métodos, o formato camelCase deve ser usado, começando com uma letra minúscula.tamanhoBotao minhaString valorCoca
  • 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
  • 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
  • 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
  • Método getters• Se a propriedade não for booleana, o prefixo do método getter deve ser get.
  • Método getters • Se a propriedade não for booleana, o prefixo do método getter deve ser get.getNome
  • Método getters • Se a propriedade não for booleana, o prefixo do método getter deve ser get.getNome getIdade
  • Método getters • Se a propriedade não for booleana, o prefixo do método getter deve ser get.getNome getTamanho getIdade
  • Método getters • Se a propriedade não for booleana, o prefixo do método getter deve ser get.getNome getTamanho getIdade getDataNascimento
  • Método getters• Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is
  • Método getters• Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is isAdmin
  • Método getters• Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is isAdmin getAdmin
  • Método getters• Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is isAdmin getAdmin isUsuarioNormal
  • Método getters• Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is isAdmin getAdmin isUsuarioNormal getUsuarioNormal
  • Método setters• O prefixo do método setter deverá ser set.
  • Método setters• O prefixo do método setter deverá ser set. setNome
  • Método setters• O prefixo do método setter deverá ser set. setIdade setNome
  • Método setters• O prefixo do método setter deverá ser set. setIdade setNome setSobrenome
  • Método setters• O prefixo do método setter deverá ser set. setIdade setNome setSexo setSobrenome
  • 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; }}
  • 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.
  • Tipos primitivos
  • ObjetosString nome = new String();Nome = "LuizRomero";nome = nome.substring(0, 3);
  • 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
  • OperadoresOperador Exemplo Resultado + 1+1 2 - 3-3 0 / 4/2 2 * 3*2 6 % 3%2 1
  • Operadores X=4Operador Exemplo Resultado ++ x++ 5 -- x-- 3
  • 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
  • Controladores• if• while• for• switch
  • Controladores - if
  • Controladores - ifif (x == 11) { System.out.println("x é igual 11");}
  • Controladores - ifif (x == 11) { System.out.println("x é igual 11");} if (x >= 33) { System.out.println("x é maior ou igual a 33"); }
  • 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");}
  • code on
  • Criando projeto
  • Criando projeto
  • Criando projeto
  • Criando projeto
  • Criando classe
  • Criando classe
  • Criando classe
  • Packages (pacotes)
  • Packages (pacotes)Package é uma forma deorganizar as classes javas
  • Método mainpublic class AulaJava { public static void main(String[] args) { }}
  • 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.");
  • Para rodar aplicação
  • 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."); }
  • 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);
  • 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); }
  • 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; }
  • 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
  • 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); }
  • 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
  • Exercício• Criar um programa que imprima todos os números divisíveis por 2 de 1 a 100 usando o while
  • Códigopublic static void main(String[] args) { int count=1; while (count <= 100) { if (count % 2 == 0) System.out.println("Número: " + count); count++; } }
  • 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
  • Exercício• Criar um programa que imprima todos os números divisíveis por 2 de 1 a 100 usando o for
  • 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); } }
  • Exceções
  • 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!) }
  • 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 }
  • 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"); }}
  • • 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"); } }
  • 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); }
  • Criando sua excessão
  • Criando sua excessão
  • Criando sua excessão
  • Criando sua excessão
  • Criando sua excessão
  • Criando sua excessão
  • Criando sua excessãopublic class LimiteDeCaracteresException extends Exception { private static final long serialVersionUID = 1L; public LimiteDeCaracteresException() { super("Limite de caracteres excedidos."); }}
  • 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); }
  • 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 { }
  • 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 { }
  • 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 { }
  • 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 { }
  • 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á"); } }
  • 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á"); } }
  • 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á"); } }
  • 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á"); } }
  • 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
  • Códigopublic class Mamifero { public void mamar() { System.out.println("Estou mamando"); } } public interface AnimalVoador { void voar(); }
  • 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"); }}
  • 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
  • Overridesobrescrita
  • Vamos aproveitar
  • 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!"); }}
  • 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!"); }}
  • 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!"); }}
  • 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!"); }}
  • Códigopublic class AulaJava { public static void main(String[] args) { Morcego morcego = new Morcego(); morcego.voar(); morcego.mamar(); } }
  • 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!
  • 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!
  • 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!"); }}
  • 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!"); }}
  • 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!"); }}
  • 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!"); }}
  • Overloadsobrecarga
  • 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); }}
  • 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); }}
  • Códigopublic class AulaJava { public static void main(String[] args) { Superman superman = new Superman(); superman.voar("Testando voo"); } } Console Testando voo
  • Códigopublic class AulaJava { public static void main(String[] args) { Superman superman = new Superman(); superman.voar("Testando voo"); } } Console Testando voo
  • 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
  • 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.
  • 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;
  • 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;
  • VetorInicialização de dados do vetor int[] vetorDeInteiros = new int[4]; float[] vetorDeFloat = new float[5]; String[] vetorDeString = new String[6];
  • 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
  • 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
  • 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]); } }
  • 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
  • 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
  • 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
  • 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”
  • Synchronized synchronized (instance) { list.remove(0); }
  • 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.”
  • 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.
  • 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.
  • Onde encontrar problemas? http://dojopuzzles.com/
  • 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.