Pontifícia Universidade Católica do Rio Grande do Sul
Faculdade de Informática
Algoritmos e Programação I


Ambiente de Programação Java
Aula de Laboratório

Objetivo:



Observação: se você está realizando esta atividade em um dos laboratórios da Faculdade de Informática, o ambiente de programação Java deve estar instalado. Portanto, siga o seguinte roteiro:

1. Instalação do J2SETM


A primeira coisa a fazer para utilizar a linguagem Java é instalar o Java Development Kit (JDK), ou JavaTM 2 Platform, Standard Edition (J2SETM) (obs.: o J2SE já está instalado na Faculdade de Informática, por isso não é necessário instalar)

Abra uma janela de comando (clique no Menu Iniciar, selecione Executar e digite cmd) e observe a estrutura de diretórios do drive C: se dentro do diretório Program Files já houver um diretório Java com um sub-diretório JDK* ou J2SDK* (JDK1.6, J2SDK1.6.0_01, J2SDK1.6, JDK1.6.0_01), o ambiente já está instalado. Se não houver, será necessário instalar uma das versões. Recomenda-se a instalação do JDK 1.6, disponível na página da Sun: selecione a versão adequada para seu sistema operacional (Windows, Linux, Solaris, etc.) e salve o arquivo. NÃO INSTALE o JRE, pois este contém apenas o ambiente de execução, não tem o compilador! Após a instalação, provavelmente, a seguinte estrutura estará disponível:


c:\Program Files\Java\jdk1.6.0
   bin
   demo
   include
   jre
		bin
		lib
   lib
   sample

2. Testando o ambiente de programação Java

Caso o ambiente Java esteja instalado no computador, você pode realizar os seguintes testes para verificar se o ambiente está corretamente configurado:

2.1. Testando o compilador Java (javac):
Para verificar se o compilador Java está configurado corretamente, digite o seguinte comando na janela de comando do sistema operacional:

javac
Exemplo:
c:\> javac
<>Usage: javac <options> <source files>
where possible options include:
  -g                         Generate all debugging info
  -g:none                    Generate no debugging info
  -g:{lines,vars,source}     Generate only some debugging info
  -nowarn                    Generate no warnings
  -verbose                   Output messages about what the compiler is doing
  -deprecation               Output source locations where deprecated APIs are used
  -classpath <path>          Specify where to find user class files
  -cp <path>                 Specify where to find user class files
  -sourcepath <path>         Specify where to find input source files
  -bootclasspath <path>      Override location of bootstrap class files
  -extdirs <dirs>            Override location of installed extensions
  -endorseddirs <dirs>       Override location of endorsed standards path
  -d <directory>             Specify where to place generated class files
  -encoding <encoding>       Specify character encoding used by source files
  -source <release>          Provide source compatibility with specified release
  -target <release>          Generate class files for specific VM version
  -version                   Version information
  -help                      Print a synopsis of standard options
  -X                         Print a synopsis of nonstandard options
  -J<flag>                   Pass <flag> directly to the runtime system

O instalador do J2SE normalmente inclui o subdiretório bin do diretório onde o ambiente Java foi instalado (ex.: c:\Program Files\Java\jdk1.6.0\bin) na variável de ambiente do sistema operacional PATH.

