Você está na página 1de 60

Aula 01

Introdução ao Java

Aline Alves da Silva


aline@lia.ufc.br
Agosto de 2008
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
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 para


pequenos dispositivos, facilitando a reescrita de software para
aparelhos eletrônicos, como vídeo cassete, televisão e aparelhos
de tv a cabo;

•O projeto resultou no desenvolvimento de uma linguagem


baseada em C e C++ que seu criador, James Gosling, chamou de
Oak (carvalho);
História do Java

• Descobriu-semais tarde que já havia uma linguagem de


computador chamada Oak;

• A inspiração do nome Java surgiu em uma cafeteria local, cujo


conteú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 popularidade
em 1993 e as pessoas da Sun viram o imediato potencial de
utilizar Java para criar páginas da Web com o chamado conteúdo
dinâmico;
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 uma


conferência importante;

• Em Janeiro de 1996, a Netscape decide dar suporte a Java ao


seu browser Navigator;

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


1.0);
História do Java

•A Sun decide disponibilizar o Java gratuitamente para a


comunidade de desenvolvimento de software, embora detenha
todos os direitos relativos à linguagem e as ferramentas de sua
autoria;

• As plataformas inicialmente atendidas foram: Sun Solaris e


Microsoft Windows 95/NT;

• Progressivamente, foram disponibilizados kits para outras


plataformas 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;
História do Java

• Atualmente, Java é utilizado para criar páginas da Web com


conteúdo interativo e dinâmico, para desenvolver aplicativos
corporativos 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), fornecer
aplicativos para dispositivos destinados ao consumidor final (como
telefones celulares, pagers e assistentes pessoais digitais) e para
muitas outras finalidades.
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ão
classes 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.
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 pelo
programa.

Permite Multithreading

Java oferece recursos para o desenvolvimento de aplicações


capazes de executar múltiplas rotinas concorrentemente bem
dispõe de elementos para a sincronização destas várias rotinas.
Principais Características

Independente de plataforma
Java é uma linguagem independente de plataforma, pois os
programas 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 possui
exceções embutidas e permite a criação de novas exceções.
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ável
por interpretar os bytecodes, decidir onde é melhor alocar
memória, entre outros.
Fases de um programa Java
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 javac


para 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) .class
que contém os bytecodes e o transfere para a memória.
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.
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.
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.
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 visualizador
de 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).
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 Update
7 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/);
Um primeiro programa Java

1 public class MeuPrograma


2 {
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 }
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
Entendendo o primeiro programa Java

1 public class MeuPrograma


