Linguagem Java

Post on 03-Jan-2016

104 views 0 download

description

Linguagem Java. Alexandre Parra E-mail: parrasilva@gmail.com Site: www.udesc.br. Roteiro. Breve Histórico de Java Características da Linguagem Java Java Virtual Machine (JVM) Sintaxe da Linguagem Java. Histórico (1/2). Surgimento: 1990 - James Gosling – Sun Microsystems - PowerPoint PPT Presentation

Transcript of Linguagem Java

Linguagem Java

Alexandre ParraE-mail: parrasilva@gmail.com

Site:www.udesc.br

Roteiro

Breve Histórico de Java

Características da Linguagem Java

Java Virtual Machine (JVM)

Sintaxe da Linguagem Java

Histórico (1/2)

Surgimento: 1990 - James Gosling – Sun Microsystems

Concebida para o desenvolvimento de pequenos aplicativos e programas de aparelhos eletrodomésticos e eletroeletrônicos.

C++ → OAK → Java

Histórico (2/2)

Inicialmente conhecida como uma ferramenta para criar applets para a WWW. Applet: mini-aplicação que é executada

dentro de uma página Web.

Atualmente bastante utilizada para o desenvolvimento de aplicações para Internet, e outros...

Características – Java (1/4)

Parecida com C, C++ Embora use um paradigma diferente do C, tem algumas

características herdadas desta linguagem. Orientada a Objetos

Implementa quase todas as características do paradigma orientada a objetos, exceto herança múltipla.

Segurança Não há ponteiros (apresenta outras estruturas mais

seguras); Coleta automática de lixo:

O programador não precisa gerenciar diretamente a memória

Mecanismos de tratamento de exceções.

Características – Java (2/4)

Suporta execuções concorrentes/paralelas: Threads de execução

Suporte a programação de sistemas distribuídos: Sockets; Remote Method Invocation (RMI); ...

Características – Java (3/4)

É uma linguagem interpretada.

Programas Java compilados chamam-se “byte-code” (.class).

O “byte-code” será interpretado por uma máquina virtual (JVM) para então executar.

O “byte-code” pode “rodar” em máquinas de plataformas diferentes (independente de plataforma).

Características – Java (4/4)

Java Virtual Machine (JVM) Somente dentro da JVM é que os códigos Java

são efetivamente executados.

Uma especificação da JVM é direcionada para uma determinada especificação de hardware.

Então “byte-code” são instruções de código de máquina para a JVM.

“Escrever uma vez, executar em qualquer parte, a qualquer tempo e para sempre”.

Patrick Naughton

As versões do Java

A “Sopa de Letras” do Java (1/3)

API (Application Programming Interface) São bibliotecas de classes, que podem ser

reutilizadas no desenvolvimento de aplicativos Java.

JSDK (ou JDK): Java Software Development Kit; Conjunto de ferramentas de

desenvolvimento Java disponibilizado pela SUN;

Compilador + depurador + API; Documentação.

A “Sopa de Letras” do Java (2/3)

JRE (Java Runtime Environment) Bibliotecas; Máquina Virtual Java e demais componentes necessários para

executar applets e aplicações escritas em Java.

A “Sopa de Letras” do Java (3/3)

J2SE (Java 2 Standard Edition) Núcleo da Plataforma Java Contém o JDK e o JRE

J2ME (Java 2 Micro Edition) É o Java para pequenos dispositivos

J2EE (Java 2 Enterprise Edition) Ambiente para o desenvolvimento de

aplicações corporativas, complexas e distribuídas fisicamente.

Sintaxe Java

Classe em Java Atributos Construtores Métodos

Interface Exemplos de Programas Simples

Classe em Java

Uma classe define o estado e comportamento de um objeto, implementando atributos e métodos.

Classe representa um tipo de dado complexo.

Objetos (instâncias) são a representação dinâmica das classes.

Principais membros das classes: atributos, métodos e construtores.

Tipos de Classe

São dois tipos de classes: Classes Concretas: permite a criação de

objetos (instâncias) que representam indivíduos específicos da classe.

Classes Abstratas: não permite a criação de objetos (instâncias).

Normalmente, classes abstratas são utilizadas para a definição de interfaces ou de templates que serão utilizados (através da herança) por classes concretas.

Sintaxe de definição de Classe em Java

Os membros só podem ocorrer dentro do bloco ‘class <NomeDaClasse> { ... }’, em qualquer ordem

(1) zero ou mais declarações de atributos;

(2) zero ou mais construtores;

(3) zero ou mais definições de métodos.

Exemplo de Classe Concreta

