Você está na página 1de 17

08/06/2009

Introduo Linguagem
JAVA
Pro. Esp. Andre Negreiros
2009

2 Introduo linguagem JAVA


Aula 01 - Introduo

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

1
08/06/2009

Objetivos
3

 Discutir aspectos de qualidade de software;


 Introduzir os conceitos de orientao a objetos;
 Fornecer subsdios para a programao OO;
 Discutir como a linguagem Java implementa as
principais idias da programao OO;
 Indicar como programas em Java podem ser
adequadamente escritos e estruturados;

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

Contedo Programtico
4

 Introduo Linguagem Java


 Sintaxe e Fundamentos
 Estruturas de controle
 Arrays
 Introduo a OO
 Garbage Collected, This e Acessibilidade
 Varveis finais e membros de classe

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

2
08/06/2009

Contedo Programtico
5

 Pacotes
 Herana e Classes
 Polimorfismo
 Classes abstratas e interfaces
 Excees
 Agregao, listas e colees
 Threads

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

Assuntos no abordados
6

 UML
 Colees
 EJB
 Padres de projeto
 Interface grfica (Swing e AWT)

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

3
08/06/2009

Introduo linguagem JAVA


7

 Quais os seus maiores problemas quando est


programando?
 Ponteiros

 Gerenciamento de memria
 Organizao

 Falta de bibliotecas
 Ter que reescrever parte do cdigo ao mudar de SO

 Custo de usar a tecnologia

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

O que Java?
8

 Java ...
 Um software
 Uma tecnologia

 Uma linguagem de programao

 Uma plataforma de desenvolvimento

 Uma ilha na Indonsia

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

4
08/06/2009

Histria...
9

 Projeto Green
 Formado por Patrick Naughton, Scott McNealy, Bill Joy
e James Gosling (Lder do projeto)
 Tinha como objetivo desenvolver uma linguagem para
aparelhos eletrnicos em rede com os seguintes
requisitos:
 Suporte a diferentes plataformas
 Distribuio de software via rede
 Garantia de confiabilidade de cdigo
 Baixos requisitos de memria
 Cdigo pequeno

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

...Histria
10

 Projeto fracassou, mas ressurgiu posteriormente com


as aplicaes web (Applets)
 Verso 1.0 lanada em 1996
 A tecnologia Java nasceu com um objetivo, foi
lanada com outro, mas, atualmente, decolou com
as aplicaes do lado Servidor

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

5
08/06/2009

Tecnologia e conceitos
11

 A evoluo da linguagem controlada pelo


Java Community Process (www.jcp.org)
formado pela Sun e usurios Java;
 Ambientes de execuo (JRE) e de
desenvolvimento (SDK) so fornecidos por
fabricantes de hardware e software;
 Java possui uma coleo de APIs (bibliotecas)
padro que podem ser usadas para construir
aplicaes
 Organizadas em pacotes (java.*. javax.* e extenses)
 Usadas pelos ambientes JRE e SDK

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

Terminologias
12

 JDK - Java Development Kit: Terminoligia utilizada at a


verso 1.1 para identificar a plataforma Java.
 Java 2: Terminologia utilizada a partir da verso 1.2 da
plataforma Java, atualmente na verso 6.
 J2SDK: Java 2 Software Development Kit: Ambiente
completo para o desenvolvedor Java. Inclui compilador e a
Virtual Machine.
 J2RE: Java 2 Runtime Environment: Ambiente apenas para
execuo de aplicaes Java, utilizada em ambientes de
produo. No contm o compilador.
 JVM: Mquina Virtual Java. Mquina imaginria
implementada como uma aplicao de sottware em uma
mquina real.
Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

6
08/06/2009

Java hoje
13

 13 anos!
 Verses:
 Java 1.0
 Java Development Kit 1.1
 Java 2 Platform 1.2
 Java 2 Platform 1.3
 Java 2 Platform 1.4
 Java 2 Platform 5.0 (Tiger)
 Java Platform 6 (Mustang)
 Prxima: Java Platform 7 (Dolphin)

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

Plataformas Java
14

 Java SE: Standard Edition


 Baseda linguagem
 Ambiente desktop

 Java EE: Enterprise Edition


 Ambiente distribudo
 Aplicaes corporativas

 Java ME: Micro Edition


 Pequenos dispositivos

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

7
08/06/2009

Plataformas Java
15

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

