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.