39
CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF 2012 2012 30 Anos 30 Anos

2012 30 Anos

  • Upload
    love

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

2012 30 Anos. Linguagem de Programação II JAVA. Carga Horária: 120 horas 29/04 a 12/06/2013 Avaliações: 2 práticas + 1 projeto (apresentação+defesa) Pré-Agendadas: 13 e 14/05/2013 21 e 22/05/2013 10 e 11/06/2013. - PowerPoint PPT Presentation

Citation preview

Page 1: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

20122012

30 Anos30 Anos

Page 2: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Linguagem de Programação II JAVA

Page 3: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Carga Horária: 120 horas29/04 a 12/06/2013Avaliações: 2 práticas +1 projeto (apresentação+defesa)

Pré-Agendadas:13 e 14/05/201321 e 22/05/201310 e 11/06/2013

Aplicando lógica orientada a objetos em Java. ANSELMO, Fernando. Editora: Visual Books, ano 2005.

Java. DEITEL, H.M. Editora: Bookman, ano 2005.

Fundamentos de aplicações java e programação orientada a objetos.

FRANKLINT, Kleitor. Editora: FUCAPI, ano 2004.

Page 4: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

HistóriaHistória JAVA JAVA

• Linguagem SIMULA (anos 60), derivada do ALGOL e desenvolvida no Centro Norueguês de Computação, por Kristen Nygaard e Ole-Johan Dahl.

• A SIMULA era utilizada para simulações e foi a pioneira na utilização de classes e subclasses, semelhantes às usadas atualmente em POO.

• SMALLTALK (anos 70), foi a primeira linguagem autêntica orientada a objetos. Foi desenvolvida por cientistas do Xerox Palo Alto Research Center (Xerox PARC).

• Cada elemento do SMALLTALK é tratado como sendo um objeto. Esta linguagem é puramente OO.

Page 5: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

HistóriaHistória JAVA JAVA

• C++, dos laboratórios da AT&T Bell, criada por Bjarne Stroustrup, uma expansão da linguagem C, muito popular e conhecida.

• Suporta POO, mantendo as características do C tradicional.

• Fácil transição do C para o C++.

Page 6: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

HistóriaHistória JAVA JAVA

Page 7: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

HistóriaHistória JAVA JAVA

Java é a mais populosa ilha da Indonésia

Page 8: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

HistóriaHistória JAVA JAVA

Page 9: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Características deCaracterísticas de JAVA JAVA

Parecida com C, C++:

Compilada e Interpretada

Portável Orientada a Objetos

Segura

Page 10: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Plataformas JAVAPlataformas JAVA

Plataforma Java 2, Standard Edition (J2SE): criação de programas que rodem localmente em seu equipamento sejam eles aplicações console, graficas ou applets, o qual chamamos de stand alone ou desktop.

Plataforma Java 2, Micro Edition (J2ME): voltado para o desenvolvimento de aplicativos que rodem em Palms, celulares ou outros dispositivos móveis.

Plataforma Java 2, Enterprise Edition (J2EE): aplicações servidoras que rodam na WEB, que funcionam em um servidor e são acessadas remotamente através de um browser do cliente. Pode ser utilizado para implementar desde aplicações científicas a complexas aplicações de negócios.

Page 11: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Ambiente JAVA TípicoAmbiente JAVA Típico

EDITOR

COMPILADOR

CARREGADOR DE CLASSE

Interpretador

Verificadorde Bytecode

Disco

Disco

Disco

Memória Principal

Memória Principal

Memória Principal

Page 12: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Tecnologia de ObjetosTecnologia de Objetos

Page 13: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Tecnologia de ObjetosTecnologia de Objetos

Habilidade da abstração

Page 14: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Tecnologia de ObjetosTecnologia de Objetos

AnimadosAnimados InanimadosInanimados

Page 15: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Tecnologia de ObjetosTecnologia de Objetos

-Tamanho- Forma

- Cor- Peso

Page 16: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Tecnologia de ObjetosTecnologia de Objetos

