60
Aula 01 Introdução ao Java Aline Alves da Silva [email protected] Agosto de 2008

LPOO - Aula 01

Embed Size (px)

Citation preview

Page 1: LPOO - Aula 01

Aula 01 Introdução ao Java

Aline Alves da [email protected]

Agosto de 2008

Page 2: LPOO - Aula 01

Sumário

• História do Java• Principais Características• Fases de um programa Java• Plataformas Java • Instalando e configurando o Java• Um primeiro programa Java• Usando o editor de texto e a console• Entendendo o primeiro programa Java• Compilando o primeiro programa• Executando o primeiro programa• Erros de sintaxe• Erros em tempo de execução• Introdução a Interface Gráfica em Java• Para aprender mais• Referências

Page 3: LPOO - Aula 01

História do Java

• Em 1992, A Sun criou um time (conhecido como Green Team) para desenvolver inovações tecnológicas;

• Esse time foi liderado por James Gosling, considerado o Pai do Java;

• O time voltou com a idéia de criar um interpretador parapequenos dispositivos, facilitando a reescrita de software paraaparelhos eletrônicos, como vídeo cassete, televisão e aparelhosde tv a cabo;

• O projeto resultou no desenvolvimento de uma linguagembaseada em C e C++ que seu criador, James Gosling, chamou de Oak (carvalho);

Page 4: LPOO - Aula 01

História do Java

• Descobriu-se mais tarde que já havia uma linguagem de computador chamada Oak;

• A inspiração do nome Java surgiu em uma cafeteria local, cujoconteúdo do café vinha de uma ilha da Indonésia chamada Java;

• A idéia não deu certo;

• Por pura sorte, a World Wide Web explodiu em popularidadeem 1993 e as pessoas da Sun viram o imediato potencial de utilizar Java para criar páginas da Web com o chamado conteúdodinâmico;

Page 5: LPOO - Aula 01

História do Java

• Na metade de 1994, a equipe percebeu que um browser independente de arquitetura, confiável e seguro seria importante, então, construiu um browser chamado HotJava;

• Em maio de 1995, a Sun anunciou Java formalmente em umaconferência importante;

• Em Janeiro de 1996, a Netscape decide dar suporte a Java aoseu browser Navigator;

• Em 1996, foi disponibilizada a primeira versão do Java (JDK 1.0);

Page 6: LPOO - Aula 01

História do Java

• A Sun decide disponibilizar o Java gratuitamente para a comunidade de desenvolvimento de software, embora detenhatodos os direitos relativos à linguagem e as ferramentas de suaautoria;

• As plataformas inicialmente atendidas foram: Sun Solaris e Microsoft Windows 95/NT;

• Progressivamente, foram disponibilizados kits para outrasplataformas tais como IBM OS/2, Linux e Applet Macintosh;

• Hoje, a última versão disponível do Java é a 6.0, lançada em 2006;

Page 7: LPOO - Aula 01

História do Java

• Atualmente, Java é utilizado para criar páginas da Web com conteúdo interativo e dinâmico, para desenvolver aplicativoscorporativos de grande porte, para aprimorar a funcionalidade de servidores da World Wide Web (os computadores que fornecem o conteúdo que vemos em nossos navegadores Web), forneceraplicativos para dispositivos destinados ao consumidor final (comotelefones celulares, pagers e assistentes pessoais digitais) e paramuitas outras finalidades.

Page 8: LPOO - Aula 01

Principais Características

Orientada a objetos

Java é uma linguagem puramente orientada a objetos, pois, com exceção de seus tipos primitivos de dados, tudo em Java sãoclasses ou instâncias de classes.

Sem Ponteiros

Java não possui ponteiros, isto é, Java não permite a manipulação direta de endereços de memória.

Page 9: LPOO - Aula 01

Principais Características

Coletor de lixo (Garbage Collector)

Java possui um mecanismo automático de gerenciamento de memória conhecido como garbage collector, que recupera a memória alocada para objetos não mais referenciados peloprograma.

