Algoritmia e Programação
APROG
Tecnologia JAVA
IDE Netbeans
Nelson Freire (ISEP–DEI-APROG 2012/13)
1/31
Tecnologia Java
Sumário
 Tecnologia Java
 Desenvolvimento de Programas
 Ambientes de Desenvolvimento
 Ambiente Simples
 IDE Netbeans
 Netbeans Debugger
Nelson Freire (ISEP–DEI-APROG 2012/13)
2/31
Tecnologia Java
Java é uma Tecnologia
 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
JDK
JRE
(Java Development Kit)
(Java Run-Time Environment)
 Mais do que uma linguagem
Nelson Freire (ISEP–DEI-APROG 2012/13)
3/31
Tecnologia Java
Arquitecturas JDK e JRE
JDK
JRE
Nelson Freire (ISEP–DEI-APROG 2012/13)
4/31
Tecnologia Java
Java Development Kit (JDK)
 Principais JDK
 Java SE
( http://java.sun.com/reference/api/ )
// 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
Nelson Freire (ISEP–DEI-APROG 2012/13)
5/31
Tecnologia Java
Sumário
 Tecnologia Java
 Desenvolvimento de Programas
 Ambientes de Desenvolvimento
 Ambiente Simples
 IDE Netbeans
 Netbeans Debugger
Nelson Freire (ISEP–DEI-APROG 2012/13)
6/31
Desenvolvimento
de Programas
Ferramentas
Fases do Desenvolvimento de um Programa
Edição
Programa Fonte
Teste
Criação
Programa Executável
Nelson Freire (ISEP–DEI-APROG 2012/13)
Ferramentas
Editor de Texto
Debugger
Compilador
7/31
Tecnologia Java
Sumário
 Tecnologia Java
 Desenvolvimento de Programas
 Ambientes de Desenvolvimento
 Ambiente Simples
 IDE Netbeans
 Netbeans Debugger
Nelson Freire (ISEP–DEI-APROG 2012/13)
8/31
Ambientes de
Desenvolvimento
Tipos de Ambientes de Desenvolvimento
 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
+
JDK
 Editor de Texto com JDK integrado
 Compilação e execução dos programas são feitas dentro do editor
 Exemplos: Emacs, TextPad e JEdit
Editor
JDK
 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
IDE
Editor
JDK
 Usamos Netbeans
Nelson Freire (ISEP–DEI-APROG 2012/13)
9/31
Tecnologia Java
Sumário
 Tecnologia Java
 Desenvolvimento de Programas
 Ambientes de Desenvolvimento
 Ambiente Simples
 IDE Netbeans
 Netbeans Debugger
Nelson Freire (ISEP–DEI-APROG 2012/13)
10/31
Ambiente
Simples
Instalação do JDK
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
ou
// PATH para Testar
// Maiúsculas obrig.
 Painel de controlo > Sistema > Avançadas > Variáveis de Ambiente > PATH
4. Testar
Nelson Freire (ISEP–DEI-APROG 2012/13)
11/31
Ambiente
Simples
Edição do Programa Fonte
 Usar um Editor de Texto
 Exemplo
 Notepad
 Gravar Ficheiro
 Nome obrigatório
 nomeClasse.java
 Exemplo
 nome classe:
Ola
 nome ficheiro:
Ola.java
Nelson Freire (ISEP–DEI-APROG 2012/13)
12/31
Ambiente
Simples
Compilar Programa Fonte
 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
Nelson Freire (ISEP–DEI-APROG 2012/13)
13/31
Ambiente
Simples
Executar Programa Compilado
 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
Nelson Freire (ISEP–DEI-APROG 2012/13)
// nome completo da classe
14/31
Tecnologia Java
Sumário
 Tecnologia Java
 Desenvolvimento de Programas
 Ambientes de Desenvolvimento
 Ambiente Simples
 IDE Netbeans
 Netbeans Debugger
Nelson Freire (ISEP–DEI-APROG 2012/13)
15/31
IDE Netbeans
Download Grátis
• http://netbeans.org
Nelson Freire (ISEP–DEI-APROG 2012/13)
16/31
Ferramentas
IDE Netbeans
 Ferramentas
 Fases do Desenvolvimento dum Programa Java
 Trabalha-se sempre num projeto
 Projeto é coleção de ficheiros
 Ficheiros fonte, bibliotecas, etc.
Criação do Projeto
Editor de Texto
Edição
Programa Fonte
Debugger
Teste
Compilador
Criação
Programa Executável
Nelson Freire (ISEP–DEI-APROG 2012/13)
*.java
*.class (bytecodes)
*.jar
17/31
IDE Netbeans
Projetos
 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
Nelson Freire (ISEP–DEI-APROG 2012/13)
18/31
Tecnologia Java
Sumário
 Tecnologia Java
 Desenvolvimento de Programas
 Ambientes de Desenvolvimento
 Ambiente Simples
 IDE Netbeans
 Netbeans Debugger
Nelson Freire (ISEP–DEI-APROG 2012/13)
19/31
Netbeans
Debugger
Sumário
 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
Nelson Freire (ISEP–DEI-APROG 2012/13)
20/31
Netbeans
Debugger
Tipos de Erros num Programa
 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)
Nelson Freire (ISEP–DEI-APROG 2012/13)
21/31
Netbeans
Debugger
Erros Sintácticos
 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
Nelson Freire (ISEP–DEI-APROG 2012/13)
22/31
Netbeans
Debugger
Erros de Execução
 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
Nelson Freire (ISEP–DEI-APROG 2012/13)
23/31
Netbeans
Debugger
Erros Lógicos
 Exemplo
int s=0;
for(int i=0; i<10; i++) ;
s
// ciclo não faz nada
= 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
Nelson Freire (ISEP–DEI-APROG 2012/13)
24/31
Netbeans
Debugger
Debugger: Introdução
 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).
Nelson Freire (ISEP–DEI-APROG 2012/13)
25/31
Netbeans
Debugger
Sessão Debugging : Interesse e Tarefas
• 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
Nelson Freire (ISEP–DEI-APROG 2012/13)
26/31
Netbeans
Debugger
Sessão Debugging : Preparar
 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
Nelson Freire (ISEP–DEI-APROG 2012/13)
27/31
Netbeans
Debugger
Sessão Debugging: Iniciar
 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
Nelson Freire (ISEP–DEI-APROG 2012/13)
28/31
Netbeans
Debugger
Sessão Debugging: Executar Programa
 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)
Nelson Freire (ISEP–DEI-APROG 2012/13)
29/31
Netbeans
Debugger


Sessão Debugging : Monitorar Informação
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
Nelson Freire (ISEP–DEI-APROG 2012/13)
30/31
Netbeans
Debugger

Sessão Debugging : Terminar
Debug > Finish Debugger Session (Shift+F5)
Nelson Freire (ISEP–DEI-APROG 2012/13)
31/31
Download

Tecnologia Java e Netbeans