Observação: se aparecer uma mensagem de erro informando que não foi possível achar o arquivo (como no exemplo abaixo, ajuste corretamente a variável PATH. No Windows 2000 e XP isso é feito pelo painel de controle, sistema, propriedades do sistema, avançado. No Windows 95/98, deve ser alterado o arquivo AUTOEXEC.BAT e reinicializada a máquina.

C:\>javac
'javac' is not recognized as an internal or external command,
operable program or batch file.

Uma outra solução é criar um arquivo batch que contenha comandos para configurar o sistema operacional para o ambiente Java. Crie um arquivo texto, com nome (por exemplo) configura.bat, cujo conteúdo seja:
set PATH=%PATH%; C:\Program Files\Java\jdk1.6.0\bin
O comando indicado adicional o caminho do ambiente Java na variável PATH do sistema operacional.
Desta forma, toda vez que você desejar executar o ambiente Java, inicialmente execute o arquivo batch.

Exemplo:
C:\> configura

2.2. Testando o interpretador Java (java):
Para verificar se o interpretador Java (JVM) está configurada corretamente, digite o seguinte comando no prompt do sistema operacional:

java -version
Exemplo:
c:\> java -version
java version "1.6.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08)
Java HotSpot(TM) Client VM (build 1.5.0_01-b08, mixed mode, sharing)

Observação: se aparecer uma mensagem de erro informando que não foi possível achar o arquivo (como no exemplo abaixo, ajuste corretamente a variável PATH, conforme explicado na observação do teste do compilador.
C:\>javac
'javac' is not recognized as an internal or external command,
operable program or batch file.

Outro problema que pode ocorrer é que o interpretador não encontra o arquivo do bytecode para interpretar (apresentando um erro como o apresentado abaixo):

C:\> java Teste
Exception in thread "main" java.lang.NoClassDefFoundError: Teste

Isto indica que a variável de ambiente CLASSPATH não existe ou está mal configurada. É necessário incluir o diretório corrente na variável CLASSPATH, com o seguinte comando:

set CLASSPATH=%CLASSPATH%;.

Caso você tenha criado um arquivo batch para configuração do sistema operacional para o ambiente Java, apenas inclua o comando acima no mesmo arquivo.


3. Compilando meu primeiro programa em Java


Os programas em Java podem ser criados em qualquer editor que suporte o salvamento de arquivos texto sem formatação, isto é, não devem ser utilizados aplicativos como Word (a não ser que sempre seja salvo um arquivo de texto puro).

Portanto, abra o editor de sua preferência (pode ser até... o Notepad!) e digite o programa abaixo.

Mas primeiro crie uma pasta com o nome alpro1 para seu uso no seu drive de rede H: (e não no C:). É recomendável criar essa pasta dentro da pasta já existente chamada homewin, pois isso garante que os dados não poderão ser lidos por outros usuários.

Ao final, salve o arquivo dentro desta pasta, com o nome Teste.java - tenha a certeza de utilizar EXATAMENTE este nome, com a primeira letra maiúscula (Java diferencia letras maiúsculas de letras minúsculas).


public class Teste {
  public static void main(String args[]) {
    int num;
    System.out.println("Alo, mundo!");
    System.out.println("Meu primeiro programa Java!");
    num = 5;
    System.out.println("Numero: "+ num + " Quadrado:" + num*num);
    }
}

Compile-o usando a seguinte chamada na janela de comando:

h:\homewin\alpro1> javac Teste.java

h:\homewin\alpro1>

Podem ocorrer alguns erros:

Se tudo correr bem, não aparecerá mensagem alguma. Verifique a existência do arquivo Teste.class com o comando dir:

h:\homewin\alpro1> dir Teste.*
...
12/03/2006 23:07 722 Teste.class
12/03/2006 23:06 269 Teste.java
2 File(s) 991 bytes
2 Dir(s) 46.195.593.216 bytes free

h:\homewin\alpro1>

Para executar o programa, digite:

h:\homewin\alpro1> java Teste

O programa será executado e uma tela semelhante à de baixo deve aparecer:

Alo, mundo!
Meu primeiro programa Java!
Numero: 5 Quadrado:25

h:\homewin\alpro1>


Podem ocorrer alguns erros:

Observação: a inicialização de um programa Java costuma levar mais tempo que a de um programa executável em código nativo, dependendo da velocidade do processador, quantidade de memória disponível e tipo de sistema operacional.

Repita os processos descritos na seção 3 para a compilação e execução dos programas abaixo:


import java.util.*;
import static java.lang.Math.*;

public class Exercicio01
{
  public static void main(String args[]){
     double valor1, valor2, valor3, mediaH, mediaG, mediaP;

     Scanner entrada = new Scanner(System.in);

        System.out.println("Entre com tres valores:");
        valor1 = entrada.nextDouble();
        valor2 = entrada.nextDouble();
        valor3 = entrada.nextDouble();

        mediaH = (3/ (1/valor1 + 1/valor2 + 1/valor3));
        mediaG = pow(valor1 * valor2 * valor3, 1.0/3);
        mediaP = (5*valor1 + 3*valor2 + valor3)/9;

        System.out.println("Media Harmônica: " + mediaH);
        System.out.println("Media Geométrica: " + mediaG);
        System.out.println("Media Ponderada: " + mediaP);
  }
}

import java.util.*;
public class Exercicio02
{
  public static void main(String args[]){
        double valor1, valor2, valor3, mediaP;

        Scanner entrada = new Scanner(System.in);

        System.out.println("Entre com tres valores:");
        valor1 = entrada.nextDouble();
        valor2 = entrada.nextDouble();
        valor3 = entrada.nextDouble();

        mediaP = (2*valor1 + 3*valor2 + 5*valor3)/10;

        System.out.println("Media Ponderada: " + mediaP);
  }
}

import java.util.*;
public class Exercicio03
{
  public static void main(String args[]){
        double valorC, valorF;

        Scanner entrada = new Scanner(System.in);

        System.out.println("Entre com a temperatura em graus Fahrenheit:");
        valorF = entrada.nextDouble();

        valorC = (5.0/9) * (valorF - 32);
        System.out.println(valorC + "C = " + valorF + "F");
  }
}

import java.util.*;
import static java.lang.Math.*;

public class Exercicio05
{
  public static void main(String args[]){
        double valor1, valor2, valor3, maiorValor1Valor2, maiorTotal;

        Scanner entrada = new Scanner(System.in);

        System.out.println("Entre com tres valores:");
        valor1 = entrada.nextDouble();
        valor2 = entrada.nextDouble();
        valor3 = entrada.nextDouble();

        maiorValor1Valor2 = (valor1 + valor2 + abs(valor1 - valor2))/2;
        maiorTotal = (maiorValor1Valor2 + valor3 + abs(maiorValor1Valor2 - valor3))/2;
        System.out.println("Maior Valor entre " + valor1 + " " + valor2 + " " + valor3 + " eh " + maiorTotal);
  }
}

Você chegou ao final do estudo dirigido: não saia desta aula sem ter conseguido cumprir todas estas etapas.

As etapas são:

  • Entender como instalar e configurar corretamente o J2SE
  • Editar, compilar e executar um programa Java pelo sistema operacional