Aula 1 - Fundamentos Java SE

Propaganda
Linguagens de Programação II
Aula 1 - Fundamentos Java SE
Instituto Metodista Izabela Hendrix
Curso de Tecnologia em Análise e Desenvolvimento de Sistemas
Prof. Gilmar Medeiros – Agosto/2009
Outline


Histórico da Linguagem
Apresentação das Tecnologias Java



Java SE, EE, ME e FX
Paradigmas mais comuns de programação
Java Standard Edition: desenvolvimento
desktop:



Características: vantagens e desvantagens;
Comparação com a linguagem C/C++
Notação básica e primeiros programas
desenvolvidos em Java
Java - Histórico

1991 - Inicialmente idealizada para uso em
dispositivos inteligentes de pequeno porte:




Geladeiras, controles remotos, dispositivos
portáteis
Primeiramente chamada Oak, rebatizada
como Java – sintaxe baseada em C++;
Alavancada em 1995, com a popularidade
da Web, proporcionando suporte a
conteúdo dinâmico;
Hoje encontrada nas mais variadas edições,
com suporte a diversos tipos de dispositivos
Tecnologias ou Edições Java




Java Standard Edition – Java SE
Java Enterprise Edition – Java EE
Java Micro Edition – Java ME
Java FX – ver site
http://java.sun.com/javafx/index.jsp
Paradigmas Comuns de Programação




Linguagens Concorrentes
Linguagens Procedurais
Linguagens Orientadas a Objetos
Etc.
Java SE: Apresentação

Possibilita o desenvolvimento de
aplicações desktop:



Aplicações de linha de comando;
Aplicações com interfaces gráficas Swing:
pacote javax.swing (ver, em Java Tutorial:
http://java.sun.com/docs/books/tutorial/ui/ind
ex.html)
IDEs: permitem o desenvolvimento rápido das
aplicações. Ex: NetBeans e Eclipse
Java SE: Características




Portabilidade dos programas compilados,
para diversos SOs, não necessitando
recompilação – característica
multiplataforma
Sintaxe similar ao C – fácil aprendizado
Baseada e orientada a objetos
Possui uma extensa API, extremamente
atualizada e de acordo com a realidade da
maioria dos programadores
Java SE: Comparação com C/C++

A linguagem Java é considerada uma
“evolução” das linguagens C/C++, onde:




Permite a criação de programas realmente
portáveis, sem a necessidade de recompilação
ou alteração de código;
Possui o gerenciamento de memória embutido,
através do garbage collector ou coletor de lixo
Não faz uso explícito de ponteiros, o que
representa uma facilidade de programação,
sendo menos sujeita a erros de código;
Usa conceitos modernos, como a orientação a
objetos, suporte a multithreading, etc.
Java: Ambiente de Desenvolvimento - I


Fase 1: editor de textos comum, criação do
arquivo .java;
Fase 2: Compilação – geração do arquivo de
bytecodes .class;



Os bytecodes serão executados pela Java Virtual
Machine (JVM) – camada que simula um
computador, ocultando o SO e hardware;
A JVM é responsável pelas características de
portabilidade do código Java
Fase 3: carregamento do programa .class em
memória – “load class”
Java: Ambiente de Desenvolvimento - II


Fase 4: Verificação dos bytecodes
Fase 5: Execução dos bytecodes, realizando
as ações determinadas pelo programa:


Compilação JIT (just-in-time) – misto de
interpretação e compilação, traduzindo os
bytecodes para linguagem de máquina
Obs: diversas otimizações de compiladores são
possíveis, sendo o compilador do Eclipse IDE
considerado um dos mais otimizados
Java: Ambiente de Desenvolvimento - III
Java: Notação Básica

Estruturas básicas similares ao C:
Ex. 1:
int a = 3; int b = 6; int c = 0;
if (a >= b) {
c = a + b;
} else {
c = a * b;
}
 Ex. 2:
for (int i=0;i<10;i++) {
System.out.println(“Iteração[“ + i +”]”);
}

