ProgJavaFund_1_LinguagemJava

28
Programação em Java - Fundamentos 1 - A linguagem Java Citeforma Jose Aser Lorenzo, Pedro Nunes, Paulo Jorge Martins [email protected] Fevereiro de 2014

Transcript of ProgJavaFund_1_LinguagemJava

Page 1: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos

1 - A linguagem Java

Citeforma Jose Aser Lorenzo, Pedro Nunes, Paulo Jorge Martins

[email protected]

Fevereiro de 2014

Page 2: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

2/28

Sumário

A linguagem Java ..................................................................................................................3

Objetivos ........................................................................................................................................4

Características da linguagem ........................................................................................................5

O Java e o bytecode ........................................................................................................................7

Arquitetura das aplicações Java ...................................................................................................9

Instalação do ambiente de trabalho ............................................................................................ 13 Instalar o NetBeans .................................................................................................................... 16

Instalação de raiz .................................................................................................................... 16 Instalação do Netbeans portable de José Aser ......................................................................... 17

Arranque e configuração do NetBeans........................................................................................ 18 Configurar o acesso ao Javadocs ................................................................................................ 19

Escrever um programa no NetBeans .......................................................................................... 21 Criar um projeto ......................................................................................................................... 22 Criar uma classe dentro de um package ...................................................................................... 24 Introduzir o código do programa OlaMundo ............................................................................... 26 Correção de erros, compilação e execução.................................................................................. 27

Page 3: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

3/28

A linguagem Java

José Aser Lorenzo

Pedro Nunes

Paulo Jorge Martins

Java Fundamentos

Programação em Java

Fundamentos

Capítulo 1- A linguagem Java

Page 4: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

4/28

Objetivos

Java Fundamentos Capítulo 1 - A linguagem Java 1

Objetivos

Conhecer as características distintivas da linguagem

Java, suas vantagens e inconvenientes.

Arrancar com o NetBeans e fazer as configurações

básicas;

Criar um projeto;

Escrever um pequeno programa, compilar e executar;

O slide descreve os objetivos do capítulo.

Page 5: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

5/28

Características da linguagem

Java Fundamentos Capítulo 1 - A linguagem Java 2

Sumário

Características da linguagem Java;

O Java e o bytecode;

Arquitetura das aplicações Java;

Instalação do ambiente de trabalho;

Escrever um programa no NetBeans;

Page 6: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

6/28

Java Fundamentos Capítulo 1 - A linguagem Java 3

Características da linguagem

Portabilidade – graças ao bytecode e ao JRE;

Orientada a objectos – modelo simplificado para

herança simples;

Facilidade de aprendizagem – herança simples,

garbage collector, built in types;

Segurança – cifra de dados, protocolos de

comunicações cifrados, robustez e fiabilidade do JRE;

Propriedade da Sun Microsystems, e Open Source

desde 2006.

A linguagem Java apresenta as seguintes características diferenciadoras:

Portabilidade – Corre em todas as plataformas onde há uma Java Virtual Machine;

Orientada a objetos – Permite o reaproveitamento de código e o encapsulamento dos dados junto das operações sobre eles definidas e disponibiliza inúmeras classes utilitárias, que facilmente podem ser usadas ou integradas nos nossos programas.

Facilidade de aprendizagem – É mais simples de aprender e de utilizar que outras linguagens orientadas a objetos, como o C++.

Segurança – Permite o desenvolvimento de programas robustos e disponibiliza mecanismos de execução controlada e comunicação de dados cifrada;

Propriedade da Oracle (antes da Sun Microsystems), “open source” desde 2006 e facultada sem custos, mesmo para fins profissionais.

Como inconvenientes temos:

Desempenho – Uma parte do código é interpretado e portanto é mais lenta que o C e o C++, mas mais rápida que as outras linguagens;

Acesso ao hardware – Como corre sobre uma máquina virtual torna estas operações mais difíceis, embora não impossíveis;

Consumo de memória – A máquina virtual Java consome mais memória que um programa executável em C ou C++;

