Linguagem Java

Propaganda
Linguagem Java
Rebeca Schroeder
E-mail: [email protected]
Linguagem Java

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
Linguagem Java


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

Parecida com C, C++


Orientada a Objetos


Embora use um paradigma diferente do C, tem algumas
características herdadas desta linguagem
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

Suporta execuções concorrentes:


Thread de execução
Suporte a programação de sistemas
distribuídos:



Sockets
Remote Method Invocation (RMI)
...
Características - Java

É uma linguagem compilada



Programas Java compilados chamam-se
“byte-code” (.class)
O “byte-code” será interpretado por uma
máquina virtual para então executar
O “byte-code” pode “rodar” em máquinas
de sistemas diferentes
Características - Java
Máquina Virtual Java
(Java Virtual Machine - JVM)



Somente dentro da JVM é que os códigos
Java são efetivamente executados
Uma especificação de JVM suporta 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
1997
1996
Java 1.1
Java 1.02
500 classes
250 classes
Lento
Applets
1998
Java 2
2300 classes
Em 3 sabores:
- J2ME,
-Popular.
- J2SE,
-Melhor GUI - J2EE.
2004
Java 5.0
Tiger
3500 classes
genéricos,
auto boxing,
anotações,
foreach,
varargs, …
2006
Java 6.0
Mustang
4000 classes
A “Sopa de letrinhas” do Java

API



Application Programming Interfaces
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 letrinhas” do Java

JRE


Java Runtime Environment
Contém as bibliotecas, máquina virtual e
demais componentes necessários para
executar applets e aplicações escritas em
Java
A “Sopa de letrinhas” do Java

J2SE (ou Core Java Platform)



J2ME



Java 2 Standard Edition
Contém o JDK e o JRE
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.
A “Sopa de letrinhas” do Java

JDBC



Java Database Connectivity
Solução para acesso multiplataforma à
banco de dados.
JSP


JavaServer Pages
Criação de páginas web dinâmicas
A “Sopa de letrinhas” do Java

Servlets



Equivalem as CGIs. São programas Java
que rodam no servidor.
Possibilitam a geração de conteúdo
dinâmico para a Web
Applets

Programa escrito em Java e que pode ser
executado a partir de uma página HTML
A “Sopa de letrinhas” do Java

EJB – Enterprise JavaBeans


A especificação EJB define um padrão
paraComponentes de negócio
distribuídos.
RMI – Remote Method Invocation

Solução para distribuição de aplicações
Java, permite a comunicação entre
objetos.
A “Sopa de letrinhas” do Java

AWT – Abstract Window Toolkit


Esta API contém tratamento de eventos, janelas,
caixas de Diálogo, cores e outros elementos
visuais.
Swing


Principal parte do JFC (Java Foundation Classes)
estende o AWT, e tem substituído este em muitos
casos.
Onde obter o Java




J2SE - http://java.sun.com/j2se/
J2EE- http://java.sun.com/j2ee/
J2ME - http://java.sun.com/j2me/
Ambientes de desenvolvimento



JCreator - http://www.jcreator.net
NetBeans - http://www.netbeans.org/
Eclipse - http://www.eclipse.org
Anatomia de uma classe Java
Anatomia de uma classe Java
<Classe>
<atributo 1>: <Tipo 1>
<atributo 2>: <Tipo 2>
<atributo 3>: <Tipo 3>
public class <Classe> {
<Tipo1> <atributo1>;
<Tipo2> <atributo2>;
<Tipo3> <atributo3>;
<Tipo4> <operação1>(<args>){
<declaracao1>;
<declaracao2>;
return <Tipo4>;
}
<operação 1>(<args>):
Definição em UML
}
Definição em Java
Anatomia de uma classe Java
public class Automovel {
int nPortas;
String placa;
Atributos
void acelerar(){
//Implementação do método acelerar
System.out.println(“Acelerando…”);
}
Métodos
void frear(){
/*Implementação do método frear*/
System.out.println(“Freando…”);
}
}
Comentários
Classe e Pacotes
•
Java possui diversas classes padrões, que
implementam a maioria das funcionalidades
necessárias para uma aplicação
•
•
•
Esse conjunto de classes padrões (API) são
organizados em pacotes (cada pacote contendo
diversas classes)
Principais pacotes da API Java:
•
•
•
•
Exemplos: funções matemáticas, classes para
manipulação de Strings...
java.lang
java.match
java.util
Consulte a API Java:
•
http://java.sun.com/j2se/1.5.0/docs/api/
Como criar uma classe Java
1 Crie um documento de código fonte. Use a linguagem
Java (obedeça a sua sintaxe)
2 Submeta seu documento ao compilador. O
compilador verificará erros e não permitirá gerar a
saída até que tudo esteja adequado para que o
programa execute corretamente
3 O compilador cria um novo documento, bytecode
Java (.class).
4 Qualquer dispositivo que possua uma implementação
de máquina virtual será capaz de executar seu
programa Java.
A máquina virtual lê e executa o bytecode.
Compilação para byte-code

Variável de ambiente JAVA_HOME
(opcional: usada por vários frameworks)


Define qual o local de instalação do Java no
seu sistema.
Exemplos:


JAVA_HOME= c:\j2sdk1.4.0
Variável de ambiente CLASSPATH: local
que contém todos os caminhos locais para
localizar classes
Compilação para byte-code
Como compliar:
javac NomeDaClasse.java
􀂃 javac -d ../destino Um.java Dois.java
􀂃 javac -d ../destino *.java
􀂃 javac -classpath c:\fontes -d ../destino *.java
􀂃

Algumas opções (opcionais)

-d diretório onde serão armazenadas as classes (arquivos .class)
geradas

-classpath diretórios (separados por ; ou :) onde estão as
classes requeridas pela aplicação
-sourcepath diretórios onde estão as fontes
Para conhecer outras opções do compilador, digite javac
sem argumentos
Execução
Como executar:
􀂃 java NomeDaClasse
􀂃 java pacote.subpacote.NomeDaClasse
􀂃 java -classpath c:\classes;c:\bin;. pacote.Classe
􀂃 java -cp c:\classes;c:\bin;. pacote.Classe
􀂃 java -cp %CLASSPATH%;c:\mais pacote.Classe
􀂃 java -cp biblioteca.jar pacote.Classe
􀂃 java -jar executavel.jar


Principais opções
􀂃 -cp ou
-classpath classpath novo (sobrepõe variável de ambiente)
-jar executa aplicação executável guardada em JAR
Download