public class Lampada {// definição dos atributospublic boolean estado;

// definição do construtor da classepublic Lampada(boolean estado) {

this.estado = estado;}

// definição dos métodospublic void acende() {

estado = true;}

public void apaga() {estado = false;

}

public void mostraEstado() {if(estado == true)

System.out.println(“A lâmpada está acesa.”);else

System.out.println(“A lâmpada está apagada.”);}

} // fim da classe Lampada

construtor

atributo

métodos

Exemplo de Classe Abstrata

public abstract class FigurasGeometricas { private float base; private float altura; private float coordX; private float coordY;

public abstract float calculaPerimetro();

public abstract float calculaArea();

public void setBase(float base) { this.base = base;

}

public float getBase() { return base;

}

public void setAltura(float altura) { this.altura = altura;

} ...}

Classe abstrata

Sintaxe de definição de atributos em Java

Sintaxe básica[mod]* tipo identificador [= valor];

Chave[mod]*: zero ou mais modificadores (de

acesso, de qualidade), separados por espaços: public, private, static, final, etc...;

tipo: tipo de dados que a variável (ou constante) pode conter;

identificador: nome da variável ou constante;[= valor]: valor inicial da variável ou

constante.

Exemplo de atributos em Java

atributos

Construtores

Construtores são procedimentos usados para construção de objetos Parecem métodos, mas não têm tipo de

retorno. Têm nome idêntico ao nome da classe;

Nem sempre aparecem explícitos em uma classe: podem ser omitidos (o sistema oferece uma implementação padrão).

Sintaxe de definição de construtores em Java

Possui sempre o mesmo nome que a classe. Contém procedimentos entre chaves, como os

métodos. São chamados apenas uma vez: na criação do

objeto. Pode haver vários em uma mesma classe.

São identificados pelo número e tipo de argumentos.

Nunca declara-se tipo de retorno Sintaxe

[mod]* nome_classe ( [tipo arg]* ) { ... }

Exemplo de construtores em Java

construtores

Sintaxe de definição de métodos em Java

Sintaxe básica [mod]* tipo identificador ([tipo arg]*)

{ ... }

Chave[mod]*: zero ou mais modificadores de

acesso separados por espaços;tipo: tipo de dados retornado pelo método;identificador: nome do método;[arg]*: zero ou mais argumentos, com tipo

declarado, separados por vírgula;

Exemplo de métodos em Java

métodos

Sintaxe de definição de Interface em Java

Só podem ocorrer dentro do bloco “interface nomeDaInterface { ... }”:

(1) zero ou mais métodos abstratos;

(2) zero ou mais constantes;

Exemplos de Interface

public interface Relogio { public void setHorario(Date horario); public Date getHorario(); public void setHorarioAlarme(Date horario); public Date getHorarioAlarme(); public void ligarAlarme(); public void desligarAlarme(); public void setVolumeRelogio(int volume); public int getVolumeReologio();}

public interface Radio { public void setEmissora(float emissora, String tipo); public float getEmissora(); public String getTipoEmissora(); public void setVolumeRadio(int volume); public int getVolumeRadio(); }

Exemplo simples de Programa (1/2)

Exemplo simples de Programa (2/2)

Objeto em Java (1/3)

O que é um objeto ? São conceitos que têm: identidade,

estado e comportamento.

Objeto em Java (2/3)

Em Java, objetos são armazenados na memória heap e manipulados através de referência (variável), guardada na pilha. Tem estado (atributos); Tem comportamento (métodos); Tem identidade (a referência).

Interface de Objetos

Através da interface* é possível comunicar-se com objetos Não é preciso saber dos detalhes da

implementação.

O tipo (Classe) de um objeto determina sua interface O tipo determina quais mensagens podem

ser enviadas aos objetos.

* Interface aqui refere-se aos métodos de um objeto e não um conceito.

Exemplo de assinaturas de métodos

Onde obter o Java ?

J2SE - http://java.sun.com/j2se/

J2EE - http://java.sun.com/j2ee/

J2ME - http://java.sun.com/j2me/

IDE (Integrated Development Environment)

JCreator - http://www.jcreator.net

NetBeans - http://www.netbeans.org/

Eclipse - http://www.eclipse.org

Leitura

Ler os capítulos 4 e 5 do livro “Java como Programar” presente em http://www.joinville.udesc.br/portal/professores/parra/

Exercícios

Fazer os exercícios propostos no arquivo “exercicios_ling_java.doc” que se encontra em http://www.joinville.udesc.br/portal/professores/parra/ no link “Materiais” da disciplina LPG-II.