Page 7: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

7/28

O Java e o bytecode

Java Fundamentos Capítulo 1 - A linguagem Java 4

Sumário

Características da linguagem Java;

O Java e o bytecode;

Arquitetura das aplicações Java;

Instalação do ambiente de trabalho;

Escrever um programa no NetBeans;

Page 8: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

8/28

Java Fundamentos Capítulo 1 - A linguagem Java 5

O Java e o bytecode

Programa

JAVA

Código Fonte

JAVA

ByteCode

Programa em

execução num

servidor UNIX

Programa em

execução num

servidor AS/400

Programa em

execução num PC

Programa em

execução num

"MAC"

Write once,

run anywhere

A filosofia da linguagem Java contrasta com a forma tradicional de desenvolvimento de aplicações. Um programa em C, depois de compilado em Windows, não corre em MacOS, nem num servidor Unix, nem num mainframe IBM. Para que corra é necessário recompilar o programa e ter esperança que as bibliotecas que foram usadas inicialmente existam nas máquinas destino.

Em Java um programa compilado num computador corre em qualquer plataforma que possua uma máquina virtual Java, sem modificação adicional, como ilustrado na figura. O compilador Java gera bytecode que não é código máquina específico para uma plataforma, mas sim código convertido em executável por qualquer máquina virtual Java. O JRE (máquina virtual java) é dependente da plataforma, pois tem que ter a capacidade de interpretar o bytecode e traduzi-lo para código máquina nativo.

Mais informação sobre bytecode pode ser encontrada neste link: http://en.wikipedia.org/wiki/Java_bytecode

O lema da linguagem Java é: “WRITE ONCE, RUN ANYWHERE”

Page 9: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

9/28

Arquitetura das aplicações Java

Java Fundamentos Capítulo 1 - A linguagem Java 6

Sumário

Características da linguagem Java;

O Java e o bytecode;

Arquitetura das aplicações Java;

Instalação do ambiente de trabalho;

Escrever um programa no NetBeans;

Page 10: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

10/28

Java Fundamentos Capítulo 1 - A linguagem Java 7

