Linguagem Java
Alexandre Parra
E-mail: [email protected]
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

Inicialmente conhecida como uma ferramenta
para criar applets para a WWW.


(2/2)
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

Parecida com C, C++


Embora use um paradigma diferente do C, tem algumas
características herdadas desta linguagem.
Orientada a Objetos


(1/4)
Implementa quase todas as características do paradigma
orientada a objetos, exceto herança múltipla.
Segurança


Não há ponteiros (apresenta
seguras);
Coleta automática de lixo:


outras
estruturas
mais
O programador não precisa gerenciar diretamente a memória
Mecanismos de tratamento de exceções.
Características – Java

Suporta execuções concorrentes/paralelas:


(2/4)
Threads de execução
Suporte a
distribuídos:



programação
de
Sockets;
Remote Method Invocation (RMI);
...
sistemas
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

API (Application Programming Interface)


(1/3)
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

J2SE (Java 2 Standard Edition)



Núcleo da Plataforma Java
Contém o JDK e o JRE
J2ME (Java 2 Micro Edition)


(3/3)
É 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)
dinâmica das classes.
são
a
representação
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 atributos
public boolean estado;
construtor
atributo
// definição do construtor da classe
public Lampada(boolean estado) {
this.estado = estado;
}
// definição dos métodos
public void acende() {
estado = true;
}
public void apaga() {
estado = false;
}
métodos
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
Exemplo de Classe Abstrata
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;
}
...
}
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 comunicarse com objetos


Não é preciso
implementação.
saber
dos
detalhes
da
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.
Download

Linguagem Java