SlideShare uma empresa Scribd logo
1 de 111
Baixar para ler offline
Mini-Curso de
   Java Básico
Quem vos fala...
 Eliane  Craveiro          Raquel  Carsi
   Estudante do curso        Concluinte do curso
    de Análise e               de Análise e
    Desenvolvimento de         Desenvolvimento de
    Sistemas                   Sistemas
   Trabalha com Java no      Trabalha com Java no
    projeto SIEP, da           projeto SIEP, da
    SETEC/MEC                  SETEC/MEC
   Desenvolve com Java       Desenvolve com Java
    desde 2007                 desde 2006
                              Weblog:
                              raquelcarsi.wordpress.co
                              m
Sobre o mini-curso
Apresentar   os principais conceitos de Java

Apresentar conceitos básicos de
 Orientação a Objetos

Elaborar   práticas

Em   apenas 3 horas !!!
Perguntas, dúvidas, sugestões são
 SEMPRE bem vindos, a sua participação
 no minicurso é fundamental.




...um detalhe
Agenda
O que é Java?
Instalando ...
Criando o primeiro programa
Variáveis primitivas
Tipo Primitivos
Controle de Fluxo
Orientação a Objetos
Array
Modificadores de Acesso
Herança e polimorfismo
Classes Abstratas
Interface
O   que é Java?

Características;


Máquina    Virtual;

Java   Lento;

JVM?   JRE? JDK?


Java
Linguagem     de Programação;

Criada   em 1991;

James    Gosling;

Oak   ( Carvalho );


O que é Java?
Simples;
Orientada    a Objetos;
Familiar;
Robusta;
Segura;
Portável    (independente de plataforma);




Características...
JVM – Java Virtual Machine
Fases de um Programa
Máquina   virtual imaginária;

Portabilidade   do Java;

Diversidade   de JVMs.




JVM?
JVM: Coletor de Lixo – Garbage
Collection
Write once, run anywhere!!
JDK
 ◦ O Java Development Kit é composto pelo JRE e
   um conjunto de ferramentas úteis ao
   desenvolvedor Java;
 ◦ Onde baixar:

JRE
 ◦ O Java Runtime Environment contém tudo
   aquilo que um usuário comum precisa para
   executar uma aplicação Java (JVM e
   bibliotecas), como o próprio nome diz é o
   “Ambiente de execução Java”.

JDK? JRE?
Java   lento???




Desvantagens
Instalando o Java
Criando e Executando o Primeiro
         Programa (Hello Word)
...na linha de comando.
No   bloco de notas:

  public class HelloWord{

         public static void main (String[] args){

                 System.out.println (quot;Ola mundoquot;);

         }
  }
Gerar o Bytecode usando
javac
Se tudo ocorrer bem....
...usando o eclipse:
Objetivo   de uma IDE:
 ◦ Auxiliar no
   desenvolvimento;
 ◦ Outra IDE open source:
   Netbeans




Apresentando o Eclipse
Variáveis
    Faça assim:

             TipoDaVariavel nomeDaVariavel;

 Exemplo:
           int idade;
 
     Uma idade do tipo int que guarda um número inteiro

     A partir de agora você pode usá-la!



Declarando variáveis
    Você pode atribuir valores!

               idade=15;

 
     Quer dizer que idade agora vale 15

     Você pode usar esse valor!

            System.out.println(idade);

 
     O valor da idade será mostrado na tela.




Usando variáveis
 Você pode declarar uma outra variável
 e usar o valor da variável idade!

 int idadeNoAnoQueVem;
 idadeNoAnoQueVem = idade + 1;


 Idade agora vale 16
 




Usando variáveis
Quando você declara, você já pode atribuir um
 valor!

 Exemplo:
 int idade = 15;

    Você pode usar os operadores +,-,/, * e o %.
 int quatro = 2 + 2;
 int seis = 3 * 2;
 int um = 5%2;


 
  5 dividido por 2 dá 2 e tem resto 1. Esse
 operador % pega o resto da divisão inteira.


Usando variáveis
   Para armazenar valores reais use double!
 double pi = 3,14;

    O boolean armazena valor verdadeiro ou falso!

 boolean verdade = true;
 boolean mentira = false;

  O tipo char guarda apenas um caractere! Você deve
 usar aspas simples!
 char letra = 'a';




Usando variáveis
   Podem conter caracteres, dígitos, _ e $
    Devem começar com caractere, _ ou $
    Não podem conter espaços
    Maiúsculas diferentes de minúsculas

 Exemplos

      nota ; x ; y ; raio ; mediaTotal
      media_total ; media$total ; media1
      media2 ; media_1 ; media$1
      nomePai ; NomePai ; nome_mãe




Nomes de Variáveis
Tipos Primitivos
   Representam valores fundamentais

    Tipos:


      boolean   char   byte short
      int       long   float double




Tipos Primitivos
Tipo Primitivos
Palavra                  Descrição              Tamanho/formato
                                     Inteiros
byte      Inteiro de 1 byte                          8 bits
short     Inteiro pequeno                           16 bits
int       Inteiro                                   32 bits
long      Longo                                     64 bits
                             Números Reais
float   Ponto flutuante de precisão simples         32 bits
double Ponto flutuante de precisão dupla            64 bits
                               Outros tipos
char    Um caractere                            16 bits-Unicode
boolean Um valor lógico                          true ou false




Tipos Primitivos
int x;                  boolean isPermitido = true;
 x = 234;                double d = 1235.56;
 byte b = 89;            boolean isAcessado;
                         isAcessado = false;



 boolean ligado;               char c = ‘R’;
 ligado = isPermitido;         int z = x;
 long big = 3456789;           float f = 72.5f;


