SlideShare une entreprise Scribd logo
1  sur  136
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 separadores

LARGURA_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 separadores

LARGURA_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
Classe
public 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ável
Uma variável é um objeto normalmente
localizado na memória utilizado para
representar valores, quando declaramos uma
variável estamos associando seu nome
(identificador) ao local da memória onde está
armazenado sua informação, as variáveis em
Java podem ser do tipo primitivo ou objeto.
Tipos primitivos
Objetos

String nome = new String();
Nome = "LuizRomero";
nome = nome.substring(0, 3);
Operadores
Operador        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 y
instaceof    Verif Instância   x instanceof y x é instancia da classe y
Operadores
Operador   Exemplo   Resultado
   +        1+1         2
   -        3-3         0
   /        4/2         2
   *        3*2         6
   %        3%2         1
Operadores
            X=4

Operador   Exemplo   Resultado
  ++        x++         5
   --        x--        3
Operadores

Operador   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 - if
if (x == 11) {
   System.out.println("x é igual 11");
}
Controladores - if
if (x == 11) {
   System.out.println("x é igual 11");
}

   if (x >= 33) {
      System.out.println("x é maior ou igual a 33");
   }
Controladores - if
if (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 de
organizar as classes javas
Método main

public 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ódigo
public 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ódigo

public static void main(String[] args) {
	 	 int count=1;
	 	 while (count <= 100) {
	 	 	 if (count % 2 == 0)
	 	 	 	 System.out.println("Número: " + count);
	 	 	 count++;
	 	 }
	 }
Controladores - for
Retorno
                   	   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 do
tipo 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ções
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();
	 	 }
	 }

	   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ódigo
public 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 140
caracteres.");

	   	   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ão

public class LimiteDeCaracteresException extends Exception {

	   private static final long serialVersionUID = 1L;
	
	   public LimiteDeCaracteresException() {
	   	 super("Limite de caracteres excedidos.");
	   }

}
Criando sua excessão
import 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) throws
LimiteDeCaracteresException {
	   	   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 {
    	
    }
Implements
public 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á");
        }
    }
Implements
public 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á");
        }
    }
Implements
public 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á");
        }
    }
Implements
public 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ódigo
public 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
Override


sobrescrita
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ódigo
public class AulaJava {

	   public static void main(String[] args) {	   	
	   	   Morcego morcego = new Morcego();
	   	   morcego.voar();
	   	   morcego.mamar();
	   }	

}
Código
public 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ódigo
public 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
                                                     Console




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!");
	   }
}
Código
                                                     Console




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!");
	   }
}
Código
                                                     Console




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!");
	   }
}
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!");
	   }
}
Overload


sobrecarga
Código
public 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ódigo
public 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ódigo

public class AulaJava {

	   public static void main(String[] args) {
	   	   Superman superman = new Superman();
	   	   superman.voar("Testando voo");
	   }	

}



                                               Console
                                               Testando voo
Código

public 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;
Vetor

Inicializaçã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       5