Classe (class), tipo de objeto, é um modelo ou uma especificação para certos objetos, uma descrição genérica dos objetos individuais que pertencem a um conjunto. Em outras palavras é o universo de informações que através de uma característica básica faz com que as informações ali contidas possuam algum nível de relacionamento.

A característica mais importante de uma linguagem orientada ao objeto é o objeto. De maneira simples, um objeto é uma entidade lógica que contém dados e códigos para manipular esses dados. É o produto obtido através da aplicação de métodos em uma classe.

Classe

Objeto

Page 17: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Tecnologia de ObjetosTecnologia de Objetos

ClasseObjetoMétodosAtributos =

Métodos:Latir

ChorarPular

Atributos:Cor: BrancoPeso: 20 Kg

Altura: 1,15 m

ClasseObjeto

Page 18: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

• HerançaHerança• Superclasses e subclassesSuperclasses e subclasses• Herança Múltipla vs InterfacesHerança Múltipla vs Interfaces• Classes Abstratas e ConcretasClasses Abstratas e Concretas

• PolimorfismoPolimorfismo • Vinculação dinâmica de métodoVinculação dinâmica de método

• Sobrecarga de métodosSobrecarga de métodos• Método é selecionado de acordo com seus Método é selecionado de acordo com seus parâmetrosparâmetros• Sobrecarregar métodos pode tornar os Sobrecarregar métodos pode tornar os programas mais legíveisprogramas mais legíveis

Características da LinguagemCaracterísticas da Linguagem

Page 19: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

• ClassesClasses• Classes em Java definem os Tipos Abstratos de Dados Classes em Java definem os Tipos Abstratos de Dados

• Pacotes vs MódulosPacotes vs Módulos• Sua utilização facilita a reutilização de código Sua utilização facilita a reutilização de código

• TADsTADs• Permite ao programador gerar seus próprios tiposPermite ao programador gerar seus próprios tipos

Abstração de dados e EncapsulamentoAbstração de dados e Encapsulamento

Page 20: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

JAVA JAVA

1 //Protótipo de um programa JAVA21 class nome_da_classe 2 {3 lista de atributos;4 lista de métodos;5 {

1 //Exemplo21 class Pessoa 2 {3 String cor;4 int altura,peso;5 void LerDados()6 {7 }8 void ImprimirDados()9 {10 }11 }