Exemplos
Operadores
Operador                                Operador
 Operador de Java                        Operador de Java
                    Descrição                               Descrição
                                                            Inferior, igual ou
 []                 Array índice         < <=
                                                            inferior a
 ()                 Método chamada                          Superior, superior
                                         > >=
                                                            ou igual a
 .                  Membro acesso
                                         instanceof         Referência teste
                    Prefixo ou
 ++
                    incremento postfix   ==                 Igual a
                    Prefixo ou
 --                 decrementar
                    postfix              !=                 Não é igual a
 +-                 Unário plus, minus
 ~                  NÃO bitwise          &                  Bitwise AND
                    Booleano (lógico)
 !                                                          Booleano (lógico)
                    NÃO                  &
 new                Objeto criação                          E
                    Multiplicação,       ^                  Bitwise XOR
 */%
                    divisão, resto                          Booleano (lógico)
 +-                 Adição, subtração    ^
                                                            XOR
                    Seqüência
 +                                       |                  Bitwise OR
                    concatenação
                    Assinado bit shift                      Booleano (lógico)
 <<                 esquerda para a      |
                                                            OU
                    direita
                    Assinado bit shift                      Booleano (lógico)
                                         &&
 >>                 direita para a                          E
                                                            Booleano (lógico)
                    esquerda bit shift   ||
                    Unsigned                                OU
 >>>                direita para a       ?:                 Condicional
                    esquerda
                                         =                  Atribuição



Operadores
Estruturas de Controle de Fluxo
    Executa blocos de código delimitados
    por chaves {...}




Estruturas de Controle de Fluxo
   if
    if/else
    while
    do
    for
    switch



Estruturas de Controle de Fluxo
Sintaxe:
  if (condicaoBooleana) {
      condicaoBooleana              CondicaoBooleana é uma expressão
      instruções;                  Que retorna true ou false. Você pode
  }                                usar os operadores <, >, <=, >= e
                                   outros.



Exemplos:
 int idade = 15;                         String nome = “Raquel”;
 if (idade < 18) {
             18                          If (nome.equals(“Eliane”)){
   System.out.println(quot;Não pode entrarquot;); System.out.println(“O nome é Eliane”);
 }                                       }



if
Sintaxe:
if (condicaoBooleana) {
    condicaoBooleana                Indica o comportamento que deve
       instruções;                  ser executado no caso da expressão
} else if (condicaoBooleana) {
           condicaoBooleana         booleana ser falsa!
       instruções;
} else {
       instruções;
}


                                 int idade = 15;
                                 if (idade < 18) {
   Exemplo:                          System.out.println(quot;Não pode entrarquot;);
                                 }
                                 else {
                                     System.out.println(quot;Pode entrarquot;);
                                 }

If / else
Sintaxe:
   while (condição) {                 Comando usado para fazer um
   } comando;                         laço(loop).




Exemplo:

                        int idade = 15;
                        while(idade < 18) {
                           System.out.println(idade);
                           idade = idade + 1;
                        }


While
Sintaxe:

    for (inicializacao; condicao; incremento) {
       codigo;
    }

    int soma = 0;
    for (int i = 0 ; i < 10 ; i++)
          soma+=i;
    System.out.println(“A soma é “+soma);

for
for
switch(seletor_inteiro)       switch(letra)
 {                             {
     case valor_inteiro_1 :       case 'A' :
             instruções;            System.out.println(quot;Aquot;);
             break;                     break;
    case valor_inteiro_2 :        case 'B' :
            instruções;             System.out.println(quot;Bquot;);
           break;                       break;
    default:                      default:
            instruções;             System.out.println(quot;?quot;);
  }                           }




switch
Controle de loop – break e
continue
Palavras Reservadas
Palavras reservadas no Java
Orientação a Objetos
Sistemas  são complexos
    Muito difícil um único indivíduo
   entender todo o sistema.
    Podemos gerenciar a complexidade,
   não podemos eliminá-la.
    É necessário pensar na evolução do
   sistema



Porque OO ??
   Modelagem OO
      O ser humano conhece o mundo e
     gerencia sua complexidade através de
     objetos
      É como desenvolvemos nossa cognição.
     Desenvolvemos o conceito de OBJETO
    Exemplos de objetos
     bola, carro, camisa, luz, casa, calça,
      música, conta bancária, poema, etc



Porque OO ??
Abstrações de dados do mundo real;
Possuem:
 Características(Atributos);
 Comportamento(Métodos).


 Objeto           Característica Comportame
 Pessoa           s
                  Nome, idade    nto andar
                                 Falar,
 Cachorro         Nome, raça       Latir, correr
 Conta Bancaria   Saldo, agência   Creditar,
 Carro            Cor, marca       Debitar frear
                                   Acelerar,



Objetos
Classe
      Classe é onde conceituamos o objeto
      É a essência do objeto
      Define os atributos e métodos
 Objeto
    Objeto é uma instância de uma classe
    Objetos semelhantes pertencem a
   mesma classe




Classe e objetos
“Pode parecer óbvio, mas a dificuldade
 inicial do paradigma da orientação a
objetos é justo saber distinguir o que é
        classe e o que é objeto.


É comum o iniciante utilizar, obviamente
 de forma errada, essas duas palavras
          como sinônimos.”
Objeto
  Qualquer entidade que possui características e
  comportamento

Classe
  Descreve um tipo de objeto
  Define atributos e métodos

Atributo
  Define características do objeto

Método
  Operações que o objeto pode realizar
Considere   um programa para um Banco

 Uma    entidade importante é a conta

 Toda   conta tem:

          número, nome do cliente, saldo, limite

 Toda  conta faz ou o que gostaríamos de “pedir a
 conta”:

          sacar, depositar, imprimir o nome do dono da conta,
          ver o saldo atual, transferir dinheiro




Criando um tipo

  O projeto da conta, isto é, a definição da
 conta, é a classe.
            classe

 
   O que podemos construir a partir dessa
 classe, as contas de verdade, são os
 objetos.
 objetos

 
   Mas para acessar todos esses dados,
 precisamos construir uma conta, ou melhor,
 criar uma instância da classe.



Criando um tipo
Classes e Objetos em Java
class Conta {
   int numero;
   String nome;      Atributos
   double saldo;     características do objeto
   double limite;
   // ..
                             Métodos
}
                             Operações que o
                             objeto pode realizar
class Conta {
  // ..atributos
  void sacar(double quantia){..}
  boolean depositar(double quantia, Conta conta){..}
}
Sintaxe Básica:

            class nomeClasse{
                  //Atributos
                  //Métodos
            }

Classe = Atributos + Métodos
1 classe => 1 arquivo


