2012 30 Anos
description
Transcript of 2012 30 Anos
CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF
20122012
30 Anos30 Anos
CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF
Linguagem de Programação II JAVA
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.
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.
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++.
CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF
HistóriaHistória JAVA JAVA
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
CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF
HistóriaHistória JAVA JAVA
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
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.
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
CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF
Tecnologia de ObjetosTecnologia de Objetos
CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF
Tecnologia de ObjetosTecnologia de Objetos
Habilidade da abstração
CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF
Tecnologia de ObjetosTecnologia de Objetos
AnimadosAnimados InanimadosInanimados
CENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEFCENTRO EDUCACIONAL FUCAPI - LYNALDO CAVALCANTI DE ALBUQUERQUE - CEEF
Tecnologia de ObjetosTecnologia de Objetos
-Tamanho- Forma
- Cor- Peso
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
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
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
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
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;
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 !");
}}
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
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
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;
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
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
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--
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()
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
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)
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
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 !”); }
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...”);}
}}
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;
}
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
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);}
}}
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);}
}}
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
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);}
}