390 likes | 501 Views
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.
E N D
2012 30 Anos
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 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.
História 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.
História 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++.
História JAVA Java é a mais populosa ilha da Indonésia
Características de JAVA Parecida com C, C++: Compiladae Interpretada Segura Portável Orientada a Objetos
Plataformas 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, 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. Plataforma Java 2, Micro Edition (J2ME): voltado para o desenvolvimento de aplicativos que rodem em Palms, celulares ou outros dispositivos móveis.
Ambiente JAVA Típico Disco EDITOR COMPILADOR Disco Memória Principal CARREGADOR DE CLASSE Disco Memória Principal Verificador de Bytecode Memória Principal Interpretador
Tecnologia de Objetos Habilidade da abstração
Tecnologia de Objetos Inanimados Animados
Tecnologia de Objetos • Tamanho • Forma • Cor • Peso
Tecnologia de Objetos Classe 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. Objeto 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.
Tecnologia de Objetos Classe • Classe • Objeto • Métodos • Atributos Objeto = Métodos: Latir Chorar Pular Atributos: Cor: Branco Peso: 20 Kg Altura: 1,15 m
Características da Linguagem • Herança • Superclasses e subclasses • Herança Múltipla vs Interfaces • Classes Abstratas e Concretas • Polimorfismo • Vinculação dinâmica de método • Sobrecarga de métodos • Método é selecionado de acordo com seus parâmetros • Sobrecarregar métodos pode tornar os programas mais legíveis
Abstração de dados e Encapsulamento • Classes • Classes em Java definem os Tipos Abstratos de Dados • Pacotes vs Módulos • Sua utilização facilita a reutilização de código • TADs • Permite ao programador gerar seus próprios tipos
//Protótipo de um programa JAVA 2 class nome_da_classe { lista de atributos; lista de métodos; { //Exemplo 2 class Pessoa { String cor; int altura,peso; void LerDados() { } void ImprimirDados() { } } 1 public static void main(String args[]) 2 { 3 // Instanciando um objeto Pessoa andre = new Pessoa(); //Armazenando valores andre.cor=“moreno”; andre.altura= 2; andre.peso= 80; JAVA
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 !"); } }
Tipos de dados Primitivos Tipo Tamanho em bits Valores Padrão
Tipos 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
Tipos 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;
Tipos de dados Primitivos • Inicialização default do Java • variáveis numéricas com zero • variáveis boolean com false
Estruturas 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
Operações com dados • Soma Sinal: + 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 positivo Sinal: + Exemplo: +a • Resto da divisão inteira Sinal: % Exemplo: a % b • Incremento unário Sinal: ++ Exemplo: ++a ou a++ • Decremento unário Sinal: -- Exemplo: --a ou a--
Operadores • Lógicos • Comparação de valor: == , != , > e < • Junção de expressões: &, &&, |, || • Comparação de objetos: instanceof()
Operadores • Igual Sinal: == Exemplo: a == b • Diferente Sinal: != Exemplo: a != b • Maior que Sinal: > Exemplo: a > b • Menor que Sinal: < Exemplo: a < b • Maior ou igual Sinal: >= Exemplo: a >= b • Menor ou igual Sinal: <= Exemplo: a <= b
Operadores 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)
Operadores de incremento e decremento Operador Chamado de Expressão de exemplo Explicação
Controle 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 !”); • }
Exercício para demonstração 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...”); } } }
Controle de Fluxo • Switch • switch (expressão short,int,byte ou char) • { • case expressão2: • comandos; • break; • case expressão3: • comandos; • break • default: • comandos; • break; • }
Controle de Fluxo • switch (cor) • { • case 0: • setBackground(Color.black); • break; • case 2: • setBackground(Color.red); • break; • default: • setBackground(Color.white); • break; • }
Estrutura de repeticao for Estrutura de Repeticao For for(i=0;i<10;i++){ comandos; } Explicação breve... public class Testefor{ public static void main ( String args[]){ int i; for(i=0;i<10;i++){ System.out.println(i); } } }
Exercício para demonstração 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); } } }
Controle de Fluxo • do • do • { bloco de comandos } • while int x = 0; do { x++; } while (x <10);
Exercício para demonstração 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); } }