aula 1 - fundamentos java se instituto metodista izabela hendrix curso de tecnologia em análise e...

26
Aula 1 - Fundamentos Aula 1 - Fundamentos Java SE Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009 Linguagens de Programação II

Upload: internet

Post on 21-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Aula 1 - Fundamentos Java Aula 1 - Fundamentos Java SESE

Instituto Metodista Izabela HendrixCurso de Tecnologia em Análise e Desenvolvimento de Sistemas

Prof. Gilmar Medeiros – Agosto/2009

Linguagens de Programação II

Page 2: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

OutlineOutline Histórico da LinguagemHistórico da Linguagem Apresentação das Tecnologias JavaApresentação das Tecnologias Java

Java SE, EE, ME e FXJava SE, EE, ME e FX Paradigmas mais comuns de Paradigmas mais comuns de

programaçãoprogramação Java Standard Edition: desenvolvimento Java Standard Edition: desenvolvimento

desktop:desktop: Características: vantagens e desvantagens;Características: vantagens e desvantagens; Comparação com a linguagem C/C++Comparação com a linguagem C/C++ Notação básica e primeiros programas Notação básica e primeiros programas

desenvolvidos em Javadesenvolvidos em Java

Page 3: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Java - HistóricoJava - Histórico 1991 - Inicialmente idealizada para uso 1991 - Inicialmente idealizada para uso

em dispositivos inteligentes de pequeno em dispositivos inteligentes de pequeno porte:porte: Geladeiras, controles remotos, dispositivos Geladeiras, controles remotos, dispositivos

portáteisportáteis Primeiramente chamada Oak, rebatizada Primeiramente chamada Oak, rebatizada

como Java – sintaxe baseada em C++;como Java – sintaxe baseada em C++; Alavancada em 1995, com a Alavancada em 1995, com a

popularidade da Web, proporcionando popularidade da Web, proporcionando suporte a suporte a conteúdo dinâmico;;

Hoje encontrada nas mais variadas Hoje encontrada nas mais variadas edições, com suporte a diversos tipos de edições, com suporte a diversos tipos de dispositivosdispositivos

Page 4: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Tecnologias ou Edições JavaTecnologias ou Edições Java

Java Standard Edition – Java SEJava Standard Edition – Java SE Java Enterprise Edition – Java EEJava Enterprise Edition – Java EE Java Micro Edition – Java MEJava Micro Edition – Java ME Java FX – ver site Java FX – ver site

http://java.sun.com/javafx/index.jsp

Page 5: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Paradigmas Comuns de Paradigmas Comuns de ProgramaçãoProgramação

Linguagens ConcorrentesLinguagens Concorrentes Linguagens ProceduraisLinguagens Procedurais Linguagens Orientadas a ObjetosLinguagens Orientadas a Objetos Etc.Etc.

Page 6: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Java SE: ApresentaçãoJava SE: Apresentação

Possibilita o desenvolvimento de Possibilita o desenvolvimento de aplicações desktop:aplicações desktop: Aplicações de linha de comando;Aplicações de linha de comando; Aplicações com interfaces gráficas Swing: Aplicações com interfaces gráficas Swing:

