programação orientada a objetos prof. andré argeri [email protected] ribeirão preto,...

43
Programação Orientada a Objetos Prof. André Argeri [email protected] Ribeirão Preto, Agosto 2009

Upload: ester-schmidt-bacelar

Post on 07-Apr-2016

228 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Programação Orientada a Objetos

Prof. André [email protected]

Ribeirão Preto, Agosto 2009

Page 2: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Apresentação da DisciplinaConteúdo Programático– Introdução à Linguagem de Programação Java

• Estrutura Básica de um Programa Java• Tipos de Dados, Variáveis e Constantes• Operadores• Estruturas de Controle (Seleção e Repetição)• Métodos• Vetores e Matrizes• Fundamentos POO• Classes e Objetos• Atributos e Métodos• Construtores• Herança e Polimorfismo• Interfaces

Page 3: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Apresentação da Disciplina• Objetivo Geral

– Desenvolvimento de Aplicações utilizando a linguagem Java e Programação Orientada a Objetos

Page 4: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Apresentação da Disciplina• Bibliografia

– Sun Developer Networkhttp://java.sun.com/javaee/– DEITEL, H.M.; DEITEL, P.J. Java Como Programar 6ª Edição. São Paulo: Prentice Hall, 2005.– CORNELL, G. Core Java 2: Fundamentos – Volume 1; São Paulo: Markon Books, 2000.– BARNES, D.; KÖLLING, M. Programação Orientada a Objetos com Java (4ª Edição). São Paulo: Pearson, 2008.

Page 5: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

INTRODUÇÃOMáquina Virtual Java ou Java Virtual Machine (JVM)

– Permite que aplicações Java “rodem” independente da plataforma na qual foram desenvolvidas• Multiplataforma– Cada Sistema Operacional (SO) possui sua própriaJVM– Em linhas gerais funciona como “um computadordentro do seu computador”

Page 6: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

INTRODUÇÃOMáquina Virtual Java ou Java Virtual

Machine (JVM)

Page 7: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

INTRODUÇÃO• Processo de Compilação/Execução de um

programa Java– Compilador: javac– Interpretador: java• Exemplo– javac olamundo.java• Produz o arquivo olamundo.class– java olamundo

Page 8: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

INTRODUÇÃOO que você precisa para programar Java?

– Java Development Kit• Java SE – Standard Edition – Aplicações Desktop – http://java.sun.com/javase/downloads/index.jsp• Java EE – Enterprise Edition – Web Services, Aplicações Web, Gerenciamento, etc. – http://java.sun.com/javaee/downloads/• Java ME –Micro Edition – Aplicações Móveis (celular, pda, etc) – http://java.sun.com/javame/downloads/index.jsp

Page 9: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

INTRODUÇÃO- Ambiente de Programação

• Eclipse: http://www.eclipse.org/• NetBeans: http://www.netbeans.org/http://www.netbeans.org/downloads/index.html• Bloco de notas• Entre outros

Page 10: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

INTRODUÇÃO• O que você precisa para rodar uma

aplicação Java?– Java Runtime Environment (JRE)

• http://java.sun.com/javase/downloads/index.jsp

Page 11: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

NetBeans – Criando ProjetosArquivo;Novo Projeto;Clique em próximo;Definir Nome do projeto (Ex01);Clique em finalizar;

Page 12: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

NetBeans – Codificação• Java é case sensitive;

Page 13: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

NetBeans – ExecutandoPara rodar o projeto devemos clicar

no botão play, ou pressionar a tecla F6;

Note que quando executamos o projeto ele aparece logo abaixo (na saída);

Page 14: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

NetBeans – Conhecendo o ambiente• Editor

– Code Completion• CTRL+Space• Exemplo: IF, FOR

– Code Generation Dialogs• ALT+INSERT

– Duplicar Linhas• CTRL+SHIFT + Up ou Down

– Mover Linhas• ALT+SHIFT + Up ou Down

- RenomearCTRL+RExemplo: Variáveis

