Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar...
Transcript of Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar...
![Page 1: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/1.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 1/31
Tecnologia JAVA IDE Netbeans
APROG Algoritmia e Programação
![Page 2: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/2.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 2/31
Tecnologia Java
Desenvolvimento de Programas
Ambientes de Desenvolvimento
Ambiente Simples
IDE Netbeans
Netbeans Debugger
Tecnologia Java Sumário
![Page 3: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/3.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 3/31
Origem
Anos 90
Empresa Sun Microsystems
Comprada pela Oracle
É uma tecnologia
Linguagem de Programação + Ferramentas de Desenvolvimento + Bibliotecas de Classes + Ambientes de Execução
Mais do que uma linguagem
Tecnologia Java Java é uma Tecnologia
(Java Run-Time Environment) JRE
JDK (Java Development Kit)
![Page 4: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/4.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 4/31
Tecnologia Java Arquitecturas JDK e JRE
JDK
JRE
![Page 5: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/5.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 5/31
Principais JDK ( http://java.sun.com/reference/api/ )
Java SE // SE = Standard Edition
// Desenvolvimento de aplicações standard
Java EE // EE =Enterprise Edition
// Desenvolvimento para servidores
Java ME // ME = Micro Edition
// // Desenvolvimento para dispositivos embebidos e telemóveis
Plataforma Java SE
Versão Actual
7
Documentação
http://download.oracle.com/javase/7/docs/technotes/tools/index.html
Tecnologia Java Java Development Kit (JDK)
![Page 6: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/6.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 6/31
Tecnologia Java
Desenvolvimento de Programas
Ambientes de Desenvolvimento
Ambiente Simples
IDE Netbeans
Netbeans Debugger
Tecnologia Java Sumário
![Page 7: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/7.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 7/31
Fases do Desenvolvimento de um Programa Ferramentas
Edição
Programa Fonte
Teste
Criação
Programa Executável
Editor de Texto
Debugger
Compilador
Desenvolvimento de Programas Ferramentas
![Page 8: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/8.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 8/31
Tecnologia Java
Desenvolvimento de Programas
Ambientes de Desenvolvimento
Ambiente Simples
IDE Netbeans
Netbeans Debugger
Tecnologia Java Sumário
![Page 9: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/9.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 9/31
Editor de Texto + JDK
Ambiente simples
Permite usar editor de texto favorito
Outras ferramentas fornecidas pelo JDK
Ambiente de consola (Ex: janela Linha de Comandos do Windows)
Invocadas por comandos da consola
Comando javac para compilar e comando java para executar
Interessante para desenvolvimento de programas simples
Editor de Texto com JDK integrado
Compilação e execução dos programas são feitas dentro do editor Exemplos: Emacs, TextPad e JEdit
IDE - Ambientes de Desenvolvimento Integrados
Ambiente mais sofisticado Integra todas as ferramentas de desenvolvimento (incluindo JDK) Pesado para desenvolvimento de programas muito simples Exemplos: Eclipse (IBM) e Netbeans (Oracle)
APROG Usamos Netbeans
Editor
JDK
Ambientes de Desenvolvimento Tipos de Ambientes de Desenvolvimento
Editor
+
JDK
IDE
Editor
JDK
![Page 10: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/10.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 10/31
Tecnologia Java
Desenvolvimento de Programas
Ambientes de Desenvolvimento
Ambiente Simples
IDE Netbeans
Netbeans Debugger
Tecnologia Java Sumário
![Page 11: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/11.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 11/31
1. Download
http://java.sun.com/javase/downloads/index.jsp (JDK - Java SE)
2. Instalar
3. Adicionar o directório dos executáveis ao caminho de execução do windows (PATH):
Directório (exemplo): C:\Programs\Sun\SDK\jdk\bin
Na linha de comandos: SET PATH= C:\Programs\Sun\SDK\jdk\bin;%PATH // PATH para Testar
ou // Maiúsculas obrig.
Painel de controlo > Sistema > Avançadas > Variáveis de Ambiente > PATH
4. Testar
Ambiente Simples Instalação do JDK
![Page 12: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/12.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 12/31
Usar um Editor de Texto
Exemplo
Notepad
Gravar Ficheiro
Nome obrigatório
nomeClasse.java
Exemplo
nome classe: Ola
nome ficheiro: Ola.java
Ambiente Simples Edição do Programa Fonte
![Page 13: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/13.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 13/31
Ajuda
Nome Ficheiro Compilado
nomeFicheiroJava.class
Exemplo
Compilar programa fonte Ola.java
javac c:\aprog\Ola.java // extensão java obrigatória
Ficheiro Compilado
Ola.class
Ambiente Simples Compilar Programa Fonte
![Page 14: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/14.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 14/31
Ajuda
Exemplo
Classe guardada no directório corrente
java Ola // Ola é a classe (Ola.class)
Classe não guardada no directório corrente
java - cp c:\aprog\Ola // nome completo da classe
Ambiente Simples Executar Programa Compilado
![Page 15: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/15.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 15/31
Tecnologia Java
Desenvolvimento de Programas
Ambientes de Desenvolvimento
Ambiente Simples
IDE Netbeans
Netbeans Debugger
Tecnologia Java Sumário
![Page 16: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/16.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31
• http://netbeans.org
IDE Netbeans Download Grátis
![Page 17: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/17.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 17/31
Fases do Desenvolvimento dum Programa Java
Trabalha-se sempre num projeto
Projeto é coleção de ficheiros
Ficheiros fonte, bibliotecas, etc.
Edição
Programa Fonte
Teste
Criação
Programa Executável
Editor de Texto
Debugger
Compilador
Criação do Projeto
*.class (bytecodes)
*.jar
*.java
Ferramentas
IDE Netbeans Ferramentas
![Page 18: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/18.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 18/31
Janela Projects
Ficheiros dos projetos organizados em packages e bibliotecas
Janela Files
Perspectiva diferente da organização dos ficheiros do projeto
Organização dos ficheiros no disco (pastas ou directórios)
Projeto Principal (Main Project)
Nome destacado a negrito
Projeto sobre o qual são aplicados os comandos do IDE
Classe Principal (Main Class)
É a classe do programa que contém o método main
IDE Netbeans Projetos
![Page 19: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/19.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 19/31
Tecnologia Java
Desenvolvimento de Programas
Ambientes de Desenvolvimento
Ambiente Simples
IDE Netbeans
Netbeans Debugger
Tecnologia Java Sumário
![Page 20: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/20.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 20/31
Tipos de Erros num Programa
Sintácticos
Execução
Lógicos
Debugger
Introdução
Sessão de Debugging
Preparar
Iniciar
Executar Programa
Observar Variáveis e Expressões
Terminar
Netbeans Debugger Sumário
![Page 21: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/21.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 21/31
Erros Sintácticos
Surgem durante compilação do programa
Não permitem compilação do programa
(i.e, criação do programa executável)
Erros de Execução
Surgem durante execução do programa
Abortam execução do programa
Erros Lógicos
Surgem durante execução do programa
Provocam resultados imprevistos
(não abortam execução do programa)
Netbeans Debugger Tipos de Erros num Programa
![Page 22: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/22.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 22/31
Típicos
Erros ortográficos em palavras-chave // lenght em vez de length
Referências a variáveis não declaradas
Parêntesis à esquerda que não foram fechados
Pontuação incorreta // println(“Nota=” , nota)
Problema
Impedem criação do programa executável
Localização e Correção das Fontes dos Erros
Muito fácil
Através das mensagens de diagnóstico de erro geradas pelo compilador
Fornecem localização do erro e natureza do erro
No Netbeans
É no momento da escrita do código
Netbeans Debugger Erros Sintácticos
![Page 23: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/23.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 23/31
Típicos
Excedida capacidade de variável
Tipos
Overflow // atribuído valor excessivamente grande
Underflow // atribuído valor excessivamente pequeno
Excedida capacidade de array
Operações indevidas
Divisão por zero
Raiz quadrada de nº negativo
Logaritmo de nº negativo
Problema
Abortam execução do programa
Localização e Correcção das Fontes dos Erros
Geralmente, é muito fácil
Através das mensagens de diagnóstico de erro geradas pelo ambiente de execução
Exemplo
Netbeans Debugger Erros de Execução
![Page 24: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/24.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 24/31
Exemplo
int s=0;
for(int i=0; i<10; i++) ; // ciclo não faz nada
s = s +v[i];
Problema
Originam resultados imprevistos do programa
Localização e Correcção das Fontes dos Erros
Pode ser muito difícil
Computador executa corretamente instruções
Não são geradas mensagens de diagnóstico de erro
Requer boa dose de testes do programa
Solução de último recurso
Traçagem de programa executado passo-a-passo
Permite verificar
Ordem de execução das instruções
Comportamento das variáveis
Netbeans Debugger Erros Lógicos
![Page 25: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/25.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 25/31
Noção
Ferramenta fornecida pelos Ambientes de Desenvolvimento
Interesse
Facilitar localização e correcção de erros lógicos
Facilidades Oferecidas
Execução passo-a-passo de programa
Todo
Parte
Suspensão temporária da execução do programa em pontos específicos (breakpoints), mostrando os valores de certas variáveis (variáveis watch) ou expressões (expressões watch) nesses momentos de suspensão
Variante da anterior
Suspensão temporária apenas se uma dada expressão watch se tornar verdadeira (breakpoint condicional).
Netbeans Debugger Debugger: Introdução
![Page 26: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/26.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 26/31
• Interesse
Fazer debug de programa
• Tarefas Típicas
Preparar debug
Iniciar sessão de debugging
Executar programa
Observar informação de debugging
Terminar sessão de debugging
Netbeans Debugger Sessão Debugging : Interesse e Tarefas
![Page 27: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/27.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 27/31
Colocar linhas de breakpoint no código
Para suspender execução do programa em pontos específicos
No editor fonte fazer clique na margem esquerda da linha desejada
Apenas em linhas de execução
Não inclui declarações sem inicializações
Definir variáveis e expressões watches no código
Se pretendermos observar apenas variáveis e expressões especificas
Janela watches
Clique direito sobre variável ou expressão seleccionada e escolher New Watch
Netbeans Debugger Sessão Debugging : Preparar
![Page 28: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/28.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 28/31
Projeto Principal
Menu Debug > Debug Main Project (Ctrl + F5)
ou
Clique direito no nome projeto e escolher Debug
Ficheiro
Clique direito no nome do ficheiro e escolher Debug File
Netbeans Debugger Sessão Debugging: Iniciar
![Page 29: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/29.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 29/31
Após suspensão temporária da execução numa linha
Para continuar para próximo breakpoint
Menu Debug > Continue (F5)
Para continuar até ao cursor
Debug > Run to Cursor (F4)
Para continuar para linha executável seguinte
Debug > Step Into (F7) // Salta para dentro do método chamado
Debug > Step Over (F8) // Salta sobre método chamado
Debug > Step Over Expression // Salta, à vez, sobre cada método chamado numa expressão; Ex: System.out.println( c + "!=" + factorial(c) );
Para sair do método corrente
Debug > Step Out (Ctrl+F7)
Netbeans Debugger Sessão Debugging: Executar Programa
![Page 30: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/30.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 30/31
Janelas de Debugging
Variables // Mostra variáveis locais do método corrente
Watches // Mostra variáveis e expressões seleccionadas
No Editor do Código
Colocar cursor sobre
Identificador de variável
Expressão seleccionada
Netbeans Debugger Sessão Debugging : Monitorar Informação
![Page 31: Tecnologia JAVAnfreire/JAVA - Tecnologia e... · 2012. 10. 27. · Ambiente simples Permite usar editor de texto favorito Outras ferramentas fornecidas pelo JDK Ambiente de consola](https://reader035.fdocument.pub/reader035/viewer/2022063009/5fc09a8032d61b012259ef2d/html5/thumbnails/31.jpg)
Nelson Freire (ISEP–DEI-APROG 2012/13) 31/31
Debug > Finish Debugger Session (Shift+F5)
Netbeans Debugger Sessão Debugging : Terminar