31
Nelson Freire (ISEP–DEI-APROG 2012/13) 1/31 Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação

Tecnologia JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

  • Upload
    vukhue

  • View
    239

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tecnologia JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

Nelson Freire (ISEP–DEI-APROG 2012/13) 1/31

Tecnologia JAVA IDE Netbeans

APROG Algoritmia e Programação

Page 2: Tecnologia JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

Nelson Freire (ISEP–DEI-APROG 2012/13) 4/31

Tecnologia Java Arquitecturas JDK e JRE

JDK

JRE

Page 5: Tecnologia JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

Nelson Freire (ISEP–DEI-APROG 2012/13) 16/31

• http://netbeans.org

IDE Netbeans Download Grátis

Page 17: Tecnologia JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

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 JAVA - dei.isep.ipp.ptdei.isep.ipp.pt/~nfreire/JAVA - Tecnologia e Netbeans.pdf · Tecnologia JAVA IDE Netbeans APROG Algoritmia e Programação . Nelson Freire (ISEP–DEI-APROG

Nelson Freire (ISEP–DEI-APROG 2012/13) 31/31

Debug > Finish Debugger Session (Shift+F5)

Netbeans Debugger Sessão Debugging : Terminar