Classe em Java

 Para criar (construir, instanciar) uma
Conta, basta usar a palavra chave new ...


  Para acessar o objeto é preciso
referenciar esse objeto. É necessário uma
variável!

     Conta minhaConta;
     minhaConta = new Conta();


Criando e usando um objeto
  Agora, podemos acessar o objeto recém criado para
alterar seu nome, seu
saldo etc:

    Conta minhaConta;
    minhaConta = new Conta();

    minhaConta.nome = quot;Dukequot;;
    minhaConta.saldo = 1000.0;

    System.out.println(quot;Saldo atual: quot; + minhaConta.saldo);


Agora, minhaConta pertence ao Duke, e tem saldo de mil reais.





Criando e usando um objeto
Métodos

 De que maneira uma que uma conta
saca dinheiro?



 Os métodos representam o que cada
conta faz e como isso é feito – os seus
comportamentos



Métodos
void sacar(double quantidade) {
    double novoSaldo = this.saldo - quantidade;
    this.saldo = novoSaldo;
}

 void = nenhuma informação de retorno


 Quanto você quer sacar? Esse valor é o parâmetro do
método que está entre parênteses. Essa variável é
temporária, ou seja, local.


 this mostra que é um atributo (é opcional)




Métodos

    Para invocar o método usamos o ponto!

       // saca 200 reais
       minhaConta.saca(200);

       // deposita 500 reais
       minhaConta.deposita(500);
       System.out.println(minhaConta.saldo);



    Qual o valor do saldo impresso na tela?



Métodos
Retorna        um valor para o código que o chamou.

 No  método sacar podemos retornar um valor booleano
 indicando se a operação foi bem sucedida ou não.

     boolean saca(double valor) {
      if (this.saldo < valor) {
          return false;
      }
      else {
          this.saldo = this.saldo - valor;
          return true;
      }
 }




Métodos com retorno
minhaConta.saldo = 1000;
 boolean consegui = minhaConta.saca(2000);
 if(consegui){
     System.out.println(quot;Consegui sacarquot;);
 }else{
     System.out.println(quot;Não consegui sacarquot;);
 }




Métodos com retorno
Array (Vetor)
São  objetos que armazenam diversas
 variáveis do mesmo tipo;
Cada item em um array é chamado de
 elemento, e cada elemento é acessado
 pela posição numérica.
class ArrayDemo {
     public static void main(String[] args) {
        int[] meuArray; // declara um array de inteiros
        meuArray = new int[10]; // aloca a memória para 10
   inteiros
        meuArray[0] = 100; // inicializa o primeiro elemento
           meuArray[1] = 200; // inicializa o segundo elemento
           meuArray[2] = 300; // etc.
           meuArray[3] = 400;
           meuArray[4] = 500;
           meuArray[5] = 600;
           meuArray[6] = 700;
           meuArray[7] = 800;
           meuArray[8] = 900;
           meuArray[9] = 1000;

Exemplo
System.out.println(quot;Elemento na posicao 0: quot; + meuArray[0]);
            System.out.println(quot;Elemento na posicao 1: quot; + meuArray[1]);
            System.out.println(quot;Elemento na posicao 2: quot; + meuArray[2]);
            System.out.println(quot;Elemento na posicao 3: quot; + meuArray[3]);
            System.out.println(quot;Elemento na posicao 4: quot; + meuArray[4]);
            System.out.println(quot;Elemento na posicao 5: quot; + meuArray[5]);
            System.out.println(quot;Elemento na posicao 6: quot; + meuArray[6]);
            System.out.println(quot;Elemento na posicao 7: quot; + meuArray[7]);
            System.out.println(quot;Elemento na posicao 8: quot; + meuArray[8]);
            System.out.println(quot;Elemento na posicao 9: quot; + meuArray[9]);
     }
}




...continuação do exemplo
Elemento   na   posição   0:   100
 Elemento   na   posição   1:   200
 Elemento   na   posição   2:   300
 Elemento   na   posição   3:   400
 Elemento   na   posição   4:   500
 Elemento   na   posição   5:   600
 Elemento   na   posição   6:   700
 Elemento   na   posição   7:   800
 Elemento   na   posição   8:   900
 Elemento   na   posição   9:   1000


... A saída desse programa é:
O programa declarou meuArray com a
 seguinte linha de código:
         int[] meuArray;      // declara um array de inteiros


Você também pode colocar os colchetes
 após o nome do array:

        float meuArrayDeFloats[]; //forma menos utilizada

 ◦ Essa forma é menos utilizada, pois com os colchetes antes do nome do
   array fica mais fácil entender de que se trata de um array.



Declarando um array
Do  mesmo modo você pode declarar
 arrays de outros tipos:

byte[] meuArrayDeBytes;
short[] meuArrayDeShorts;
long[] meuArrayDeLongs;
float[] meuArrayDeFloats;
double[] meuArrayDeDoubles;
boolean[] meuArrayDeBooleans;
char[] meuArrayDeChars;
String[] meuArrayDeStrings;
Array
Criar
  ◦ Utilizando o operador new;
  meuArray = new int[10]; // cria um array de inteiros

As  próximas linhas atribuem valores para
  cada elemento do array:

meuArray[0] = 100; // inicializa o primeiro elemento
meuArray[1] = 200; // inicializa o segundo elemento
meuArray[2] = 300; // etc.


Criando, Inicializando e Acessando
um Array
Cada  elemento do array é acessado por
 seu índice numérico:

 System.out.println(quot;Elemento na posicao 0: quot; +
 meuArray[0]);

 System.out.println(quot;Elemento na posicao 1: quot; +
 meuArray[1]);

 System.out.println(quot;Elemento na posicao 2: quot; +
 meuArray[2]);




Continuação
Alternativamente,  você pode usar atalhos
 de sintaxe para criar e inicializar um
 array:
  int[] meuArray = {100, 200, 300, 400, 500, 600, 700,
 800, 900, 1000};

o tamanho do array é determinado pelo
 número de valores informados entre {e}.



...ou
Modificadores de Acesso e
         Encapsulamento
Encapsulamento   refere-se ao isolamento
 entre as partes do programa.

 ◦   Private;
 ◦   Protected;
 ◦   Public;
 ◦   Static;
 ◦   Abstract;
 ◦   Final.