Arquitetura de aplicações Java (#1/3)

“Stand alone”

JRE

J2SE

JRE

J2SE

JRE

J2ME

A linguagem Java permite o desenvolvimento de aplicações com diferentes tipos de arquiteturas combinadas com diferentes ambientes de execução.

É possível desenvolver em Java para:-

1. Computadores pessoais, com o Java Standard Edition (J2SE);

2. Servidores Linux ou Unix e Mainframes, com o J2SE e o Enterprise Edition (J2EE);

3. Dispositivos móveis como PDA ou telemóvel, com o Java Micro Edition (J2ME);

Page 11: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

11/28

Java Fundamentos Capítulo 1 - A linguagem Java 8

Arquitetura de aplicações Java (#2/3)

1 – Pedido (Query SQL)

Base de dados

2 - Dados

Cliente / ServidorCliente

JRE

J2SE

JDBC

A figura ilustra a ligação a uma base de dados por um programa Java através de JDBC (Java Database Conectivity) que é parte integrante do Java Standard Edition (JSE).

Page 12: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

12/28

Java Fundamentos Capítulo 1 - A linguagem Java 9

Arquitetura de aplicações Java (#3/3)

1 - Pedido

Base de dados

3 - Dados

3 níveis

Cliente Servidor de

aplicações2 - SQL

4 – HTML + dados

JRE

J2SE

J2EE

JDBC

Browser

Na arquitetura cliente/servidor, os programas cliente efetuam pedidos ao programa servidor e este atende os pedidos dos diversos clientes. O acesso à base de dados é feito exclusivamente pelo servidor.

A figura anterior ilustra um ambiente de 3 camadas: cliente, servidor de aplicações e base de dados. O servidor de aplicações foi desenvolvido em Java e utiliza a Standar Edition e a Enterprise Edition. Neste exemplo é o servidor que interage com a base de dados, via JDBC.

Ao contrário do modelo anterior, em que os clientes são programas stand-alone, aqui os clientes são browsers.

Page 13: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

13/28

Instalação do ambiente de trabalho

Java Fundamentos Capítulo 1 - A linguagem Java 10

Sumário

Características da linguagem Java;

O Java e o bytecode;

Arquitetura das aplicações Java;

Instalação do ambiente de trabalho;

Escrever um programa no NetBeans;

Page 14: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

14/28

Java Fundamentos

Software necessário

Editor de texto;

Compilador JDK (Java Development Kit);

Máquina virtual Java JRE (Java Development Kit);

Um IDE (Integrated Development Environment)

fornece estas tools integradas:

NetBeans (free);

Eclipse (free);

Jdeveloper (Oracle);

Jbuilder (Borland,Codegear, Embarcadero);

IntelliJIDEA (JetBrains);

Capítulo 1 - A linguagem Java 11

Para executar um programa Java necessitamos um Java Runtime Environment (JRE), pacote fornecido gratuitamente pela Oracle (inicialmente pela Sun) e que inclui a Máquina Virtual Java (JVM). Para desenvolver programas necessitamos o Java Development Kit (JDK), também facultado gratuitamente, que inclui o JRE e o compilador, entre outras ferramentas.

O programa fonte será armazenado num ficheiro de texto, pelo que necessitamos um editor de texto para o escrever e alterar. Esse programa será traduzido para byte code pelo compilador incluído no JDK e finalmente executado pela máquina virtual (JVM) incluída no JRE.

Para desenvolver programas complexos é aconselhável que se utilize um IDE (Integrated Development Environment) pois disponibiliza um ambiente de desenvolvimento que inclui:

Um editor de texto;

Um verificador de sintaxe integrado com o editor de texto;

Mensagens de alerta integradas no editor e verificador de sintaxe;

Invocação do compilador e da máquina virtual para execução do programa;

Acesso direto à documentação da linguagem e contextualizado com o pedaço de código Java que estamos a analisar;

Alertas sobre os erros mais comuns para que o programador os possa evitar;

Várias organizações disponibilizam IDEs, alguns destes com um acordo de licenciamento “Open-Source”, que permite a sua utilização sem custos, mesmo para desenvolvimento com fins comerciais. Os exemplos mais conhecidos de Open-Source são o Eclipse e o NetBeans. Também são disponibilizados IDEs como produtos de software que requerem licenciamento, como por exemplo o JDeveloper da Oracle.

Page 15: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

15/28

No sitio WEB da Oracle é possível descarregar de forma gratuita a documentação das classes Java (Javadocs) que integram o JDK. Nestes documentos são descritas todas as classes, variáveis e métodos, constituindo assum um excelente manual de referência para o programador Java.

No sitio da Oracle (http://www.oracle.com) encontramos disponível para download tudo o que precisamos para programar em Java:

JDK e JRE;

Documentação descritiva das classes que constituem o JDK (Javadocs);

Vários exemplos de aplicações Java;

O Java Tutorial, livro em formato HTML que aborda toda a componente Standard Edition (JSE) em versão ZIP que pode ser descarregada para o computador pessoal e numa versão on-line;

O NetBeans.

Informação detalhada sobre o NetBeans pode ser encontrada em http://www.netbeans.org, não esquecendo que, por ser desenvolvido em Java, está disponível para várias plataformas. Na versão Windows está disponível um pacote que inclui também o JDK e o JRE.

Além do NetBeans existem outros IDEs que poderão ser utilizados para executar os exercícios propostos neste curso:

O JDevelopper é desenvolvido pela Oracle, tem utilização “free” e pode ser obtido no sitio da Oracle;

Eclipse resulta de um projeto “open source”, desde sempre apoiado pela IBM e pode ser obtido no seguinte endereço: http://www.eclipse.org. É o IDE open-source mais antigo e talvez com a maior base instalada. A sua utilização não é tão intuitiva quanto o Netbeans, pois incorpora princípios herdados das ferramentas de desenvolvimento IBM. No entanto a sua velocidade e estabilidade são exemplares. A sua idade e o fato de ser uma framework de desenvolvimento permitem a disponibilização de plugins para as mais diversas utilizações, como produção de diagramas UML, interação com a base de dados, programação em PHP e Java.

Os exercícios deste manual podem ser feitos com qualquer um dos IDE anteriores, embora seja dada preferência ao NetBeans pela sua facilidade de utilização e apoio aos utilizadores menos experientes.

Page 16: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

16/28

Instalar o NetBeans

Java Fundamentos

Duas alternativas para instalar o Netbeans

1. Download dos sites originais, instalar e configurar:

www.oracle.com – Download do JDK, respetiva

documentação e Java Tutorial;

www.netbeans.org – descarregar o NetBeans versão Java

EE;

Instalar por esta ordem:

a) JDK (requer privs de administrador por causa do JRE);

b) Netbeans;

c) Unzip de documentação e Java Tutorial;

2. Download do NetBeans “portable” fornecido por

José Aser;

Capítulo 1 - A linguagem Java 12

Para instalar o ambiente de desenvolvimento podemos optar por dois caminhos: instalar e configurar tudo de raiz ou aproveitar uma instalação já feita.

Instalação de raiz

Para instalar de raiz devemos proceder da seguinte forma:

1. Instalação do JDK que inclui a instalação de um JRE. Esta última requer privilégios de administração pois será instalado também um “plugin” para os browsers que o instalador detetar na máquina. Será também criado um serviço que permite as atualizações automáticas do JRE;

2. Instalação do IDE seguindo as recomendações do fabricante;

3. Fazer download da documentação (Javadocs.ZIP) e expandir os documentos para uma diretoria a seu gosto;

4. Fazer download do JavaTutorial e expandir o manual para uma diretoria a seu gosto.

Page 17: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

17/28

Instalação do Netbeans portable de José Aser

Java Fundamentos

Instalação do Netbeans “portable” de José Aser

O NetBeans “portable” de José Aser tem tudo o que

precisa;

Para fazer download use este link:

https://meocloud.pt/link/1ce9523c-5dd5-402f-95ce-

f5178f3bc8d7/JavaLib.7z

Fazer unzip para instalar, de preferência em C:\

Não requer privilégios de administrador;

Confirme que a diretoria \JavaLib\netbeansconf está

vazia;

Capítulo 1 - A linguagem Java 13

Page 18: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

18/28

Arranque e configuração do NetBeans

Java Fundamentos

Arranque e configuração do Netbeans

Executar o ficheiro \NetBeans\bin\Netbeans.exe

Desative a janela de boas vindas (“show on startup”)

e feche-a; Se precisar dela mais tarde vá a Help Start page;

Para melhorar desempenho desinstale plugins que

não fazem falta. Em Tools Plugins Installed

escolher:

Subversion, Spellchecker, Hudson, Mercurial, SpellChecker

English Dictionaries, CVS, NetBeans Plugin Development,

Spring Beans, Hibernate, Maven, Struts, Spring Web MVC,

Softeware as a Service;

Unistall;

Capítulo 1 - A linguagem Java 14

Page 19: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

19/28

Configurar o acesso ao Javadocs

Java Fundamentos

Configurar o acesso ao Javadocs #1/2

Se pretender usar o NetBeans num sitio onde não tem

acesso à NET, pode ativar a documentação local em

substituição da documentação na Web:

Download dos docs e expansão para diretoria local:

Já incluído no NetBeans portable de José Aser;

No Netbeans ir a Tools Java Platform Java Doc;

Adicionar a directoria docs como indicado na imagem

seguinte

O NetBeans deve apontar para a directoria API que está dentro da

documentação;

Capítulo 1 - A linguagem Java 15

Quando o programador precisa de mais informação sobre os métodos de classes pré-definidos o recurso à documentação standard é essencial (Javadocs). Esta documentação está disponível on-line e para download.

Por omissão o NetBeans está configurado para pesquisar essa documentação on-line, mas por vezes não temos acesso à internet, situações em que é possível fazer download e instalação local.

Neste caso o NetBeans vai ser configurado para aceder à documentação local, o que é explicado no slide anterior e no próximo.

Page 20: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

20/28

Java Fundamentos

Javadocs #2/2

Capítulo 1 - A linguagem Java 16

Page 21: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

21/28

Escrever um programa no NetBeans

Java Fundamentos Capítulo 1 - A linguagem Java 17

Sumário

Características da linguagem;

O Java e o bytecode;

Arquitetura das aplicações Java;

Instalação do ambiente de trabalho;

Escrever um programa no NetBeans;

Page 22: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

22/28

Criar um projeto

Java Fundamentos

Criar projeto #1/2

File New Project Java Application;

Nome: JavaFundamentos;

Escolher a diretoria onde vai ficar guardado;

Não ativar Create Main Class

Não ativar Set as Main Project

Capítulo 1 - A linguagem Java 18

A criação de um projeto é o primeiro passo para escrever um programa. Um programa Java é constituído por uma ou mais classes, ficheiros de dados e outras informações de controlo necessárias ao seu funcionamento. Um projeto NetBeans é onde tudo isso fica guardado. Siga as instruções indicadas no slide para criar um projeto.

Page 23: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

23/28

Java Fundamentos

Criar projeto #2/2

Capítulo 1 - A linguagem Java 19

O formulário de criação de projeto deve ficar preenchido como indica a figura.

Page 24: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

24/28

Criar uma classe dentro de um package

Java Fundamentos

Criar uma classe dentro de um package #1/2

Escolher Source Packages e com o botão de contexto

do rato:

New Java Class;

Nome: OlaMundo (Primeira letra em maiúscula e M de

mundo também);

Package: capitulo1

Capítulo 1 - A linguagem Java 20

Um programa Java contem uma ou mais classes. Estas são arrumadas em packages. Há vários critérios para arrumar classes e neste curso optamos por arrumar por capítulo. Classes e packages serão abordadas em capítulos específicos neste curso. A classe vai conter as instruções do nosso programa e vai chamar-se OlaMundo (repare que o nome começa por letra maiúscula). Esta classe vai ficar armazenada num package com o nome capitulo1 (o nome começa por letra minúscula).

Page 25: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

25/28

Java Fundamentos

Criar projeto #2/2

Capítulo 1 - A linguagem Java 19

O formulário de criação de classe deve ficar preenchido como indica a figura.

Page 26: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

26/28

Introduzir o código do programa OlaMundo

Java Fundamentos

Introduzir o código do programa OlaMundo

Capítulo 1 - A linguagem Java 22

Copie o código apresentado no slide para dentro da classe criada no ponto anterior. É importante respeitar as letras maiúsculas e minúsculas.

Page 27: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

27/28

Correção de erros, compilação e execução

Java Fundamentos

Correcção dos erros, compilação e execução

Correção de erros sempre de cima para baixo e da

esquerda para a direita;

Ao corrigir o primeiro erro podem desaparecer erros

dependentes

Compilação e execução com opção RUN FILE (menu

de contexto sobre a classe);

Se a opção RUN FILE não aparece ou surge a

mensagem “Class does not have a main method”

significa que o método main não está bem definido:

Capítulo 1 - A linguagem Java 23

Siga as instruções do slide para compilar e executar a classe. Se tiver erros confira que não se enganou na cópia. Mais tarde vamos explicar o significado destas instruções.

Page 28: ProgJavaFund_1_LinguagemJava

Programação em Java - Fundamentos 1 - A linguagem Java

28/28

Java Fundamentos Capítulo 1 - A linguagem Java 24

Sumário

Características da linguagem Java;

O Java e o bytecode;

Arquitetura das aplicações Java;

Instalação do ambiente de trabalho;

Escrever um programa no NetBeans;