• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Mini Curso Java Day(Eliane Raquel)
 

Mini Curso Java Day(Eliane Raquel)

on

  • 6,247 views

 

Statistics

Views

Total Views
6,247
Views on SlideShare
6,187
Embed Views
60

Actions

Likes
3
Downloads
378
Comments
0

2 Embeds 60

http://raquelcarsi.wordpress.com 41
http://www.slideshare.net 19

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Mini Curso Java Day(Eliane Raquel) Mini Curso Java Day(Eliane Raquel) Presentation Transcript

    • 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 !!