Page 15: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Fundamentos• Convenções: Todos os nomes de classes em Java iniciam

com uma letra maiúscula e tem uma letra maiúscula para cada palavra no nome da classe. Ex: NomeDaClasse

• Estrutura Básica de um Programa Java– Importante!!!

• O nome do arquivo .java deve ter o mesmo nome da classe.• Exemplo:– public class NomeDaClasse {}– Nome do arquivo NomeDaClasse.java

Page 16: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Fundamentos• Estrutura Básica de um Programa Java

– public class NomeDaClasse• Define o início da classe, todos os métodos que

fazem parte da classe devem ser definidos entre o

início “{“ (abre chave) e o fim “}” (fecha chave).

– public static void main(String[] args)• Determina o ponto de início da execução da classe• É possível escrever classes sem o métodos main

– No entanto para utiliza-lá é preciso instanciar esse classe em um outra classe que possua o método main

• Um projeto pode ter um único método main

Page 17: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

FundamentosIdentificadores Válidos– Os identificadores em Java consistem em letras,

dígitos, sublinhados (“_”) e sinais de cifrão (“$”),– Não podem iniciar com um digito– Não podem conter espaços em branco.– Identificadores válidos:– Valor1, $Valor1, _Valor1– Identificadores inválidos:– 1Valor, Valor 1

Essa regra aplica-se a:Nome de classes, nome de variáveis e nome de

métodos

Page 18: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Fundamentos• Comentários– Múltiplas linhas: /* ... */– Uma linha: ///*Este programa tem como objetivo principal a exibição natela da mensagem "Olá Mundo!!!“*/public class Main { // Início da Classe // Método Principal

public static void main(String[] args) {

// Escrita da mensagem na telaSystem.out.println("Olá Mundo!!! ");

}} // Final da Classe

Page 19: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Variáveis• A declaração de variáveis em Java

utiliza o seguinte formato

<tipodedados> <nomedavariável>

• Exemplo:– int x;– float y;– double z;

Page 20: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Constantes• As constantes em Java são declaradas

através do modificador final e utilizam o seguinte formato

final <tipodedados> <nomedaconstante>

• Exemplo– final int x = 10;– final float valor = 1.58;

Page 21: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Atribuição• Comandos de Atribuição

– Utilizado para atribuir valores a variáveis, sendo representado pelo símbolo = (igual)

• Exemplo 1:– x = 10; // atribui o valor 10 a variável x

Page 22: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Tipos de Dados Primitivos

Page 23: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Palavras Reservadas• Como em qualquer linguagem de

programação, Java também possui um conjunto de palavras reservadas.

• Essas palavras não podem ser utilizadas como

nomes de identificadores, tais como:– Nome da classe– Nome de variável ou constante– Nome de métodos– Nome de objetos

Page 24: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Palavras Reservadas

Page 25: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Comandos de SaídaSão utilizados para exibição de

informações na tela em modo console

– Comandos• System.out.print• System.out.println• System.out.printf

Page 26: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Comandos de Saídapublic class Main {

public static void main(String[] args) {System.out.print("Eu estou ");System.out.print("programando em Java !!!");}

}

Atividade:• Modifique o programa para utilizar a função

println

Page 27: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Comandos de Saída• Códigos de Barra Invertida

– \n = nova linha– \r = enter– \t = tabulação (tab)– \b = retrocesso– \” = aspas– \\ = barra

Atividade:• Modifique o programa para utilizar a função

printf

Page 28: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Comandos de Saída• Os comandos de saída também

podem ser utilizados para exibição de informações através de caixas de diálogo

Page 29: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Comandos de Saída/** Para utilização do métodos JOptionPane é* necessária a inclusão do pacote abaixo.*/import javax.swing.JOptionPane;public class Main {

public static void main(String[] args) {

JOptionPane.showMessageDialog(null,"Eu estou programando em Java!");}

}

Page 30: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Pacotes• Os pacotes ou packages Java são um