Getters: Método que retorna o atributo
          get[nome do atributo].
Ex: getIdade(), getSalario().

Setters: Método que atribui/modifica o
 valor de um atributo
          set[nome do atributo]
Ex: setIdade(Integer idade),
 setSalario(Double salario).


Getters e Setters
Herança, Reescrita e
      Polimordismo
Herança
Conceito;
Diferença.




Reescrita
Conceito;
Exemplos.




Polimorfismo
Classes Abstratas
Não   podem ser instanciadas;
  Não   pode utilizar operador new.
 Criada para Herança e Polimorfismo;
 Palavra chave: abstract.


  public abstract class Animal {
    public void roam() { }
  }

  public abstract class Canine extends Animal {
    public void roam() {implementação }
  }

Classe abstrata
Interface
Não   podem ser instanciadas;
  Não   pode utilizar operador new.
 Criada para Herança e Polimorfismo;
 Palavra chave: abstract.


  public abstract class Animal {
    public void roam() { }
  }

  public abstract class Canine extends Animal {
    public void roam() {implementação }
  }

Classe abstrata
   É como uma classe abstrata, mas só tem:
         Métodos abstratos, públicos
         Campos finais estáticos, públicos

         public interface Pet { ... }
         class Dog implements Pet { ... }

 Na      prática representa:
      Um comportamento compartilhado por várias classes
     onde cada classe deve implementar os métodos da
     interface
      Uma alternativa à herança múltipla




Interface
   Define um contrato a ser cumprido!
    Todos os métodos são:
     Públicos
     abstratos
    Todos os atributos são:
        públicos
        estáticos
        finais

  Classe deve implementar TODOS os métodos
 definidos na interface.
  Ao implementar uma interface a classe está
 assinando um contrato definido


Interface
public interface Pet {
   public abstract void beFriendly();
   public abstract void play();
 }

public class Dog extends Canine implements Pet {
  public void beFriendly(){ ... }
  public void play(){ ... }
  public void roam(){ ... }
  public void eat(){ ... }
}


Interface
Exercitando o que já vimos...
Diagrama UML
Quero saber mais....
         Como faço???
Não  se esqueça - o google é seu amigo ;)
Participe das listas de discussão, blogs,
 fóruns .. Interaja !!!
Existem bons livros na área.
Dicas:
 ◦ GUJ - www.guj.com.br/
 ◦ JavaRN - javarn.dev.java.net/




Quero saber mais !!

Mais conteúdo relacionado

Mais procurados