1 public static void main(String args[])2 {3    // Instanciando um objeto1     Pessoa andre = new Pessoa();2 //Armazenando valores3 andre.cor=“moreno”;4 andre.altura= 2;5 andre.peso= 80;

Page 21: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Primeiro programa em Java: Alô mundo!Primeiro programa em Java: Alô mundo!

public class Exemplo1{

public static void main ( String args[]){

System.out.println("Alo mundo de JAVA !");System.out.println("Aqui estou eu !");

}}

Page 22: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Tipos de dados PrimitivosTipos de dados Primitivos

Tipo Tamanho em bits Valores Padrão

Page 23: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Tipos de dados PrimitivosTipos de dados Primitivos

• Declarações de variáveis

– int x, y; // variáveis inteiras– float z; // variável float– double w; // variável double– boolean verdade; // variável booleana– char c; // variável caracter

Page 24: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Tipos de dados PrimitivosTipos de dados Primitivos

• Atribuições e inicializações

– int x, y; // declaração– float z = 3.144f; // declaração com

// atribuição– double w = 3.1415;– boolean verdade = true;– char c, d;– c = ‘A’; // atribuição– d = ‘\u0013’;– x = 6;– y = 1000;

Page 25: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Tipos de dados PrimitivosTipos de dados Primitivos

• Inicialização default do Java– variáveis numéricas com zero– variáveis boolean com false

Page 26: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Estruturas de captura e tratamento de errosEstruturas de captura e tratamento de erros

Erros comuns provocados pelos usuários:•Digitar letras no lugar de números;•Divisão por zero.

Traduzindo:•Try: Tente•Catch: Capture

Page 27: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Operações com dadosOperações com dados

•SomaSinal: +Exemplo: a

+ b•Subtração

Sinal: -Exemplo: a

– b•Divisão

Sinal: /Exemplo: a

/ b•Multiplicação

Sinal: *Exemplo: a

* b•Sinal negativo

Sinal: -Exemplo: -

a

•Sinal positivoSinal: +Exemplo: +a

•Resto da divisão inteiraSinal: %Exemplo: a % b

•Incremento unárioSinal: ++Exemplo: ++a ou a++

•Decremento unárioSinal: --Exemplo: --a ou a--

Page 28: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

OperadoresOperadores

• Lógicos

– Comparação de valor: == , != , > e <

– Junção de expressões: &, &&, |, ||– Comparação de objetos: instanceof()

Page 29: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

OperadoresOperadores

•IgualSinal: ==Exemplo: a ==

b•Diferente

Sinal: !=Exemplo: a !=

b•Maior que

Sinal: >Exemplo: a >

b

•Menor queSinal: <Exemplo: a <

b•Maior ou igual

Sinal: >=Exemplo: a

>= b•Menor ou igual

Sinal: <=Exemplo: a

<= b

Page 30: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

OperadoresOperadores

Operadores Associatividade Tipo

Exemplos: A+= (a+b)*c;A++;If (a==b)If (a==b)&&(b==c)

A=a/b;C=c*d;If (a>=b)

Page 31: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Operadores de incremento e decrementoOperadores de incremento e decremento

Operador Chamado de Expressão de exemplo Explicação

Page 32: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Controle de FluxoControle de Fluxo

• if, else

if (expressão booleana) { instrução ou bloco de comandos }else { instrução ou bloco de comandos }

if (cont >= 0) { System.out.Println(“Erro !!!”); } else { System.out.println(“Ok !”); }

Page 33: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Exercício para demonstraçãoExercício para demonstração

1. Faça um programa que leia 3 números e imprima o menor deles.

public class Menor{public static void main ( String args[]){

int n1,n2,n3;n1=2;n2=3;n3=1;if ((n1<n2) && (n1<n3)){

System.out.println(n1+” É o menor número...”);}else if ((n2<n1) && (n2<n3)){

System.out.println(n2+” É o menor número...”);}else{

System.out.println(n3+” É o menor número...”);}

}}

Page 34: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Controle de FluxoControle de Fluxo

• Switch switch (expressão short,int,byte ou char) {

– case expressão2:– comandos;– break;– case expressão3:– comandos;– break– default:– comandos;– break;

}

Page 35: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

• switch (cor) {

– case 0:» setBackground(Color.black);» break;

– case 2:» setBackground(Color.red);» break;

– default:» setBackground(Color.white);» break;

}

Controle de FluxoControle de Fluxo

Page 36: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Estrutura de repeticao for

Explicação breve...

Estrutura de RepeticaoEstrutura de Repeticao

For for(i=0;i<10;i++){

comandos;}

public class Testefor{public static void main ( String args[]){

int i;for(i=0;i<10;i++){

System.out.println(i);}

}}

Page 37: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Exercício para demonstraçãoExercício para demonstração

1. Faça um programa que imprima 10 (dez) vezes na tela seu nome.

public class Nome1{public static void main ( String args[]){

String nome;int i;nome=“Daniel”;for(i=0;i<10;i++){

System.out.println(“Ola “+nome);}

}}

Page 38: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

int x = 0;

do

{

x++;

} while (x <10);

• do– do

{ bloco de comandos }

– while

Controle de FluxoControle de Fluxo

Page 39: 2012 30  Anos

CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF

Exercício para demonstraçãoExercício para demonstração

1. Faça um programa que imprima 10 (dez) vezes na tela seu nome.

public class Nome2{public static void main ( String args[]){

String nome;int i;nome=“Daniel”;i=0;do{

System.out.println(“Ola “+nome);i++;

}while(i<10);}

}