Caractersticas da linguagem
16

 Orientada a objetos  Cdigo Mvel


 Distribuda  Multi-Thread
 Compilada/Interpretada  Garbage Collected
 Robusta  Case Sensitive
 Segura  Tratamento de
 Portvel Excees
 Gratuita

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

8
08/06/2009

Caractersticas da linguagem
17

 Orientada a Objetos:
 Quase pura (tipos primitivos)
 Objetos

 Classes (abstratas e concretas)

 Encapsulamento

 Proteo (public, private, protected, default)

 Herana (simples)

 Polimorfismo;

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

Caractersticas da linguagem
18

 Distribuda
 Pacote de classes para programao em rede
(java.Net): sockets, urls, http, datagrama, etc;
 RMI;

 Integrao com Corba (Objetos Distribudos);

 Excelente para o desenvolvimento de aplicaes


Cliente/Servidor;

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

9
08/06/2009

Caractersticas da linguagem
19

 Compilada/Interpretada:
 Compilada (bytecodes);
 Interpretao (mquina virtual, jvm);

 Portvel - write once run anywhere

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

Caractersticas da linguagem
20

 Compilada / Interpretada

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

10
08/06/2009

Caractersticas da linguagem
21

 Compilada / Interpretada

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

Caractersticas da linguagem
22

 Compilada / Interpretada

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

11
08/06/2009

Caractersticas da linguagem
23

 Portvel:
 Planejada para sistemas embutidos: hardware muito
heterogneo;
 Bytecode portvel;

 Escreva uma vez e rode em qualquer lugar;

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

Caractersticas da linguagem
24

 Portvel

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

12
08/06/2009

Caractersticas da Linguagem
25

 Robusta:
 No permite acesso direto memria;
- (no utiliza ponteiros explcitos);
 Possui coletor de lixo (garbagge collector);
 Possui tratamento de excees;

 Fortemente tipada;

 Implementa o conceito de casts;

 Verificaes obrigatrias (ex: arrays);

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

Caractersticas da linguagem
26

 Segura:
 No possui ponteiros explcitos;
 Acesso controlado aos recursos do sistema:
- ram, sistema de arquivos;
 Gerenciador de segurana:
- classe securitymanager;
 Verificao dos bytecodes que trafegam na rede;

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

13
08/06/2009

Caractersticas da linguagem
27

 Multi-Threaded:
 Implementa threads de forma bastante simples e
segura;
 O suporte dado pela prpria linguagem, faz parte
do pacote padro de java (pacote java.Lang);
 portvel, at mesmo em plataformas sem threads;

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

Caractersticas da linguagem
28

 Tratamento de Excees:
 Permite o tratamento de situaes excepcionais;
 Sintaxe apropriada:

- try, catch, finally, throw, throws;


 Excees embutidas;

 Permite a criao de novas excees


- definio de situaes excepcionais;

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

14
08/06/2009

Caractersticas da linguagem
29

 Garbage Collected:
 Memria alocada que no est sendo mais utilizada
liberada
 Em outras linguagem desalocar memria
responsabilidade do programador
 Acontece naturalmente, no preciso disparar uma
processo
 Pode variar drasticamente, de acordo com a JVM

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

Onde posso programar?


30

 Bloco de notas
 Interface Development Environment (IDE):
 Netbeans (Gratuito - www.netbeans.org)
 Eclipse (Gratuito - www.eclipse.org)

 Jbuilder (Pago - www.borland.com)

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

15
08/06/2009

Referncias bibliogrficas
31

 DEITEL, M. D.; DEITEL P. J.. Java Como Programar.


Prentice Hall Brasil, 6a. Edio, 2006.
 HORSTMAN, Cay S.. Core Java 2, Volume I
Fundamentos. Alta Books, 7a. Edio, 2005.
 HORSTMAN, Cay S.. Core Java 2, Volume II Recursos
Avanados. Makron Books, 2000.
 SIERRA, Kathy; BATES, Bert. Java Use a cabea.
Alta Books, 2005.
 SIERRA, Kathy; BATES, Bert. Certificao Sun para
Programador Java 5. 2 ed. Alta Books, 2006.

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

Referncias Bibliogrficas
32

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

16
08/06/2009

Bibliografia complementar
33

 Listas de Discusso
 CEJUG (Cear Java Users Group):
http://www.cejug.org

Introduo Linguagem JAVA - Prof. Andr Negreiros FATENE - 2009

17