(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisão(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisãoCarlos Santos
 
Java 03 Tipos Dados Operadores
Java 03 Tipos Dados OperadoresJava 03 Tipos Dados Operadores
Java 03 Tipos Dados OperadoresRegis Magalhães
 
Paradigmas de Linguagens de Programação - Expressões e Instruções de Atribuição
Paradigmas de Linguagens de Programação - Expressões e Instruções de AtribuiçãoParadigmas de Linguagens de Programação - Expressões e Instruções de Atribuição
Paradigmas de Linguagens de Programação - Expressões e Instruções de AtribuiçãoAdriano Teixeira de Souza
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Swift!.opcionais.oh!.my()?!?
Swift!.opcionais.oh!.my()?!?Swift!.opcionais.oh!.my()?!?
Swift!.opcionais.oh!.my()?!?Tales Andrade
 
Ponteiros e Alocação Dinâmica
Ponteiros e Alocação DinâmicaPonteiros e Alocação Dinâmica
Ponteiros e Alocação DinâmicaEduardo Oliveira
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Adriano Teixeira de Souza
 

Mais procurados (18)

Java 05
Java 05Java 05
Java 05
 
POO - Aula 003
POO - Aula 003POO - Aula 003
POO - Aula 003
 
(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisão(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisão
 
Java 03 Tipos Dados Operadores
Java 03 Tipos Dados OperadoresJava 03 Tipos Dados Operadores
Java 03 Tipos Dados Operadores
 
Curso Ruby
Curso RubyCurso Ruby
Curso Ruby
 
Fundamentos de C#
Fundamentos de C#Fundamentos de C#
Fundamentos de C#
 
Paradigmas de Linguagens de Programação - Expressões e Instruções de Atribuição
Paradigmas de Linguagens de Programação - Expressões e Instruções de AtribuiçãoParadigmas de Linguagens de Programação - Expressões e Instruções de Atribuição
Paradigmas de Linguagens de Programação - Expressões e Instruções de Atribuição
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Compiladores 2
Compiladores 2Compiladores 2
Compiladores 2
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Compiladores 3
Compiladores 3Compiladores 3
Compiladores 3
 
Swift!.opcionais.oh!.my()?!?
Swift!.opcionais.oh!.my()?!?Swift!.opcionais.oh!.my()?!?
Swift!.opcionais.oh!.my()?!?
 
Java Básico
Java BásicoJava Básico
Java Básico
 
Lpj i ads2_apresentacao_aulas
Lpj i ads2_apresentacao_aulasLpj i ads2_apresentacao_aulas
Lpj i ads2_apresentacao_aulas
 
Ponteiros e Alocação Dinâmica
Ponteiros e Alocação DinâmicaPonteiros e Alocação Dinâmica
Ponteiros e Alocação Dinâmica
 
Jemcalculoi1
Jemcalculoi1Jemcalculoi1
Jemcalculoi1
 
Introdução ao JavaScript
Introdução ao JavaScriptIntrodução ao JavaScript
Introdução ao JavaScript
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória
 

Destaque

Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objetoDanilo Alves
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2PeslPinguim
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4PeslPinguim
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
 
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Poo1   aula 3 - java - comentários instruções e blocos-palavras chavePoo1   aula 3 - java - comentários instruções e blocos-palavras chave
Poo1 aula 3 - java - comentários instruções e blocos-palavras chaveDenis Sobrenome
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Natanael Fonseca
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003elliando dias
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Antonio Alves
 
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)Luis Borges Gouveia
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Eduardo Carvalho
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasBreno Vitorino
 
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 IniciantesOziel Moreira Neto
 
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ÇÃOMicrosoft
 

Destaque (20)

Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objeto
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Poo1   aula 3 - java - comentários instruções e blocos-palavras chavePoo1   aula 3 - java - comentários instruções e blocos-palavras chave
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
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
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03
 
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)
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
 
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
 
Curso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFXCurso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFX
 

Semelhante a Mini Curso Java Day(Eliane Raquel)

Javascript para CSharpers 1 - Comparando
Javascript para CSharpers   1 - ComparandoJavascript para CSharpers   1 - Comparando
Javascript para CSharpers 1 - ComparandoWesley Lemos
 
Aprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAfonso Gomes
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: IntroduçãoWesley R. Bezerra
 
LabMM3 - Aula teórica 07
LabMM3 - Aula teórica 07LabMM3 - Aula teórica 07
LabMM3 - Aula teórica 07Carlos Santos
 
tmn - Introdução ao JavaScript
tmn - Introdução ao JavaScripttmn - Introdução ao JavaScript
tmn - Introdução ao JavaScriptClaudio Gamboa
 
Algoritmos e LP - Aula 03 - Expressões Aritméticas.pdf
Algoritmos e LP - Aula 03 - Expressões Aritméticas.pdfAlgoritmos e LP - Aula 03 - Expressões Aritméticas.pdf
Algoritmos e LP - Aula 03 - Expressões Aritméticas.pdfEnio Filho
 
(A09) LabMM3 - JavaScript - Estruturas de repetição
(A09) LabMM3 - JavaScript - Estruturas de repetição(A09) LabMM3 - JavaScript - Estruturas de repetição
(A09) LabMM3 - JavaScript - Estruturas de repetiçãoCarlos Santos
 
T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)Carlos Santos
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência JavaMario Jorge Pereira
 
Javascript - boas práticas
Javascript - boas práticasJavascript - boas práticas
Javascript - boas práticasFrancke Peixoto
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonFlávio Ribeiro
 

Semelhante a Mini Curso Java Day(Eliane Raquel) (20)

JAVA - Introdução
JAVA - IntroduçãoJAVA - Introdução
JAVA - Introdução
 
Java - Aula 08
Java - Aula 08Java - Aula 08
Java - Aula 08
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
Javascript para CSharpers 1 - Comparando
Javascript para CSharpers   1 - ComparandoJavascript para CSharpers   1 - Comparando
Javascript para CSharpers 1 - Comparando
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
 
Atribuições
AtribuiçõesAtribuições
Atribuições
 
Guia rapido java v2
Guia rapido java v2Guia rapido java v2
Guia rapido java v2
 
Minicurso Java && Cl
Minicurso Java && ClMinicurso Java && Cl
Minicurso Java && Cl
 
Aprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCD
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
 
LabMM3 - Aula teórica 07
LabMM3 - Aula teórica 07LabMM3 - Aula teórica 07
LabMM3 - Aula teórica 07
 
tmn - Introdução ao JavaScript
tmn - Introdução ao JavaScripttmn - Introdução ao JavaScript
tmn - Introdução ao JavaScript
 
Algoritmos e LP - Aula 03 - Expressões Aritméticas.pdf
Algoritmos e LP - Aula 03 - Expressões Aritméticas.pdfAlgoritmos e LP - Aula 03 - Expressões Aritméticas.pdf
Algoritmos e LP - Aula 03 - Expressões Aritméticas.pdf
 
(A09) LabMM3 - JavaScript - Estruturas de repetição
(A09) LabMM3 - JavaScript - Estruturas de repetição(A09) LabMM3 - JavaScript - Estruturas de repetição
(A09) LabMM3 - JavaScript - Estruturas de repetição
 
T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência Java
 
Aula2
Aula2Aula2
Aula2
 
Javascript - boas práticas
Javascript - boas práticasJavascript - boas práticas
Javascript - boas práticas
 
Introdução a Linguagem de Programação Python
Introdução a Linguagem de Programação PythonIntrodução a Linguagem de Programação Python
Introdução a Linguagem de Programação Python
 
Curso java 02 - variáveis
Curso java   02 - variáveisCurso java   02 - variáveis
Curso java 02 - variáveis
 

Mais de raquelcarsi

Jdbc, JAVA DATABASE CONNECTIVITY
Jdbc, JAVA DATABASE CONNECTIVITYJdbc, JAVA DATABASE CONNECTIVITY
Jdbc, JAVA DATABASE CONNECTIVITYraquelcarsi
 
Laszlo, Framework focado em MVC
Laszlo, Framework focado em MVCLaszlo, Framework focado em MVC
Laszlo, Framework focado em MVCraquelcarsi
 
SSL,Secure Sockets Layer
SSL,Secure Sockets LayerSSL,Secure Sockets Layer
SSL,Secure Sockets Layerraquelcarsi
 
XP, Extreme Programming
XP, Extreme ProgrammingXP, Extreme Programming
XP, Extreme Programmingraquelcarsi
 
Apresentacao De Computador Sociedade
Apresentacao De Computador SociedadeApresentacao De Computador Sociedade
Apresentacao De Computador Sociedaderaquelcarsi
 

Mais de raquelcarsi (8)

Web Semântica
Web SemânticaWeb Semântica
Web Semântica
 
Jdbc, JAVA DATABASE CONNECTIVITY
Jdbc, JAVA DATABASE CONNECTIVITYJdbc, JAVA DATABASE CONNECTIVITY
Jdbc, JAVA DATABASE CONNECTIVITY
 
Laszlo, Framework focado em MVC
Laszlo, Framework focado em MVCLaszlo, Framework focado em MVC
Laszlo, Framework focado em MVC
 
SSL,Secure Sockets Layer
SSL,Secure Sockets LayerSSL,Secure Sockets Layer
SSL,Secure Sockets Layer
 
XP, Extreme Programming
XP, Extreme ProgrammingXP, Extreme Programming
XP, Extreme Programming
 
Jboss Seam
Jboss SeamJboss Seam
Jboss Seam
 
Apresentacao De Computador Sociedade
Apresentacao De Computador SociedadeApresentacao De Computador Sociedade
Apresentacao De Computador Sociedade
 
Haskell
HaskellHaskell
Haskell
 

Último

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 

Último (8)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Mini Curso Java Day(Eliane Raquel)

  • 1. Mini-Curso de Java Básico
  • 3.  Eliane Craveiro  Raquel Carsi  Estudante do curso  Concluinte do curso de Análise e de Análise e Desenvolvimento de Desenvolvimento de Sistemas Sistemas  Trabalha com Java no  Trabalha com Java no projeto SIEP, da projeto SIEP, da SETEC/MEC SETEC/MEC  Desenvolve com Java  Desenvolve com Java desde 2007 desde 2006  Weblog: raquelcarsi.wordpress.co m
  • 5. Apresentar os principais conceitos de Java Apresentar conceitos básicos de Orientação a Objetos Elaborar práticas Em apenas 3 horas !!!
  • 6. Perguntas, dúvidas, sugestões são SEMPRE bem vindos, a sua participação no minicurso é fundamental. ...um detalhe
  • 8. O que é Java? Instalando ... Criando o primeiro programa Variáveis primitivas Tipo Primitivos Controle de Fluxo Orientação a Objetos Array Modificadores de Acesso Herança e polimorfismo Classes Abstratas Interface
  • 9. O que é Java? Características; Máquina Virtual; Java Lento; JVM? JRE? JDK? Java
  • 10. Linguagem de Programação; Criada em 1991; James Gosling; Oak ( Carvalho ); O que é Java?
  • 11. Simples; Orientada a Objetos; Familiar; Robusta; Segura; Portável (independente de plataforma); Características...
  • 12. JVM – Java Virtual Machine
  • 13. Fases de um Programa
  • 14. Máquina virtual imaginária; Portabilidade do Java; Diversidade de JVMs. JVM?
  • 15. JVM: Coletor de Lixo – Garbage Collection
  • 16. Write once, run anywhere!!
  • 17. JDK ◦ O Java Development Kit é composto pelo JRE e um conjunto de ferramentas úteis ao desenvolvedor Java; ◦ Onde baixar: JRE ◦ O Java Runtime Environment contém tudo aquilo que um usuário comum precisa para executar uma aplicação Java (JVM e bibliotecas), como o próprio nome diz é o “Ambiente de execução Java”. JDK? JRE?
  • 18. Java lento??? Desvantagens
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. Criando e Executando o Primeiro Programa (Hello Word)
  • 29. ...na linha de comando.
  • 30. No bloco de notas: public class HelloWord{ public static void main (String[] args){ System.out.println (quot;Ola mundoquot;); } }
  • 31. Gerar o Bytecode usando javac
  • 32.
  • 33.
  • 34. Se tudo ocorrer bem....
  • 35.
  • 37. Objetivo de uma IDE: ◦ Auxiliar no desenvolvimento; ◦ Outra IDE open source: Netbeans Apresentando o Eclipse
  • 39. Faça assim: TipoDaVariavel nomeDaVariavel; Exemplo: int idade;  Uma idade do tipo int que guarda um número inteiro  A partir de agora você pode usá-la! Declarando variáveis
  • 40. Você pode atribuir valores! idade=15;  Quer dizer que idade agora vale 15  Você pode usar esse valor! System.out.println(idade);  O valor da idade será mostrado na tela. Usando variáveis
  • 41.  Você pode declarar uma outra variável e usar o valor da variável idade! int idadeNoAnoQueVem; idadeNoAnoQueVem = idade + 1; Idade agora vale 16  Usando variáveis
  • 42. Quando você declara, você já pode atribuir um valor! Exemplo: int idade = 15;  Você pode usar os operadores +,-,/, * e o %. int quatro = 2 + 2; int seis = 3 * 2; int um = 5%2;  5 dividido por 2 dá 2 e tem resto 1. Esse operador % pega o resto da divisão inteira. Usando variáveis
  • 43. Para armazenar valores reais use double! double pi = 3,14;  O boolean armazena valor verdadeiro ou falso! boolean verdade = true; boolean mentira = false;  O tipo char guarda apenas um caractere! Você deve usar aspas simples! char letra = 'a'; Usando variáveis
  • 44. Podem conter caracteres, dígitos, _ e $  Devem começar com caractere, _ ou $  Não podem conter espaços  Maiúsculas diferentes de minúsculas Exemplos nota ; x ; y ; raio ; mediaTotal media_total ; media$total ; media1 media2 ; media_1 ; media$1 nomePai ; NomePai ; nome_mãe Nomes de Variáveis
  • 46. Representam valores fundamentais  Tipos: boolean char byte short int long float double Tipos Primitivos
  • 48. Palavra Descrição Tamanho/formato Inteiros byte Inteiro de 1 byte 8 bits short Inteiro pequeno 16 bits int Inteiro 32 bits long Longo 64 bits Números Reais float Ponto flutuante de precisão simples 32 bits double Ponto flutuante de precisão dupla 64 bits Outros tipos char Um caractere 16 bits-Unicode boolean Um valor lógico true ou false Tipos Primitivos
  • 49. int x; boolean isPermitido = true; x = 234; double d = 1235.56; byte b = 89; boolean isAcessado; isAcessado = false; boolean ligado; char c = ‘R’; ligado = isPermitido; int z = x; long big = 3456789; float f = 72.5f; Exemplos
  • 51. Operador Operador Operador de Java Operador de Java Descrição Descrição Inferior, igual ou [] Array índice < <= inferior a () Método chamada Superior, superior > >= ou igual a . Membro acesso instanceof Referência teste Prefixo ou ++ incremento postfix == Igual a Prefixo ou -- decrementar postfix != Não é igual a +- Unário plus, minus ~ NÃO bitwise & Bitwise AND Booleano (lógico) ! Booleano (lógico) NÃO & new Objeto criação E Multiplicação, ^ Bitwise XOR */% divisão, resto Booleano (lógico) +- Adição, subtração ^ XOR Seqüência + | Bitwise OR concatenação Assinado bit shift Booleano (lógico) << esquerda para a | OU direita Assinado bit shift Booleano (lógico) && >> direita para a E Booleano (lógico) esquerda bit shift || Unsigned OU >>> direita para a ?: Condicional esquerda = Atribuição Operadores
  • 53. Executa blocos de código delimitados por chaves {...} Estruturas de Controle de Fluxo
  • 54. if  if/else  while  do  for  switch Estruturas de Controle de Fluxo
  • 55. Sintaxe: if (condicaoBooleana) { condicaoBooleana CondicaoBooleana é uma expressão instruções; Que retorna true ou false. Você pode } usar os operadores <, >, <=, >= e outros. Exemplos: int idade = 15; String nome = “Raquel”; if (idade < 18) { 18 If (nome.equals(“Eliane”)){ System.out.println(quot;Não pode entrarquot;); System.out.println(“O nome é Eliane”); } } if
  • 56. Sintaxe: if (condicaoBooleana) { condicaoBooleana Indica o comportamento que deve instruções; ser executado no caso da expressão } else if (condicaoBooleana) { condicaoBooleana booleana ser falsa! instruções; } else { instruções; } int idade = 15; if (idade < 18) { Exemplo: System.out.println(quot;Não pode entrarquot;); } else { System.out.println(quot;Pode entrarquot;); } If / else
  • 57. Sintaxe: while (condição) { Comando usado para fazer um } comando; laço(loop). Exemplo: int idade = 15; while(idade < 18) { System.out.println(idade); idade = idade + 1; } While
  • 58. Sintaxe: for (inicializacao; condicao; incremento) { codigo; } int soma = 0; for (int i = 0 ; i < 10 ; i++) soma+=i; System.out.println(“A soma é “+soma); for
  • 59. for
  • 60. switch(seletor_inteiro) switch(letra) { { case valor_inteiro_1 : case 'A' : instruções; System.out.println(quot;Aquot;); break; break; case valor_inteiro_2 : case 'B' : instruções; System.out.println(quot;Bquot;); break; break; default: default: instruções; System.out.println(quot;?quot;); } } switch
  • 61. Controle de loop – break e continue
  • 65. Sistemas são complexos  Muito difícil um único indivíduo entender todo o sistema.  Podemos gerenciar a complexidade, não podemos eliminá-la.  É necessário pensar na evolução do sistema Porque OO ??
  • 66. Modelagem OO  O ser humano conhece o mundo e gerencia sua complexidade através de objetos  É como desenvolvemos nossa cognição. Desenvolvemos o conceito de OBJETO  Exemplos de objetos bola, carro, camisa, luz, casa, calça, música, conta bancária, poema, etc Porque OO ??
  • 67. Abstrações de dados do mundo real; Possuem:  Características(Atributos);  Comportamento(Métodos). Objeto Característica Comportame Pessoa s Nome, idade nto andar Falar, Cachorro Nome, raça Latir, correr Conta Bancaria Saldo, agência Creditar, Carro Cor, marca Debitar frear Acelerar, Objetos
  • 68. Classe  Classe é onde conceituamos o objeto  É a essência do objeto  Define os atributos e métodos Objeto  Objeto é uma instância de uma classe  Objetos semelhantes pertencem a mesma classe Classe e objetos
  • 69. “Pode parecer óbvio, mas a dificuldade inicial do paradigma da orientação a objetos é justo saber distinguir o que é classe e o que é objeto. É comum o iniciante utilizar, obviamente de forma errada, essas duas palavras como sinônimos.”
  • 70. Objeto Qualquer entidade que possui características e comportamento Classe Descreve um tipo de objeto Define atributos e métodos Atributo Define características do objeto Método Operações que o objeto pode realizar
  • 71. Considere um programa para um Banco Uma entidade importante é a conta Toda conta tem: número, nome do cliente, saldo, limite Toda conta faz ou o que gostaríamos de “pedir a conta”: sacar, depositar, imprimir o nome do dono da conta, ver o saldo atual, transferir dinheiro Criando um tipo
  • 72.  O projeto da conta, isto é, a definição da conta, é a classe. classe  O que podemos construir a partir dessa classe, as contas de verdade, são os objetos. objetos  Mas para acessar todos esses dados, precisamos construir uma conta, ou melhor, criar uma instância da classe. Criando um tipo
  • 73. Classes e Objetos em Java
  • 74. class Conta { int numero; String nome; Atributos double saldo; características do objeto double limite; // .. Métodos } Operações que o objeto pode realizar class Conta { // ..atributos void sacar(double quantia){..} boolean depositar(double quantia, Conta conta){..} }
  • 75. Sintaxe Básica: class nomeClasse{ //Atributos //Métodos } Classe = Atributos + Métodos 1 classe => 1 arquivo Classe em Java
  • 76.  Para criar (construir, instanciar) uma Conta, basta usar a palavra chave new ...  Para acessar o objeto é preciso referenciar esse objeto. É necessário uma variável! Conta minhaConta; minhaConta = new Conta(); Criando e usando um objeto
  • 77.  Agora, podemos acessar o objeto recém criado para alterar seu nome, seu saldo etc: Conta minhaConta; minhaConta = new Conta(); minhaConta.nome = quot;Dukequot;; minhaConta.saldo = 1000.0; System.out.println(quot;Saldo atual: quot; + minhaConta.saldo); Agora, minhaConta pertence ao Duke, e tem saldo de mil reais.  Criando e usando um objeto
  • 79.  De que maneira uma que uma conta saca dinheiro?  Os métodos representam o que cada conta faz e como isso é feito – os seus comportamentos Métodos
  • 80. void sacar(double quantidade) { double novoSaldo = this.saldo - quantidade; this.saldo = novoSaldo; }  void = nenhuma informação de retorno  Quanto você quer sacar? Esse valor é o parâmetro do método que está entre parênteses. Essa variável é temporária, ou seja, local.  this mostra que é um atributo (é opcional) Métodos
  • 81. Para invocar o método usamos o ponto! // saca 200 reais minhaConta.saca(200); // deposita 500 reais minhaConta.deposita(500); System.out.println(minhaConta.saldo);  Qual o valor do saldo impresso na tela? Métodos
  • 82. Retorna um valor para o código que o chamou. No método sacar podemos retornar um valor booleano indicando se a operação foi bem sucedida ou não. boolean saca(double valor) { if (this.saldo < valor) { return false; } else { this.saldo = this.saldo - valor; return true; } } Métodos com retorno
  • 83. minhaConta.saldo = 1000; boolean consegui = minhaConta.saca(2000); if(consegui){ System.out.println(quot;Consegui sacarquot;); }else{ System.out.println(quot;Não consegui sacarquot;); } Métodos com retorno
  • 85. São objetos que armazenam diversas variáveis do mesmo tipo; Cada item em um array é chamado de elemento, e cada elemento é acessado pela posição numérica.
  • 86. class ArrayDemo { public static void main(String[] args) { int[] meuArray; // declara um array de inteiros meuArray = new int[10]; // aloca a memória para 10 inteiros meuArray[0] = 100; // inicializa o primeiro elemento meuArray[1] = 200; // inicializa o segundo elemento meuArray[2] = 300; // etc. meuArray[3] = 400; meuArray[4] = 500; meuArray[5] = 600; meuArray[6] = 700; meuArray[7] = 800; meuArray[8] = 900; meuArray[9] = 1000; Exemplo
  • 87. System.out.println(quot;Elemento na posicao 0: quot; + meuArray[0]);           System.out.println(quot;Elemento na posicao 1: quot; + meuArray[1]);           System.out.println(quot;Elemento na posicao 2: quot; + meuArray[2]);           System.out.println(quot;Elemento na posicao 3: quot; + meuArray[3]);           System.out.println(quot;Elemento na posicao 4: quot; + meuArray[4]);           System.out.println(quot;Elemento na posicao 5: quot; + meuArray[5]);           System.out.println(quot;Elemento na posicao 6: quot; + meuArray[6]);           System.out.println(quot;Elemento na posicao 7: quot; + meuArray[7]);           System.out.println(quot;Elemento na posicao 8: quot; + meuArray[8]);           System.out.println(quot;Elemento na posicao 9: quot; + meuArray[9]);      } } ...continuação do exemplo
  • 88. Elemento na posição 0: 100 Elemento na posição 1: 200 Elemento na posição 2: 300 Elemento na posição 3: 400 Elemento na posição 4: 500 Elemento na posição 5: 600 Elemento na posição 6: 700 Elemento na posição 7: 800 Elemento na posição 8: 900 Elemento na posição 9: 1000 ... A saída desse programa é:
  • 89. O programa declarou meuArray com a seguinte linha de código: int[] meuArray; // declara um array de inteiros Você também pode colocar os colchetes após o nome do array: float meuArrayDeFloats[]; //forma menos utilizada ◦ Essa forma é menos utilizada, pois com os colchetes antes do nome do array fica mais fácil entender de que se trata de um array. Declarando um array
  • 90. Do mesmo modo você pode declarar arrays de outros tipos: byte[] meuArrayDeBytes; short[] meuArrayDeShorts; long[] meuArrayDeLongs; float[] meuArrayDeFloats; double[] meuArrayDeDoubles; boolean[] meuArrayDeBooleans; char[] meuArrayDeChars; String[] meuArrayDeStrings; Array
  • 91. Criar ◦ Utilizando o operador new; meuArray = new int[10]; // cria um array de inteiros As próximas linhas atribuem valores para cada elemento do array: meuArray[0] = 100; // inicializa o primeiro elemento meuArray[1] = 200; // inicializa o segundo elemento meuArray[2] = 300; // etc. Criando, Inicializando e Acessando um Array
  • 92. Cada elemento do array é acessado por seu índice numérico: System.out.println(quot;Elemento na posicao 0: quot; + meuArray[0]); System.out.println(quot;Elemento na posicao 1: quot; + meuArray[1]); System.out.println(quot;Elemento na posicao 2: quot; + meuArray[2]); Continuação
  • 93. Alternativamente, você pode usar atalhos de sintaxe para criar e inicializar um array: int[] meuArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000}; o tamanho do array é determinado pelo número de valores informados entre {e}. ...ou
  • 94. Modificadores de Acesso e Encapsulamento
  • 95. Encapsulamento refere-se ao isolamento entre as partes do programa. ◦ Private; ◦ Protected; ◦ Public; ◦ Static; ◦ Abstract; ◦ Final.
  • 96. Getters: Método que retorna o atributo get[nome do atributo]. Ex: getIdade(), getSalario(). Setters: Método que atribui/modifica o valor de um atributo set[nome do atributo] Ex: setIdade(Integer idade), setSalario(Double salario). Getters e Setters
  • 97. Herança, Reescrita e Polimordismo
  • 102. Não podem ser instanciadas; Não pode utilizar operador new. Criada para Herança e Polimorfismo; Palavra chave: abstract. public abstract class Animal { public void roam() { } } public abstract class Canine extends Animal { public void roam() {implementação } } Classe abstrata
  • 104. Não podem ser instanciadas; Não pode utilizar operador new. Criada para Herança e Polimorfismo; Palavra chave: abstract. public abstract class Animal { public void roam() { } } public abstract class Canine extends Animal { public void roam() {implementação } } Classe abstrata
  • 105. É como uma classe abstrata, mas só tem:  Métodos abstratos, públicos  Campos finais estáticos, públicos public interface Pet { ... } class Dog implements Pet { ... } Na prática representa:  Um comportamento compartilhado por várias classes onde cada classe deve implementar os métodos da interface  Uma alternativa à herança múltipla Interface
  • 106. Define um contrato a ser cumprido!  Todos os métodos são: Públicos abstratos  Todos os atributos são:  públicos  estáticos  finais  Classe deve implementar TODOS os métodos definidos na interface.  Ao implementar uma interface a classe está assinando um contrato definido Interface
  • 107. public interface Pet { public abstract void beFriendly(); public abstract void play(); } public class Dog extends Canine implements Pet { public void beFriendly(){ ... } public void play(){ ... } public void roam(){ ... } public void eat(){ ... } } Interface
  • 108. Exercitando o que já vimos...
  • 110. Quero saber mais.... Como faço???
  • 111. Não se esqueça - o google é seu amigo ;) Participe das listas de discussão, blogs, fóruns .. Interaja !!! Existem bons livros na área. Dicas: ◦ GUJ - www.guj.com.br/ ◦ JavaRN - javarn.dev.java.net/ Quero saber mais !!