2 {
3 /**
4 * Meu primeiro programa em Java
5 */

• O nome da classe é MeuPrograma;

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


classe;

• Esta classe usa um identificador de acesso public. Indica que


está acessível para outras classes de diferentes pacotes
(pacotes são coleções de classes).
Entendendo o primeiro programa Java

1 public class MeuPrograma


2 {
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.
Entendendo o primeiro programa Java

1 public class MeuPrograma


2 {
3 /**
4 * Meu primeiro programa em Java
5 */

• 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 sua
documentação;
-É uma boa prática de programação adicionar comentários aos
Programas.
Entendendo o primeiro programa Java

1 public class MeuPrograma


2 {
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, neste


caso, 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.
Entendendo o primeiro programa Java

1 public class MeuPrograma


2 {
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


Entendendo o primeiro programa Java

1 public class MeuPrograma


2 {
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.
Entendendo o primeiro programa Java

1 public class MeuPrograma


2 {
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 em


cada, simbolizam, respectivamente, o fechamento do método
main e da classe
Compilando o primeiro programa
Executando o primeiro programa
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
Exemplo: Erro de sintaxe
Exemplo: Erro de sintaxe
Erros em tempo de execução

• Erro em tempo de execução


- São erros que aparecerão enquanto o programa estiver sendo
executado;
-Programas compilados com sucesso, que apresentarão
respostas erradas, se o programador não obedeceu a lógica dos
processamentos e as estruturas do programa.
Introdução a Interface Gráfica em Java

• A maioria dos aplicativos em Java que exibem a saída utiliza


janelas ou caixas de diálogo para exibir a saída;

• As caixas de diálogo são janelas nas quais os programas


exibem 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 os
usuários.
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álogo


2 import javax.swing.JOptionPane;// importa a classe JOptionPane
3 public class ExibeTextoCaixaDialogo {
4 // método main começa a excução da aplicação Java
5 public static void main( String args[] )
6 {
7 JOptionPane.showMessageDialog(
8 null, "Meu primeiro\nprograma\nJava!" );
9 System.exit( 0 ); // finaliza o aplicativo
10 } // fim do método main
11 } // fim da classe ExibeTextoCaixaDialogo
Introdução a Interface Gráfica em Java

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


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álogo


2 import javax.swing.JOptionPane; // importa a classe
JOptionPane

• A linha 2 é uma instrução import. O compilador utiliza instruções


import para identificar e carregar classes usadas em um programa
Java;
• A linha 2 diz ao compilador diz ao compilador para carregar a
classe JOptionPane do pacote javax.swing.
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álogo


2 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étodo


showMessageDialog da classe JOptionPane;
• O primeiro argumento ajuda o aplicativo Java a determinar onde
posicionar a caixa de diálogo;
• O segundo argumento é o string a exibir.
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álogo


2 import javax.swing.JOptionPane;// importa a classe JOptionPane
3 public class ExibeTextoCaixaDialogo {

9 System.exit( 0 ); // finaliza o aplicativo

•A linha 9 utiliza o método static exit da classe System para


terminar o aplicativo;
• Em qualquer aplicativo que exibe uma interface gráfica com o
usuário, esta linha é necessária para terminar o aplicativo.
Introdução a Interface Gráfica em Java

Outro aplicativo Java: adicionando inteiros

1 import javax.swing.JOptionPane; // Importa classe JOptionPane


2 public class Adicao {
3 // main method begins execution of Java application
4 public static void main( String args[ ] )
5 {
6 String primeiroNumero; //primeiro string inserido pelo usuário
7 String segundoNumero; // segundo string inserido pelo usuário
8 int numero1; // primeiro número a somar
9 int numero2; // segundo número a somar
10 int soma; // soma de number1 e number2
11 // lê o primeiro número do usuário como um string
Introdução a Interface Gráfica em Java

Outro aplicativo Java: adicionando inteiros

12 primeiroNumero = JOptionPane.showInputDialog( "Entre


13 com o primeiro numero");
14 // lê o segundo número do usuário como um string
15 segundoNumero = JOptionPane.showInputDialog( "Entre
16 com o segundo numero" );
17 // converte os números do usuário como um string
18 numero1 = Integer.parseInt( primeiroNumero );
19 numero2 = Integer.parseInt( segundoNumero );
20 // adiciona os números
21 soma = numero1 + numero2;
22 // exibe os resultados
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 aplicativo
26 } // fim do método do main
27 } // fim da Classe Adição
Introdução a Interface Gráfica em Java

Adicionando inteiros – Saída do Programa


Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa


1 import javax.swing.JOptionPane; // Importa classe JOptionPane
2 public class Adicao {
3 // main method begins execution of Java application
4 public static void main( String args[ ] )
5 {
6 String primeiroNumero; //primeiro string inserido pelo usuário
7 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ção
especifica que as variáveis primeiroNumero e segundoNumero são
dados do tipo String, o que significa que as variáveis armazenarão
strings
Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa


1 import javax.swing.JOptionPane; // Importa classe JOptionPane
2 public class Adicao {
3 // main method begins execution of Java application
4 public static void main( String args[ ] )

8 int numero1; // primeiro número a somar
9 int numero2; // segundo número a somar
10 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áveis
armazenarão valores inteiros (isto é, números como 7, -11,0, 31987).
Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa


1 import javax.swing.JOptionPane; // Importa classe JOptionPane
2 public class Adicao {
3 // main method begins execution of Java application
4 public static void main( String args[ ] )
5 {

12 primeiroNumero = JOptionPane.showInputDialog( "Entre
13 com o primeiro numero");

•As linhas 12 e 13 lêem um String fornecido pelo usuário


representando o primeiro dos dois números a adicionar. O
argumento para showInputDialog indica o que o usuário deve
digitar no campo do texto.
Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa


1 import javax.swing.JOptionPane; // Importa classe JOptionPane
2 public class Adicao {
3 // main method begins execution of Java application
4 public static void main( String args[ ] )
5 {

15 segundoNumero = JOptionPane.showInputDialog( "Entre
16 com o segundo numero" );

•As linhas 15 e 16 exibe um diálogo de entrada em que o usuário


digita um String para representar o segundo dos dois números a
adicionar.
Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa


1 import javax.swing.JOptionPane; // Importa classe JOptionPane
2 public class Adicao {
3 // main method begins execution of Java application
4 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 pelo


usuá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.
Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa


1 import javax.swing.JOptionPane; // Importa classe JOptionPane
2 public class Adicao {
3 // main method begins execution of Java application
4 public static void main( String args[ ] )
5 {

21 soma = numero1 + numero2;

•A linha 21 é uma instrução de atribuição que calcula a soma das


variáveis numero1 e numero2 e atribui o resultado à variável soma
utilizando o operador de atribuição =.
Introdução a Interface Gráfica em Java

Adicionando inteiros – Entendendo o programa


1 import javax.swing.JOptionPane; // Importa classe JOptionPane
2 public class Adicao {
3 // main method begins execution of Java application
4 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étodo


JOptionPane.showMessageDialog para exibir o resultado da
adição.
Introdução a Interface Gráfica em Java

Tipos de diálogo de mensagem Descrição


JOptionPane.ERROR_MESSAGE Indica um erro para o
usuário

JOptionPane.INFORMATION_MESSAGE Mensagem com


informações para o
usuário

JOptionPane.WARNING_MESSAGE Adverte o usuário


sobre um problema
em potencial
JOptionPane.QUESTION_MESSAGE Impõe uma pergunta
JOptionPane.PLAIN_MESSAGE Diálogo com uma
mensagem sem ícone
Exercícios

Exercício 1: Escreva um aplicativo que solicita ao usuário para


digitar 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 dois
números.
Exercícios

Exercício 2: Escreva um aplicativo que solicita ao usuário para


digitar dois inteiros, que obtém os números do usuário e exibe o
maior número seguido pelas palavras “é maior” em um diálogo de
mensagem de informação. Se os números forem iguais, ele imprime
a mensagem “Os números informados são iguais”.
Exercícios

Exercício 3: Escreva um aplicativo que lê cinco inteiros e determina


e imprime o maior e o menor inteiro do grupo.
Exercícios

Exercício 4: Escreva um aplicativo que lê dois inteiros e determine e


imprime se o primeiro é um múltiplo do segundo.
Exercícios

Exercício 5: Escreva um aplicativo que lê um número que consiste


em cinco dígitos digitados pelo usuário, separa o número em seus
dígitos individuais e imprime os dígitos separados um dos outros por
três espaços cada. Por exemplo, se o usuário digitar o número
42339, o programa deve imprimir

4 2 3 3 9
Para aprender mais

• Leitura dos capítulos 1 e 2 da Apostila “FJ-11 Java e Orientação


Objetos” da Caelum;

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


Universidade São Francisco;

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


Como Programar .
Referências
Livros:

Java Como Programar 6º Edição Thinking in Java


Harvey M. Deitel Paul J. Deitel Bruce Eckel
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/)
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/