tecnologia java - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/java - tecnologia e netbeans.pdf ·...
TRANSCRIPT
Nelson Freire (ISEP–DEI-APROG 2012/13) 1/31
Tecnologia JAVA IDE Netbeans
APROG Algoritmia e Programação
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
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)
Nelson Freire (ISEP–DEI-APROG 2012/13) 4/31
Tecnologia Java Arquitecturas JDK e JRE
JDK
JRE
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)
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
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
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
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
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
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
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
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
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
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
Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31
• http://netbeans.org
IDE Netbeans Download Grátis
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Nelson Freire (ISEP–DEI-APROG 2012/13) 31/31
Debug > Finish Debugger Session (Shift+F5)
Netbeans Debugger Sessão Debugging : Terminar