linguagem java
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
![Page 2: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/2.jpg)
Roteiro
Breve Histórico de Java
Características da Linguagem Java
Java Virtual Machine (JVM)
Sintaxe da Linguagem Java
![Page 3: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/3.jpg)
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
![Page 4: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/4.jpg)
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...
![Page 5: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/5.jpg)
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.
![Page 6: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/6.jpg)
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); ...
![Page 7: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/7.jpg)
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).
![Page 8: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/8.jpg)
Características – Java (4/4)
![Page 9: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/9.jpg)
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
![Page 10: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/10.jpg)
As versões do Java
![Page 11: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/11.jpg)
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.
![Page 12: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/12.jpg)
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.
![Page 13: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/13.jpg)
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.
![Page 14: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/14.jpg)
Sintaxe Java
Classe em Java Atributos Construtores Métodos
Interface Exemplos de Programas Simples
![Page 15: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/15.jpg)
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.
![Page 16: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/16.jpg)
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.
![Page 17: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/17.jpg)
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.
![Page 18: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/18.jpg)
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
![Page 19: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/19.jpg)
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
![Page 20: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/20.jpg)
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.
![Page 21: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/21.jpg)
Exemplo de atributos em Java
atributos
![Page 22: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/22.jpg)
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).
![Page 23: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/23.jpg)
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]* ) { ... }
![Page 24: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/24.jpg)
Exemplo de construtores em Java
construtores
![Page 25: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/25.jpg)
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;
![Page 26: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/26.jpg)
Exemplo de métodos em Java
métodos
![Page 27: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/27.jpg)
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;
![Page 28: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/28.jpg)
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(); }
![Page 29: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/29.jpg)
Exemplo simples de Programa (1/2)
![Page 30: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/30.jpg)
Exemplo simples de Programa (2/2)
![Page 31: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/31.jpg)
Objeto em Java (1/3)
O que é um objeto ? São conceitos que têm: identidade,
estado e comportamento.
![Page 32: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/32.jpg)
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).
![Page 33: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/33.jpg)
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.
![Page 34: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/34.jpg)
Exemplo de assinaturas de métodos
![Page 35: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/35.jpg)
Onde obter o Java ?
J2SE - http://java.sun.com/j2se/
J2EE - http://java.sun.com/j2ee/
J2ME - http://java.sun.com/j2me/
![Page 36: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/36.jpg)
IDE (Integrated Development Environment)
JCreator - http://www.jcreator.net
NetBeans - http://www.netbeans.org/
Eclipse - http://www.eclipse.org
![Page 37: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/37.jpg)
Leitura
Ler os capítulos 4 e 5 do livro “Java como Programar” presente em http://www.joinville.udesc.br/portal/professores/parra/
![Page 38: Linguagem Java](https://reader033.vdocuments.site/reader033/viewer/2022061411/568135fa550346895d9d6c39/html5/thumbnails/38.jpg)
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.