Jan 03, 2016
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.