conjunto pré-definido de classes• Cada pacote tem um grupo de classes quepossui algum tipo de relação.• Exemplo:

– O pacote javax.swing possui classes para construção de interfaces gráficas.– A classe JOptionPane está dentro do pacote javax.swing

Page 31: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Pacotes• Nomenclatura

– Pacotes Principais (Core Packages)• Começam sempre com java• Fazem parte do Java SDK

– Pacotes de Extensões (Extension Packages)

• Começam com javax• São desenvolvidos pela Sun ou

por outros programadores.

Page 32: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Comandos de Entrada• São utilizados para leitura de informações do

teclado.• Para o modo console a leitura pode ser feita

através dos métodos do pacote java.util.Scanner

• Scanner entrada = new Scanner( System.in );– entrada.nextInt();– entrada.nextFloat();– entrada.nextDouble();– entrada.next();

Page 33: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Comandos de Entradaimport java.util.Scanner;public class Main {

public static void main(String[] args) {

Scanner entrada = new Scanner( System.in );int num1, num2, soma;System.out.print("Informe o primeiro número: ");num1 = entrada.nextInt();System.out.print("Informe o segundo número: ");num2 = entrada.nextInt();soma = num1+num2;System.out.print("Resultado = " + soma);

}}

Page 34: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Comandos de Entrada• A entrada de informações também

pode ser feita através de Caixas de Diálogos.

• Essas caixas estão disponíveis também no pacote javax.swing.JOptionPane

Page 35: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Comandos de EntradaString str_n1, str_n2;int n1, n2, soma;str_n1 = JOptionPane.showInputDialog("Primeiro número:

");str_n2 = JOptionPane.showInputDialog("Segundo número:

");// conversao String-->Integern1 = Integer.parseInt(str_n1);n2 = Integer.parseInt(str_n2);soma = n1+n2;JOptionPane.showMessageDialog(null,"Soma de " + n1 +

" e "+ n2 + " é igual a " + soma,"Resultado",JOptionPane.PLAIN_MESSAGE);

Page 36: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Comandos de Entrada• Ícones para Caixas de Diálogo

Page 37: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Exercícios1 – Faça um programa para mostrar

o resultado da multiplicação de 3 números.

2 – Faça um programa para mostrar o resultado de dois números.

Page 38: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Exercícios3 – Faça um programa para calcular

o novo salário de um funcionário. Sabe-se que os funcionários que recebem atualmente salário de até R$ 500,00 terão aumento de 20%, enquanto os demais terão aumento de 10%.

Page 39: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Exercícios4 – Faça um programa que verifica

se um número é par ou impar.

5 – Faça um programa que receba quatro números inteiros, calcule e mostre a soma desses números. (utilizar o comando for)

Page 40: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Exercícios6 – Faça um programa que calcule

os seguintes dados:a – Calcular área. (altura * largura)b – Calcular perímetro. (2 * altura + 2 * largura)c – Mostrar os resultados obtidos.

Page 41: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Exercícios7 – Faça um programa que faça uma

divisão entre dois números e mostre o número com duas casas decimais.

8 – Faça um programa que receba o salário base de um funcionário, calcule e mostre o salário a receber, sabendo-se que o funcionário tem gratificação de 5% sobre o salário base e paga imposto de 7% sobre esse salário.

Page 42: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Exercícios9 – Crie um programa que leia um

número indeterminado de alunos. Você deve solicitar ao usuário o nome e as suas respectivas notas. Calcule a média e informe se ele está aprovado ou não, sendo a nota de aprovação sendo 7

Page 43: Programação Orientada a Objetos Prof. André Argeri andreargeri@hotmail.com Ribeirão Preto, Agosto 2009

Exercícios10 – Escreva um programa que solicite ao usuário:

– Nome completo String– Ano de Nascimento int– Sexo (M ou F) char– Salário float

• Calcule e escreva na tela a seguinte saída:– Nome = João da Silva– Idade = 25 anos– Sexo = M– Salário = R$ 650,00