vetor.length - Retorna tamanho do vetor
vetor[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ódigo
public   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ódigo
public   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ódigo
public   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 lista
nomes.get(index) - retorna valor da posição informada
nomes.clear() - Limpa a lista
nomes.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 o
teste passar e a platéia não deve falar neste momento, para
não atrapalhar.

Verde: Quando os testes são rodados e os mesmos
passados, aí sim, neste momento a platéia poderá dar
sugestões para melhor o código.

Amarelo: Resumindo, refatoração. Após a platéia dar
sugestões de modificações.
Onde encontrar problemas?




          http://dojopuzzles.com/
Ano Bissexto
Você 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 (mais

exatamente: 23 horas, 15 minutos e 864 milésimos de segundo). Para compensar essa diferença e evitar um descompasso em

relaçã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

 ■   2008

Não são bissextos por exemplo:

 ■   1742

 ■   1889

 ■   1951

 ■   2011

Escreva uma função que determina se um determinado ano informado é bissexto ou não.

Contenu connexe

Tendances

Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
12anogolega
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Java
backdoor
 

Tendances (20)

Curso de Java: Threads
Curso de Java: ThreadsCurso de Java: Threads
Curso de Java: Threads
 
Generics in java
Generics in javaGenerics in java
Generics in java
 
Java nio ( new io )
Java nio ( new io )Java nio ( new io )
Java nio ( new io )
 
Java Logging
Java LoggingJava Logging
Java Logging
 
Threads 08: Executores e Futures
Threads 08: Executores e FuturesThreads 08: Executores e Futures
Threads 08: Executores e Futures
 
Acessando o MySql com o Python
Acessando o MySql com o PythonAcessando o MySql com o Python
Acessando o MySql com o Python
 
Spring boot jpa
Spring boot jpaSpring boot jpa
Spring boot jpa
 
PYTHON - TKINTER - GUI - PART 1.ppt
PYTHON - TKINTER - GUI - PART 1.pptPYTHON - TKINTER - GUI - PART 1.ppt
PYTHON - TKINTER - GUI - PART 1.ppt
 
inheritance c++
inheritance c++inheritance c++
inheritance c++
 
Interfaces in java
Interfaces in javaInterfaces in java
Interfaces in java
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Modules and packages in python
Modules and packages in pythonModules and packages in python
Modules and packages in python
 
Java Course 8: I/O, Files and Streams
Java Course 8: I/O, Files and StreamsJava Course 8: I/O, Files and Streams
Java Course 8: I/O, Files and Streams
 
POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Corso Java 1 - BASE
Corso Java 1 - BASECorso Java 1 - BASE
Corso Java 1 - BASE
 
Threads 10: CompletableFuture
Threads 10: CompletableFutureThreads 10: CompletableFuture
Threads 10: CompletableFuture
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Java
 
Polymorphism in java
Polymorphism in java Polymorphism in java
Polymorphism in java
 
Collections framework in java
Collections framework in javaCollections framework in java
Collections framework in java
 

En vedette

Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
Armando Daniel
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
munosai
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
Leonardo Melo Santos
 

En vedette (17)

Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Fundamentos do java
Fundamentos do javaFundamentos do java
Fundamentos do java
 
Semana 3: Introdução à linguagem de programação Java
Semana  3: Introdução à linguagem de programação Java Semana  3: Introdução à linguagem de programação Java
Semana 3: Introdução à linguagem de programação Java
 
Curso C# em Mono - Orientação a Objeto Basico
Curso C# em Mono - Orientação a Objeto BasicoCurso C# em Mono - Orientação a Objeto Basico
Curso C# em Mono - Orientação a Objeto Basico
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
ApresentaçãO De Java
ApresentaçãO De JavaApresentaçãO De Java
ApresentaçãO De Java
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 

Similaire à Introdução a java

Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
FelipeSoares580387
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
Maurício Linhares
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
Maurício Linhares
 
LabMM3 - Aula teórica 05
LabMM3 - Aula teórica 05LabMM3 - Aula teórica 05
LabMM3 - Aula teórica 05
Carlos Santos
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
Maurício Linhares
 

Similaire à Introdução a java (20)

Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de Programacao
 
Java Básico
Java BásicoJava Básico
Java Básico
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
 
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
 
Introdução ao Java 5
Introdução ao Java 5Introdução ao Java 5
Introdução ao Java 5
 
02 algoritmo
02   algoritmo02   algoritmo
02 algoritmo
 
Aula4
Aula4Aula4
Aula4
 
Minicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraMinicurso Ruby on Rails Dextra
Minicurso Ruby on Rails Dextra
 
Linguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação JavaLinguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação Java
 
Curso de Delphi - Lógica de Programação 2
Curso de Delphi - Lógica de Programação 2Curso de Delphi - Lógica de Programação 2
Curso de Delphi - Lógica de Programação 2
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
 
Java 06 Strings Arrays
Java 06 Strings ArraysJava 06 Strings Arrays
Java 06 Strings Arrays
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
 
LabMM3 - Aula teórica 05
LabMM3 - Aula teórica 05LabMM3 - Aula teórica 05
LabMM3 - Aula teórica 05
 
Princípios de projeto e boas práticas de programação em Java - Márcio Torres
Princípios de projeto e boas práticas de programação em Java - Márcio TorresPrincípios de projeto e boas práticas de programação em Java - Márcio Torres
Princípios de projeto e boas práticas de programação em Java - Márcio Torres
 
Aula Algoritmo e Programação - cap2
Aula Algoritmo e Programação - cap2Aula Algoritmo e Programação - cap2
Aula Algoritmo e Programação - cap2
 
AULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.pptAULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.ppt
 
AULA 1 - Classes e Objetos.ppt
AULA 1 - Classes e Objetos.pptAULA 1 - Classes e Objetos.ppt
AULA 1 - Classes e Objetos.ppt
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 

Plus de Carlos Cavalcanti

Plus de Carlos Cavalcanti (14)

Study jam - dia 1
Study jam  - dia 1Study jam  - dia 1
Study jam - dia 1
 
Hello world ao mundo mobile focado no android
Hello world ao mundo mobile focado no androidHello world ao mundo mobile focado no android
Hello world ao mundo mobile focado no android
 
O mobile no mundo corporativo
O mobile no mundo corporativo O mobile no mundo corporativo
O mobile no mundo corporativo
 
Testes automatizados de interface no Android
Testes automatizados de interface no AndroidTestes automatizados de interface no Android
Testes automatizados de interface no Android
 
Diga hello world ao mundo mobile
Diga hello world ao mundo mobileDiga hello world ao mundo mobile
Diga hello world ao mundo mobile
 
GDG Natal
GDG NatalGDG Natal
GDG Natal
 
Aula android 05
Aula android 05Aula android 05
Aula android 05
 
Aula android 04
Aula android 04Aula android 04
Aula android 04
 
Aula android 03
Aula android 03Aula android 03
Aula android 03
 
Aula android 01.pdf
Aula android 01.pdfAula android 01.pdf
Aula android 01.pdf
 
Aula android 02.pdf
Aula android 02.pdfAula android 02.pdf
Aula android 02.pdf
 
Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
Android: Mercado&Desenvolvimento
Android: Mercado&DesenvolvimentoAndroid: Mercado&Desenvolvimento
Android: Mercado&Desenvolvimento
 

Introdução a java

  • 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
  • 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. 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. 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. 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. 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. 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. Métodos • A primeira letra deve ser minúscula, e depois as regras do camelCase deverão serem aplicadas.
  • 12. Métodos • A primeira letra deve ser minúscula, e depois as regras do camelCase deverão serem aplicadas. getBalance
  • 13. Métodos • A primeira letra deve ser minúscula, e depois as regras do camelCase deverão serem aplicadas. getBalance doCalculation
  • 14. Métodos • A primeira letra deve ser minúscula, e depois as regras do camelCase deverão serem aplicadas. getBalance setCustomerName doCalculation
  • 15. Variáveis • Como nos métodos, o formato camelCase deve ser usado, começando com uma letra minúscula.
  • 16. Variáveis • Como nos métodos, o formato camelCase deve ser usado, começando com uma letra minúscula. tamanhoBotao
  • 17. Variáveis • Como nos métodos, o formato camelCase deve ser usado, começando com uma letra minúscula. tamanhoBotao valorCoca
  • 18. Variáveis • Como nos métodos, o formato camelCase deve ser usado, começando com uma letra minúscula. tamanhoBotao minhaString valorCoca
  • 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. 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 LARGURA_MAXIMA
  • 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 separadores LARGURA_MAXIMA ALTURA_MAXIMA
  • 22. Método getters • Se a propriedade não for booleana, o prefixo do método getter deve ser get.
  • 23. Método getters • Se a propriedade não for booleana, o prefixo do método getter deve ser get. getNome
  • 24. Método getters • Se a propriedade não for booleana, o prefixo do método getter deve ser get. getNome getIdade
  • 25. Método getters • Se a propriedade não for booleana, o prefixo do método getter deve ser get. getNome getTamanho getIdade
  • 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. Método getters • Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is
  • 28. Método getters • Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is isAdmin
  • 29. Método getters • Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is isAdmin getAdmin
  • 30. Método getters • Se a propriedade for booleana, o prefixo do método getter poderá ser get ou is isAdmin getAdmin isUsuarioNormal
  • 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. Método setters • O prefixo do método setter deverá ser set.
  • 33. Método setters • O prefixo do método setter deverá ser set. setNome
  • 34. Método setters • O prefixo do método setter deverá ser set. setIdade setNome
  • 35. Método setters • O prefixo do método setter deverá ser set. setIdade setNome setSobrenome
  • 36. Método setters • O prefixo do método setter deverá ser set. setIdade setNome setSexo setSobrenome
  • 37. Classe public 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. Variável Uma variável é um objeto normalmente localizado na memória utilizado para representar valores, quando declaramos uma variável estamos associando seu nome (identificador) ao local da memória onde está armazenado sua informação, as variáveis em Java podem ser do tipo primitivo ou objeto.
  • 40. Objetos String nome = new String(); Nome = "LuizRomero"; nome = nome.substring(0, 3);
  • 41. Operadores Operador 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 y instaceof Verif Instância x instanceof y x é instancia da classe y
  • 42. Operadores Operador Exemplo Resultado + 1+1 2 - 3-3 0 / 4/2 2 * 3*2 6 % 3%2 1
  • 43. Operadores X=4 Operador Exemplo Resultado ++ x++ 5 -- x-- 3
  • 44. Operadores Operador 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
  • 47. Controladores - if if (x == 11) { System.out.println("x é igual 11"); }
  • 48. Controladores - if if (x == 11) { System.out.println("x é igual 11"); } if (x >= 33) { System.out.println("x é maior ou igual a 33"); }
  • 49. Controladores - if if (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"); }
  • 59. Packages (pacotes) Package é uma forma de organizar as classes javas
  • 60. Método main public class AulaJava { public static void main(String[] args) { } }
  • 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.");
  • 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. 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. Código public 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. 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. 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. 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. 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. Exercício • Criar um programa que imprima todos os números divisíveis por 2 de 1 a 100 usando o while
  • 71. Código public static void main(String[] args) { int count=1; while (count <= 100) { if (count % 2 == 0) System.out.println("Número: " + count); count++; } }
  • 72. Controladores - for Retorno 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. Exercício • Criar um programa que imprima todos os números divisíveis por 2 de 1 a 100 usando o for
  • 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); } }
  • 76. Exceções try { // primeira linha vigiada } catch (Exception e) { // primeira linha que será executada caso haja um exceção do tipo Exception } finally { // bloco que será executado, havendo ou não uma exceção (sempre!) }
  • 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. Exceções 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(); } } public static void metodoDoMal() throws IOException { throw new IOException("eu fiz um erro"); } }
  • 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. Código public 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 140 caracteres."); System.out.println(texto); }
  • 87. Criando sua excessão public class LimiteDeCaracteresException extends Exception { private static final long serialVersionUID = 1L; public LimiteDeCaracteresException() { super("Limite de caracteres excedidos."); } }
  • 88. Criando sua excessão import 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) throws LimiteDeCaracteresException { if (texto.length() > 140) throw new LimiteDeCaracteresException(); System.out.println(texto); }
  • 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. 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. 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. 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. Implements public 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. Implements public 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. Implements public 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. Implements public 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. 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. Código public class Mamifero { public void mamar() { System.out.println("Estou mamando"); } } public interface AnimalVoador { void voar(); }
  • 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. 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
  • 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. 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. 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. 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. Código public class AulaJava { public static void main(String[] args) { Morcego morcego = new Morcego(); morcego.voar(); morcego.mamar(); } }
  • 108. Código public 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. Código public 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. Código Console 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!"); } }
  • 111. Código Console 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!"); } }
  • 112. Código Console 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!"); } }
  • 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!"); } }
  • 115. Código public 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. Código public 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. Código public class AulaJava { public static void main(String[] args) { Superman superman = new Superman(); superman.voar("Testando voo"); } } Console Testando voo
  • 118. Código public class AulaJava { public static void main(String[] args) { Superman superman = new Superman(); superman.voar("Testando voo"); } } Console Testando voo
  • 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. 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. 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. 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. Vetor Inicialização de dados do vetor int[] vetorDeInteiros = new int[4]; float[] vetorDeFloat = new float[5]; String[] vetorDeString = new String[6];
  • 124. Vetor Exemplo índice vetor  0 2 int vetor[] = {2, 5, 4, 8, 5}; 1 5 2 4 3 8 4 5 vetor.length - Retorna tamanho do vetor vetor[index] - retorna valor da posição informada
  • 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. Código public 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. Código public 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. Código public 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. Lista import java.util.List; List<String> nomes = new ArrayList<String>(); nomes.add("Carlos"); nomes.add("Fulano"); nomes.size() - retorna tamanho da lista nomes.get(index) - retorna valor da posição informada nomes.clear() - Limpa a lista nomes.remove(index) - Remove valor da posição informada
  • 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. Synchronized synchronized (instance) { list.remove(0); }
  • 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. 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. Três momentos: Vermelho: Quando um ou mais testes não estão passando. A dupla que está de “posse” do computador deve fazer o teste passar e a platéia não deve falar neste momento, para não atrapalhar. Verde: Quando os testes são rodados e os mesmos passados, aí sim, neste momento a platéia poderá dar sugestões para melhor o código. Amarelo: Resumindo, refatoração. Após a platéia dar sugestões de modificações.
  • 135. Onde encontrar problemas? http://dojopuzzles.com/
  • 136. Ano Bissexto Você 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 (mais exatamente: 23 horas, 15 minutos e 864 milésimos de segundo). Para compensar essa diferença e evitar um descompasso em relaçã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 ■ 2008 Não são bissextos por exemplo: ■ 1742 ■ 1889 ■ 1951 ■ 2011 Escreva uma função que determina se um determinado ano informado é bissexto ou não.

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. - Vari&amp;#xE1;veis primitivas: podem ser do tipo byte, short, int, long, float, double, char ou boolean.\n
  33. - Vari&amp;#xE1;veis de refer&amp;#xEA;ncia: usada para referenciar um objeto. Quando usamos uma vari&amp;#xE1;vel de refer&amp;#xEA;ncia definimos qual o tipo do objeto ou um subtipo do tipo do objeto (veremos isso mais para frente).\n\na diferen&amp;#xE7;a entre variaveis primitivas e variaveis de tipo de referencia &amp;#xE9; que as primitivas n&amp;#xE3;o possuem comportamento, quando se chama um m&amp;#xE9;todo passando uma varivael primitiva\n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n