Java: Primeiros Passos

Ex. programa FirstTest.java:
public class FirstTest {
public static void main (String args[]) {
System.out.println(“Alo Mundo!”);
}
}
Java: Compilação e Execução


Compilação:

javac - Ex: javac FirstTest.java

Gera um arquivo <nome-arquivo>.class
Execução:



java – Ex: java FirstTest
Obs: Se refere ao FirstTest.class, não ao
FirstTest.java
Obs. 2: Se não houver o arquivo .class, não
haverá execução
Bibliografia e Recursos - I




* DEITEL & DEITEL: Java – Como Programar. Editora
Prentice Hall, 6a Edição. ISBN: 8576050196
WEST, DAVID; MCLAUGHLIN, BRETT: Use a cabeça:
Analise & Projeto orientado ao objeto. Alta Books, 1a
Edição, 2007. ISBN: 8576081458
BATES, BERT; SIERRA, KATHY: Use a cabeça! - Java.
Alta Books, 1a Edição, 2005. ISBN: 8576080842
* BATES, BERT; SIERRA, KATHY: SCJP: Certificação
Sun para Programador Java 5 - Guia de Estudo. Alta
Books, 2ª Edição, 2006. ISBN: 8576081334.
Bibliografia e Recursos - II





www.java.sun.com
Java Developers Almanac:
http://www.exampledepot.com/
Java Tutorial:
http://java.sun.com/docs/books/tutorial/
Java SE 6 – APIs:
http://java.sun.com/javase/6/docs/api/
Linguagem de script Groovy:
http://groovy.codehaus.org/
Outline do Restante do Curso






Apresentação da notação básica Java; apresentação das
APIs básicas de Java; introdução aos primeiros
programas Java através de protótipos com o uso de
classes como Scanner, dentre outras;
Apresentação de conceitos e práticas de Programação
Baseada e Orientada a Objetos;
Apresentação da API java.io.*: definição de
manipulação de arquivos e diretórios; operações básicas
de I/O e fluxos
Conceitos e práticas de geração de interfaces gráficas
desktop - “Swing” – com o uso de puro Java;
Técnicas de concorrência através do uso de
multithreading
Práticas de projetos e uso de diagramas UML para
desenvolvimento e prototipação Java
Extra - Testando um aplicativo
Java

Test-drive de um aplicativo ATM:
 Verificar a configuração do sistema.
 Localizar o aplicativo ATM (Figura 1.2).
 Executar o aplicativo ATM (Figura 1.3).
 Inserir o número de uma conta (Figura 1.4).
 Inserir um PIN (Figura 1.5).
 Verificar o saldo da conta (Figura 1.6).
 Retirar dinheiro da conta (Figura 1.7).
 Confirmar que as informações de conta foram
atualizadas (Figura 1.8).
 Finalizar a transação (Figura 1.9).
 Sair do aplicativo ATM.
Figura 1.2 | Abrindo um Prompt
de comando do Windows XP e
alterando diretórios.
Utilizando o comando cd
para mudar de diretório.
Localização do arquivo do
aplicativo ATM.
Figura 1.3 | Utilizando o
comando java para executar o
aplicativo ATM.
Figura 1.4 | Solicitando o número
de uma conta ao usuário.
Mensagem de boas-vindas do ATM.
Insira o número da conta.
Figura 1.5 | Inserindo um número de
PIN válido e exibindo o menu principal
do aplicativo ATM.
Insira um PIN válido.
Menu principal do ATM.
Figura 1.6 | O aplicativo ATM exibindo
as informações de saldo da conta do
usuário.
Informações sobre o saldo da conta.
Figura 1.7 | Retirando dinheiro
da conta e retornando ao menu
principal.
Menu de retirada do ATM.
Figura 1.8 | Verificando novo
saldo.
Confirmando as informações atualizadas de saldo
da conta após a transação de retirada.
Figura 1.9 | Concluindo uma
sessão de transação de um
ATM.
Prompt do número da conta para o próximo usuário.
Mensagem de despedida do ATM.
Download