Permite Multithreading

Java oferece recursos para o desenvolvimento de aplicaçõescapazes de executar múltiplas rotinas concorrentemente bemdispõe de elementos para a sincronização destas várias rotinas.

Page 10: LPOO - Aula 01

Principais Características

Independente de plataforma

Java é uma linguagem independente de plataforma, pois osprogramas Java são compilados para uma forma intermediária de código denominada bytecodes, que utiliza uma biblioteca de classes padronizada.

Tratamento de exceções

Java permite o tratamento de situações excepcionais. Ela possuiexceções embutidas e permite a criação de novas exceções.

Page 11: LPOO - Aula 01

Principais Características

Máquina Virtual Java

Java se utiliza do conceito de máquina virtual, onde existe entre o sistema operacional e aplicação uma camada extra responsávelpor interpretar os bytecodes, decidir onde é melhor alocarmemória, entre outros.

Page 12: LPOO - Aula 01

Fases de um programa Java

Page 13: LPOO - Aula 01

Fases de um programa Java

Os programas Java normalmente passam por cinco fases para serem executados:

Fase 1 (Edição): Consiste em editar um arquivo com código em Java e salvá-lo com a extensão .java

Fase 2 (Compilação): O programador emite o comando javacpara compilar o programa. O compilador Java traduz o programa Java para bytecodes – a linguagem conhecida pelo interpretador Java.

Fase 3 (Carga): O programa deve ser primeiramente colocado na memória antes de ser executado. Isso ´é feito pelo carregador de classe, que pega o arquivo (ou arquivos) .classque contém os bytecodes e o transfere para a memória.

Page 14: LPOO - Aula 01

Fases de um programa Java

Fase 4 (Verificação): O verificador de bytecodes assegura que os bytecodes para as classes são válidos e não violam as restrições de segurança de Java. Ele testa o formato dos fragmentos de código e pesquisa nos fragmentos de código por códigos ilegais.

Fase 5 (Ececução): A máquina virtual Java (interpretador) interpreta o programa, um bytecode por vez, realizando assim a ação especificada pelo programa. O interpretador Java éinvocado através do comando java.

Page 15: LPOO - Aula 01

Plataformas Java

A linguagem Java conta com os seguintes três ambientes de desenvolvimento:

JSE: O JSE (Java Standard Edition) é o ambiente de desenvolvimento mais utilizado. Isso porque seu uso é voltado a PCs e servidores, onde há bem mais necessidade de aplicações. Por ser a plataforma mais abrangente do Java, o JSE é a mais indicada para quem quer aprender a linguagem.

JEE: O JEE (Java Enterprise Edition) é a plataforma Java voltada para redes, internet, intranets e afins. Assim, ela contém bibliotecas especialmente desenvolvidas para o acesso a servidores, a sistemas de e-mail, a banco de dados, etc. Por essas características, o JEE foi desenvolvido para suportar uma grande quantidade de usuários simultâneos.

Page 16: LPOO - Aula 01

Plataformas Java

JME: O JME (Java Micro Edition) é o ambiente de desenvolvimento para dispositivos móveis ou portáteis, como telefones celulares e palmtops. Como a linguagem Java já era conhecida e a adaptação ao JME não é complicada, logo surgiram diversos tipos de aplicativos para tais dispositivos, como jogos e agendas eletrônicas.

Page 17: LPOO - Aula 01

Plataformas Java

Componentes de uma plataforma Java:

JRE (Java Runtime Environment) : É composta de uma JVM e de um conjunto de bibliotecas que permite a execução de softwares em Java.

JDK (Java Development Kit ): É composto basicamente por um compilador (javac), uma máquina virtual (java), um visualizadorde applets (appletviewver), bibliotecas de desenvolvimento (os packages java), um programa para composição de documentação (javadoc), um depurador básico de programas (jdb) e a versão runtime do ambiente de execução (jre).

Page 18: LPOO - Aula 01