pacote javax.swing (ver, em Java Tutorial: pacote javax.swing (ver, em Java Tutorial: http://java.sun.com/docs/books/tutorial/ui/index.html))

IDEs: permitem o desenvolvimento rápido IDEs: permitem o desenvolvimento rápido das aplicações. Ex: NetBeans e Eclipsedas aplicações. Ex: NetBeans e Eclipse

Page 7: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Java SE: CaracterísticasJava SE: Características Portabilidade dos programas Portabilidade dos programas

compilados, para diversos SOs, não compilados, para diversos SOs, não necessitando recompilação – necessitando recompilação – característica multiplataformacaracterística multiplataforma

Sintaxe similar ao C – fácil aprendizadoSintaxe similar ao C – fácil aprendizado Baseada e orientada a objetosBaseada e orientada a objetos Possui uma extensa API, extremamente Possui uma extensa API, extremamente

atualizada e de acordo com a realidade atualizada e de acordo com a realidade da maioria dos programadoresda maioria dos programadores

Page 8: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Java SE: Comparação com Java SE: Comparação com C/C++C/C++

A linguagem Java é considerada uma A linguagem Java é considerada uma “evolução” das linguagens C/C++, onde:“evolução” das linguagens C/C++, onde: Permite a criação de programas realmente Permite a criação de programas realmente

portáveis, sem a necessidade de recompilação portáveis, sem a necessidade de recompilação ou alteração de código;ou alteração de código;

Possui o gerenciamento de memória embutido, Possui o gerenciamento de memória embutido, através do através do garbage collector garbage collector ou coletor de lixoou coletor de lixo

Não faz uso explícito de ponteiros, o que Não faz uso explícito de ponteiros, o que representa uma facilidade de programação, representa uma facilidade de programação, sendo menos sujeita a erros de código;sendo menos sujeita a erros de código;

Usa conceitos modernos, como a orientação a Usa conceitos modernos, como a orientação a objetos, suporte a objetos, suporte a multithreadingmultithreading, etc., etc.

Page 9: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Java: Ambiente de Desenvolvimento - IJava: Ambiente de Desenvolvimento - I Fase 1: editor de textos comum, criação Fase 1: editor de textos comum, criação

do arquivo .java;do arquivo .java; Fase 2: Compilação – geração do arquivo Fase 2: Compilação – geração do arquivo

de bytecodes .class;de bytecodes .class; Os bytecodes serão executados pela Java Os bytecodes serão executados pela Java

Virtual Machine (JVM) – camada que simula Virtual Machine (JVM) – camada que simula um computador, ocultando o SO e hardware;um computador, ocultando o SO e hardware;

A JVM é responsável pelas características de A JVM é responsável pelas características de portabilidade do código Javaportabilidade do código Java

Fase 3: carregamento do Fase 3: carregamento do programa .class em memória – “programa .class em memória – “load load classclass””

Page 10: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Java: Ambiente de Desenvolvimento - Java: Ambiente de Desenvolvimento - IIII

Fase 4: Verificação dos bytecodesFase 4: Verificação dos bytecodes Fase 5: Execução dos bytecodes, Fase 5: Execução dos bytecodes,

realizando as ações determinadas pelo realizando as ações determinadas pelo programa:programa: Compilação JIT (just-in-time) – misto de Compilação JIT (just-in-time) – misto de

interpretação e compilação, traduzindo os interpretação e compilação, traduzindo os bytecodes para linguagem de máquinabytecodes para linguagem de máquina

Obs: diversas otimizações de compiladores Obs: diversas otimizações de compiladores são possíveis, sendo o compilador do são possíveis, sendo o compilador do Eclipse IDE considerado um dos mais Eclipse IDE considerado um dos mais otimizadosotimizados

Page 11: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Java: Ambiente de Desenvolvimento - Java: Ambiente de Desenvolvimento - IIIIII

Page 12: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Java: Notação BásicaJava: Notação Básica Estruturas básicas similares ao C:Estruturas básicas similares ao C:

Ex. 1: Ex. 1: int a = 3; int b = 6; int c = 0;int a = 3; int b = 6; int c = 0;if (a >= b) {if (a >= b) {

c = a + b;c = a + b;} else {} else {

c = a * b;c = a * b;}} Ex. 2: Ex. 2: for (int i=0;i<10;i++) {for (int i=0;i<10;i++) {

System.out.println(“Iteração[“ + i +”]”);System.out.println(“Iteração[“ + i +”]”);}}

Page 13: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Java: Primeiros PassosJava: Primeiros Passos Ex. programa FirstTest.java:Ex. programa FirstTest.java:

public class FirstTest {public class FirstTest {

public static void main (String args[]) {public static void main (String args[]) {System.out.println(“Alo Mundo!”);System.out.println(“Alo Mundo!”);

}}

}}

Page 14: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Java: Compilação e Java: Compilação e ExecuçãoExecução

Compilação:Compilação: javac - Ex: javac FirstTest.java - Ex: javac FirstTest.java Gera um arquivo <nome-arquivo>.classGera um arquivo <nome-arquivo>.class

Execução:Execução: javajava – Ex: java FirstTest – Ex: java FirstTest Obs: Se refere ao FirstTest.class, não ao Obs: Se refere ao FirstTest.class, não ao

FirstTest.javaFirstTest.java Obs. 2: Se não houver o arquivo .class, Obs. 2: Se não houver o arquivo .class,

não haverá execuçãonão haverá execução

Page 15: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Bibliografia e Recursos - IBibliografia e Recursos - I * DEITEL & DEITEL: * DEITEL & DEITEL: Java – Como Programar.Java – Como Programar.

Editora Prentice Hall, 6a Edição. ISBN: 8576050196Editora Prentice Hall, 6a Edição. ISBN: 8576050196 WEST, DAVID; MCLAUGHLIN, BRETT: WEST, DAVID; MCLAUGHLIN, BRETT: Use a Use a

cabeça: Analise & Projeto orientado ao cabeça: Analise & Projeto orientado ao objeto. objeto. Alta Books, 1a Edição, 2007. Alta Books, 1a Edição, 2007. ISBN: 8576081458 ISBN: 8576081458

BATES, BERT; SIERRA, KATHY: BATES, BERT; SIERRA, KATHY: Use a cabeça! - Use a cabeça! - JavaJava. Alta Books,. Alta Books, 1a Edição, 2005. 1a Edição, 2005. ISBN: 8576080842ISBN: 8576080842

* BATES, BERT; SIERRA, KATHY: * BATES, BERT; SIERRA, KATHY: SCJP: SCJP: Certificação Sun para Programador Java 5 - Certificação Sun para Programador Java 5 - Guia de EstudoGuia de Estudo. Alta Books, 2ª Edição, 2006. . Alta Books, 2ª Edição, 2006. ISBNISBN: : 8576081334. 8576081334.

Page 16: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Bibliografia e Recursos - IIBibliografia e Recursos - II

www.java.sun.com Java Developers Almanac: Java Developers Almanac:

http://www.exampledepot.com/ Java Tutorial: Java Tutorial:

http://java.sun.com/docs/books/tutorial/

Java SE 6 – APIs: Java SE 6 – APIs: http://java.sun.com/javase/6/docs/api/

Linguagem de script Groovy: Linguagem de script Groovy: http://groovy.codehaus.org/

Page 17: 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 do Restante do Outline do Restante do CursoCurso

Apresentação da notação básica Java; Apresentação da notação básica Java; apresentação das APIs básicas de Java; apresentação das APIs básicas de Java; introdução aos primeiros programas Java através introdução aos primeiros programas Java através de protótipos com o uso de classes como de protótipos com o uso de classes como Scanner, dentre outras;Scanner, dentre outras;

Apresentação de conceitos e práticas de Apresentação de conceitos e práticas de Programação Baseada e Orientada a Objetos;Programação Baseada e Orientada a Objetos;

Apresentação da API java.io.*: definição de Apresentação da API java.io.*: definição de manipulação de arquivos e diretórios; operações manipulação de arquivos e diretórios; operações básicas de I/O e fluxosbásicas de I/O e fluxos

Conceitos e práticas de geração de interfaces Conceitos e práticas de geração de interfaces gráficas desktop - “Swing” – com o uso de puro gráficas desktop - “Swing” – com o uso de puro Java;Java;

Técnicas de concorrência através do uso de Técnicas de concorrência através do uso de multithreadingmultithreading

Práticas de projetos e uso de diagramas UML Práticas de projetos e uso de diagramas UML para desenvolvimento e prototipação Javapara desenvolvimento e prototipação Java

Page 18: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Extra - Testando um Extra - Testando um aplicativo Javaaplicativo Java

TestTest-drive de um aplicativo ATM:-drive de um aplicativo ATM: Verificar a configuração do sistema.Verificar a configuração do sistema. Localizar o aplicativo ATM (Figura 1.2).Localizar o aplicativo ATM (Figura 1.2). Executar o aplicativo ATM (Figura 1.3).Executar o aplicativo ATM (Figura 1.3). Inserir o número de uma conta (Figura 1.4).Inserir o número de uma conta (Figura 1.4). Inserir um PIN (Figura 1.5).Inserir um PIN (Figura 1.5). Verificar o saldo da conta (Figura 1.6).Verificar o saldo da conta (Figura 1.6). Retirar dinheiro da conta (Figura 1.7).Retirar dinheiro da conta (Figura 1.7). Confirmar que as informações de conta foram Confirmar que as informações de conta foram

atualizadas (Figura 1.8).atualizadas (Figura 1.8). Finalizar a transação (Figura 1.9).Finalizar a transação (Figura 1.9). Sair do aplicativo ATM.Sair do aplicativo ATM.

Page 19: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Figura 1.2 Figura 1.2 | Abrindo um | Abrindo um Prompt de comandoPrompt de comando do do Windows XP e alterando Windows XP e alterando

diretórios.diretórios.Utilizando o comando cd

para mudar de diretório.

Localização do arquivo do aplicativo ATM.

Page 20: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Figura 1.3 Figura 1.3 | Utilizando o | Utilizando o comando comando javajava para para

executar o aplicativo ATM.executar o aplicativo ATM.

Page 21: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Figura 1.4 Figura 1.4 | Solicitando o | Solicitando o número de uma conta ao número de uma conta ao

usuário.usuário.Mensagem de boas-vindas do ATM. Insira o número da conta.

Page 22: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Figura 1.5 Figura 1.5 | Inserindo um número | Inserindo um número de PIN válido e exibindo o menu de PIN válido e exibindo o menu

principal do aplicativo ATM.principal do aplicativo ATM.

Insira um PIN válido. Menu principal do ATM.

Page 23: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Figura 1.6 Figura 1.6 | O aplicativo ATM | O aplicativo ATM exibindo as informações de saldo exibindo as informações de saldo

da conta do usuário.da conta do usuário.Informações sobre o saldo da conta.

Page 24: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Figura 1.7 Figura 1.7 | Retirando | Retirando dinheiro da conta e dinheiro da conta e retornando ao menu retornando ao menu

principal.principal.Menu de retirada do ATM.

Page 25: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Figura 1.8 Figura 1.8 | Verificando novo | Verificando novo saldo.saldo.

Confirmando as informações atualizadas de saldo da conta após a transação de retirada.

Page 26: Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009

Figura 1.9 Figura 1.9 | Concluindo uma | Concluindo uma sessão de transação de um sessão de transação de um

ATM.ATM.

Mensagem de despedida do ATM.

Prompt do número da conta para o próximo usuário.