Instalando e configurando o Java

Para iniciar o trabalho com Java, é necessário executar os seguintes passos:

Fazer o download do Java SE Development Kit (JDK) 6 Update7 no site da Sun e instalá-lo (http://www.java.com);

Configurar as variáveis de ambiente no Windows utilizando o tutorial JV_Variavel_Ambiente.pdf disponibilizado;

Fazer o download do Eclipse IDE para desenvolvedores Java do sistema operacional Windows e descompactá-lo (http://www.eclipse.org/downloads/);

Page 19: LPOO - Aula 01

Um primeiro programa Java

1 public class MeuPrograma2 {3 /**4 * Meu primeiro programa em Java 5 */6 public static void main (String[ ] args) {7 //Mostra a mensagem “Meu primeiro programa Java”8 System.out.println(“Meu primeiro programa Java”);9 }10 }

Page 20: LPOO - Aula 01

Usando o editor de texto e a console

• Passo 1: Iniciar o editor• Passo 2: Abrir a janela de console• Passo 3: Escrever as instruções utilizando o editor de texto• Passo 4: Salvar seu programa Java

- Nome do arquivo: MeuPrograma.java- Nome da pasta: C:\Meus programas Java

• Passo 5: Entrar na pasta que contém o programa• Passo 6: Compilar o programa

- javac MeuPrograma.java• Passo 7: Executar o programa

- java MeuPrograma

Page 21: LPOO - Aula 01

Entendendo o primeiro programa Java

1 public class MeuPrograma2 {3 /**4 * Meu primeiro programa em Java 5 */

• O nome da classe é MeuPrograma;

• Em Java, todo e qualquer código deve pertencer a umaclasse;

• Esta classe usa um identificador de acesso public . Indica queestá acessível para outras classes de diferentes pacotes(pacotes são coleções de classes).

Page 22: LPOO - Aula 01

Entendendo o primeiro programa Java

1 public class MeuPrograma2 {3 /**4 * Meu primeiro programa em Java 5 */

• A próxima linha contém uma chave { e indica o início de um bloco de instruções.

Page 23: LPOO - Aula 01

Entendendo o primeiro programa Java

1 public class MeuPrograma2 {3 /**4 * Meu primeiro programa em Java5 */

• As próximas 3 linhas indicam um comentário em Java• Um comentário:

-Explicação usada para a documentação do código;-Não faz parte do programa em si, mas sim de suadocumentação;

-É uma boa prática de programação adicionar comentários aosProgramas.

Page 24: LPOO - Aula 01

Entendendo o primeiro programa Java

1 public class MeuPrograma2 {3 /**4 * Meu primeiro programa em Java 5 */6 public static void main (String[ ] args) {

• A linha 6 indica a declaração de um método em Java, nestecaso, o método main;

• O método main é o ponto de partida dos programas em Java;• Todos os programas, com exceção de applets, escritos em

Java, se iniciam pelo método main.

Page 25: LPOO - Aula 01

Entendendo o primeiro programa Java

1 public class MeuPrograma2 {3 /**4 * Meu primeiro programa em Java 5 */6 public static void main (String[ ] args) {7 // Mostra a mensagem “Meu primeiro programa Java”

• A linha seguinte é um comentário de linha

Page 26: LPOO - Aula 01

Entendendo o primeiro programa Java

1 public class MeuPrograma2 {3 /**4 * Meu primeiro programa em Java 5 */6 public static void main (String[ ] args) {7 //Mostra a mensagem “Meu primeiro programa Java”8 System.out.println(“Meu primeiro programa Java”);

• A instrução System.out.println(), mostra, na saída padrão, o texto descrito entre as aspas.

Page 27: LPOO - Aula 01

Entendendo o primeiro programa Java

1 public class MeuPrograma2 {3 /**4 * Meu primeiro programa em Java 5 */6 public static void main (String[ ] args) {7 //Mostra a mensagem “Meu primeiro programa Java”8 System.out.println(“Meu primeiro programa Java”);9 }10 }

• As últimas duas linhas, que contêm somente uma chave emcada, simbolizam, respectivamente, o fechamento do métodomain e da classe

Page 28: LPOO - Aula 01

Compilando o primeiro programa

Page 29: LPOO - Aula 01

Executando o primeiro programa

Page 30: LPOO - Aula 01

Erros de sintaxe

•Erros de sintaxe- Normalmente gerados por digitação incorreta

• Erros de sintaxe comuns:- Digitação incorreta de comando Java- Esquecer de colocar ponto-e-vírgula ao final da declaração

Page 31: LPOO - Aula 01

Exemplo: Erro de sintaxe

Page 32: LPOO - Aula 01

Exemplo: Erro de sintaxe

Page 33: LPOO - Aula 01

Erros em tempo de execução

• Erro em tempo de execução

- São erros que aparecerão enquanto o programa estiver sendoexecutado;-Programas compilados com sucesso, que apresentarãorespostas erradas, se o programador não obedeceu a lógica dos processamentos e as estruturas do programa.

Page 34: LPOO - Aula 01

Introdução a Interface Gráfica em Java

• A maioria dos aplicativos em Java que exibem a saída utilizajanelas ou caixas de diálogo para exibir a saída;

• As caixas de diálogo são janelas nas quais os programasexibem mensagens importantes para o usuário do programa;

• classe de Java JOptionPane oferece caixas de diálogo pre-definidas que permitem aos programas exibir mensagens para osusuários.

Page 35: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Exibindo texto em uma caixa de diálogo

1 //Imprimindo múltiplas linhas em uma caixa de diálogo2 import javax.swing.JOptionPane;// importa a classe JOptionPane3 public class ExibeTextoCaixaDialogo {4 // método main começa a excução da aplicação Java5 public static void main( String args[] )6 {7 JOptionPane.showMessageDialog(8 null, "Meu primeiro\nprograma\nJava!" );9 System.exit( 0 ); // finaliza o aplicativo10 } // fim do método main11 } // fim da classe ExibeTextoCaixaDialogo

Page 36: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Exibindo texto em uma caixa de diálogo – Saída do Programa

Page 37: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Exibindo texto em uma caixa de diálogo – Entendendo o programa

1 //Imprimindo múltiplas linhas em uma caixa de diálogo2 import javax.swing.JOptionPane ; // importa a classeJOptionPane

• A linha 2 é uma instrução import. O compilador utiliza instruçõesimport para identificar e carregar classes usadas em um programaJava;• A linha 2 diz ao compilador diz ao compilador para carregar a classe JOptionPane do pacote javax.swing.

Page 38: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Exibindo texto em uma caixa de diálogo - Entendendo o programa

1 //Imprimindo múltiplas linhas em uma caixa de diálogo2 import javax.swing.JOptionPane;// importa a classe…7 JOptionPane.showMessageDialog(8 null, "Meu primeiro\nprograma\nJava!" );

• As linhas 7 e 8 indicam uma chamada para o métodoshowMessageDialog da classe JOptionPane ;• O primeiro argumento ajuda o aplicativo Java a determinar ondeposicionar a caixa de diálogo;• O segundo argumento é o string a exibir.

Page 39: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Exibindo texto em uma caixa de diálogo - Entendendo o programa

1 //Imprimindo múltiplas linhas em uma caixa de diálogo2 import javax.swing.JOptionPane;// importa a classe JOptionPane3 public class ExibeTextoCaixaDialogo {…9 System.exit( 0 ); // finaliza o aplicativo

• A linha 9 utiliza o método static exit da classe System paraterminar o aplicativo;• Em qualquer aplicativo que exibe uma interface gráfica com o usuário, esta linha é necessária para terminar o aplicativo.

Page 40: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Outro aplicativo Java: adicionando inteiros

1 import javax.swing.JOptionPane; // Importa classe JOptionPane2 public class Adicao {3 // main method begins execution of Java application4 public static void main( String args[ ] )5 {6 String primeiroNumero; //primeiro string inserido pelo usuário7 String segundoNumero; // segundo string inserido pelo usuário8 int numero1; // primeiro número a somar9 int numero2; // segundo número a somar10 int soma; // soma de number1 e number211 // lê o primeiro número do usuário como um string

Page 41: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Outro aplicativo Java: adicionando inteiros

12 primeiroNumero = JOptionPane.showInputDialog( "Entre13 com o primeiro numero");14 // lê o segundo número do usuário como um string15 segundoNumero = JOptionPane.showInputDialog( "Entre16 com o segundo numero" );17 // converte os números do usuário como um string18 numero1 = Integer.parseInt( primeiroNumero ); 19 numero2 = Integer.parseInt( segundoNumero );20 // adiciona os números21 soma = numero1 + numero2;22 // exibe os resultados

Page 42: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Outro aplicativo Java: adicionando inteiros

23 JOptionPane.showMessageDialog( null, "A soma eh " + soma, 24 "Resultado", JOptionPane.PLAIN_MESSAGE );25 System.exit( 0 ); //termina o aplicativo26 } // fim do método do main27 } // fim da Classe Adição

Page 43: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Adicionando inteiros – Saída do Programa

Page 44: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa1 import javax.swing.JOptionPane; // Importa classe JOptionPane2 public class Adicao {3 // main method begins execution of Java application4 public static void main( String args[ ] )5 {6 String primeiroNumero; //primeiro string inserido pelo usuário7 String segundoNumero; //segundo string inserido pelo usuário

• As linhas 6 e 7 são declarações. As palavras primeiroNumero e segundoNumero são nomes de variáveis. Essa declaraçãoespecifica que as variáveis primeiroNumero e segundoNumero sãodados do tipo String, o que significa que as variáveis armazenarãostrings

Page 45: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa1 import javax.swing.JOptionPane; // Importa classe JOptionPane2 public class Adicao {3 // main method begins execution of Java application4 public static void main( String args[ ] )…8 int numero1; // primeiro número a somar9 int numero2; // segundo número a somar10 int soma; // soma de number1 e number2

•As linhas 8 a 10 declaram que as variáveis numero1, numero2 e soma são do tipo int, o que significa que essas variáveisarmazenarão valores inteiros (isto é, números como 7, -11,0, 31987).

Page 46: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa1 import javax.swing.JOptionPane; // Importa classe JOptionPane2 public class Adicao {3 // main method begins execution of Java application4 public static void main( String args[ ] )5 {…12 primeiroNumero = JOptionPane.showInputDialog( "Entre13 com o primeiro numero");

•As linhas 12 e 13 lêem um String fornecido pelo usuáriorepresentando o primeiro dos dois números a adicionar. O argumento para showInputDialog indica o que o usuário devedigitar no campo do texto.

Page 47: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa1 import javax.swing.JOptionPane; // Importa classe JOptionPane2 public class Adicao {3 // main method begins execution of Java application4 public static void main( String args[ ] )5 {…15 segundoNumero = JOptionPane.showInputDialog( "Entre16 com o segundo numero" );

•As linhas 15 e 16 exibe um diálogo de entrada em que o usuáriodigita um String para representar o segundo dos dois números a adicionar.

Page 48: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa1 import javax.swing.JOptionPane; // Importa classe JOptionPane2 public class Adicao {3 // main method begins execution of Java application4 public static void main( String args[ ] )5 {…18 numero1 = Integer.parseInt( primeiroNumero );19 numero2 = Integer.parseInt( segundoNumero );

•As linhas 18 e 19 convertem os dois Strings fornecidos pelousuário em valores int que o programa pode utilizar em um cálculo. O método Integer.parseInt converte seu argumento String em um inteiro.

Page 49: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa1 import javax.swing.JOptionPane; // Importa classe JOptionPane2 public class Adicao {3 // main method begins execution of Java application4 public static void main( String args[ ] )5 {…21 soma = numero1 + numero2;

•A linha 21 é uma instrução de atribuição que calcula a soma dasvariáveis numero1 e numero2 e atribui o resultado à variável soma utilizando o operador de atribuição =.

Page 50: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa1 import javax.swing.JOptionPane; // Importa classe JOptionPane2 public class Adicao {3 // main method begins execution of Java application4 public static void main( String args[ ] )5 {…23 JOptionPane.showMessageDialog( null, "A soma eh " + 24 soma, "Resultado", JOptionPane.PLAIN_MESSAGE );

•A linhas 23 e 24 utilizam o métodoJOptionPane.showMessageDialog para exibir o resultado daadição.

Page 51: LPOO - Aula 01

Introdução a Interface Gráfica em Java

Diálogo com uma mensagem sem ícone

JOptionPane.PLAIN_MESSAGE

Impõe uma perguntaJOptionPane.QUESTION_MESSAGE

Adverte o usuário sobre um problema em potencial

JOptionPane.WARNING_MESSAGE

Mensagem com informações para o usuário

JOptionPane.INFORMATION_MESSAGE

Indica um erro para o usuário

JOptionPane.ERROR_MESSAGE

DescriçãoTipos de diálogo de mensagem

Page 52: LPOO - Aula 01

Exercícios

Exercício 1 : Escreva um aplicativo que solicita ao usuário paradigitar dois números, obtém os dois números do usuário e imprime a soma, o produto, a diferença e o quociente (divisão) dos doisnúmeros.

Page 53: LPOO - Aula 01

Exercícios

Exercício 2 : Escreva um aplicativo que solicita ao usuário paradigitar dois inteiros, que obtém os números do usuário e exibe omaior número seguido pelas palavras “é maior” em um diálogo de mensagem de informação. Se os números forem iguais, ele imprimea mensagem “Os números informados são iguais”.

Page 54: LPOO - Aula 01

Exercícios

Exercício 3 : Escreva um aplicativo que lê cinco inteiros e determinae imprime o maior e o menor inteiro do grupo.

Page 55: LPOO - Aula 01

Exercícios

Exercício 4 : Escreva um aplicativo que lê dois inteiros e determine e imprime se o primeiro é um múltiplo do segundo.

Page 56: LPOO - Aula 01

Exercícios

Exercício 5 : Escreva um aplicativo que lê um número que consisteem cinco dígitos digitados pelo usuário, separa o número em seusdígitos individuais e imprime os dígitos separados um dos outros portrês espaços cada. Por exemplo, se o usuário digitar o número42339, o programa deve imprimir

4 2 3 3 9

Page 57: LPOO - Aula 01

Para aprender mais

• Leitura dos capítulos 1 e 2 da Apostila “FJ-11 Java e OrientaçãoObjetos” da Caelum;

• Leitura do capítulo 1 da Apostila “Introdução ao Java” daUniversidade São Francisco;

• Leitura e Resolução dos Exercícios do Capítulo 2 do Livro Java Como Programar .

Page 58: LPOO - Aula 01

Referências

Livros:

Java Como Programar 6º EdiçãoHarvey M. Deitel Paul J. Deitel

Thinking in JavaBruce Eckel

Page 59: LPOO - Aula 01

Referências

Site principal do Java:

http://java.sun.com

Grupo de usuários Java:

http://www.guj.com.br

Cursos e Apostilas Online:

http://www.caelum.com.br/caelum/index.jsp

http://jedi.wv.com.br/

IDEs Java:

Eclipse (http://www.eclipse.org/)

NetBeans (http://www.netbeans.org/)

JEdit (http://www.jedit.org/)

Page 60: LPOO - Aula 01

Referências

Artigos, tutoriais, revistas, dicas e exemplos:

http://www.javaworld.com/http://www.javareport.com/http://www.jars.com/http://www.gamelan.com/http://www.internet.com/http://www.javalobby.com/