1 O que é Java?

Java é uma tecnologia. É um mundo tão grande que ninguém se arrisca a dizer: ? Eu sei Java ?. Basicamente constitui-se de uma linguagem de programa´ão e um programa para execu´ão chamado de máquina virtual ou virtual machine. Quando programa-se em Java usa-se a linguagem de programação Java e um ambiente de desenvolvimento Java para gerar um software que será executado em um ambiente de distribuição Java. Tudo isso é a tecnologia Java.

1.1 O que pode ser feito em Java?

TUDO! Java é uma linguagem que não se prende a nenhuma arquitetura e a nenhuma empresa, é rápida e estável. Pode construir sistemas críticos, sistemas que precisam de velocidade e até sistemas que vão para fora do planeta, como a sonda Spirit enviada pela Nasa para Marte. Java tem um mar de projetos open source, que estão lá, esperando por usuários e desenvolvedores.

Java tem o apoio, a participação e o patrocínio das maiores organiza´ões e empresas de tecnologia do Mundo: Oracle, Sun Microsystems, IBM, Nokia Corporation, Hewlett-Packard, Borland Software Corporation, Apache Software Foundation, SAP AG, SavaJe Tenologies, Apple Computer Inc, Cisco Systems, Fujitsu Limited, Macromedia Inc, Rational Software, Unisys, America Online, Hitachi LTDA, Mitsubishi Eletric Corp, NEC, Sony Internacional, Sharp, Ericsson Inc, Matsushita Eletric, Motorola, Samsung Eletronics, Siemens AG, Symbian, Novell, PalmSource Inc, BEA Systems, Object People e muitas outras.

1.2 Um pouco de história

A tecnologia Java come´ou a ser criada em 1991 com o nome de Green Project. O projeto era esperado como a próxima gera´ão de software embarcado. Nele trabalhavam James Grosling, Mike Sheridan e Patrik Naughton. Em 1992 surge a linguagem ? Oak ? a primeira máquina virtual implementada. Várias tentativas de negócio foram feitas para vender o ? Oak ? mas nenhuma com sucesso.

Em 1994 surge a internet, a Sun vê uma nova possibilidade para o Green Project e cria uma linguagem para construir aplicativos Web baseada na Oak, a Java. Em 23 de maio de 1995 a linguagem Java é oficialmente lan´ada na SunWorld Expo 95 com a versão JDK 1.0 alpha. A Netscape aposta na idéia e inicia a implementa´ão de interpretadores Java em seu navegador, possibilitando a cria´ão de Java applets. A partir desta etapa o Java come´a a crescer muito.

Em 1997 é lançado a prova da maturidade da tecnolo

De 1998 até hoje a tecnologia evoluiu muito possuindo um dos maiores repositórios de projetos livres do mundo, o java.net. Em 1999 surgiu a plataforma para desenvolvimento e distribui´ão corporativa batizado de Java 2 Enterprise Edition (J2EE) e a plataforma Java 2 Mobile Edition (J2ME) para dispositivos móveis, celulares, PDAs e outros aparelhos limitados.

Atualmente Java é uma das linguagens mais usadas e serve para qualquer tipo de aplicação, entre elas: web, desktop, servidores, mainframes, jogos, aplica´ões móveis, chips de identificação, etc.

Você sabia que seu cartão de crédito pode ter um JavaCard?

1.3 Máquina Virtual?

Java é multiplataforma. Quando um programa Java é compilado um código intermediário é gerado, chamado de bytecode. Este bytecode é interpretado pelas máquinas virtuais java (JVMs) para a maioria dos sistemas operacionais. A máquina virtual é a responsável por criar um ambiente multiplataforma, ou seja, se alguém construir um sistema operacional novo, basta criar uma máquina virtual java que traduza os bytecodes para código nativo e pronto! Todas as aplicações java estarão rodando sem problemas.

Entre outras funções, a máquina virtual java também é responsável por carregar de forma segura todas as classes do programa, verificar se os bytecodes aderem a especifica´ão JVM e se eles não violam a integridade e a seguran´a do sistema.

A figura 1.1 mostra como acontece a compila´ão e a execu´ão de um programa Java. De um código Java, que está em um arquivo. java, o compilador javac gera o bytecode: um arquivo. class. Após isso uma máquina virtual java executa o bytecode e roda o programa.

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]


Figura 1.1: Compilador e Interpretador Java

Como existe um programa traduzindo um código a cada execução do sistema, poderia-se dizer que Java sempre será mais lenta que as linguagens que geram código nativo do sistema operacional como Delphi, VB ou C + +. Isso era fato até 1996 quando a Sun criou o compilador Just-in-time (JIT) que analisa e retira códigos desnecessários aumentando consideravelmente a velocidade da execu´ão. Atualmente o Java é mais rápido que o próprio C em vários aspectos.

1.4 As três grandes edições

Java se divide em três grandes edições.

* Java 2 Standard Edition (J2SE): É a tecnologia Java para computadores pessoais, notebooks e arquiteturas com poder de processamento e memória consideráveis. Várias APIs acompanham esta versão e tantas outras podem ser baixadas opcionalmente no site da Sun. É com elas que a maioria das aplicações são construídas e executadas. O J2SE possui duas divisões:
o Java Development Kit (JDK) ou Standard Development Kit (SDK): um conjunto para desenvolvimento em Java e deveria ser instalado apenas pelos desenvolvedores por possuir ferramentas para tal tarefa.
o Java Runtime Edition JRE: uma versão mais leve da JDK pois é preparada para o ambiente de execução, ou seja, é esta versão que executará os sistemas construídos com a SDK.
* Java 2 Mobile Edition (J2ME): É a tecnologia Java para dispositivos móveis com limita´ões de memória ou processamento. Possui APIs bem simples e leves para economizar espaço, memória e processamento. São utilizadas para sistemas em celulares, palm tops, pocket pcs, smartphones, javacards e demais dispositivos. O J2ME se divide em dois grupos de bibliotecas. É dividida em dois grupos:
o Connected Limited Device Configuration (CLDC): Para celulares e smartphones, que são mais limitados
o Connected Device Configuration (CDC): Para Palmtops e Pocket pcs e alguns dispositívos mais poderosos.
* Java 2 Enterprise Edition (J2EE): É a tecnologia Java para aplicações corporativas que podem estar na internet ou não. Possui um grande número de APIs onde a segurança é a principal preocupação. É ideal para a construção de servidores de aplicação, integração de sistemas ou distribuição de serviços para terceiros.

Neste tutorial nós iremos estudar apenas a edi´ão J2SE para desenvolvimento de aplicações desktop comuns.

1.5 Java 2 Standard Edition

Podemos analisar na figura 1.2 toda a complexidade da arquitetura J2SE. Este gráfico, mostra todos os recursos que estão disponíveis, incluindo a separação entre JRE e JDK.

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]


Figura 1.2: Arquitetura J2SE

Umas da maiores e, talvez, mais usadas APIs da J2SE é a Swing. Swing é uma biblioteca de classes para a constru´ão de interfaces gráficas em ambiente desktop. Entre as classes existentes estão: Telas, botões, diálogos, mensagens, editores, entre outros. Esta biblioteca será vista logo após a linguagem java.

1.6 Instalação e Execução

O Java está disponível para download no site da Sun: [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] clicando em J2SE. Agora é só escolher a versão desejada, clicar em downloads e escolher o subgrupo desejado JDK para desenvolvedores ou JRE para usuários finais. Neste site também existe para download o NetBeans, que é uma ferramenta para desenvolvimento Java livre. Para os iniciantes a sugestão é baixar somente o JDK, sem o NetBeans e utilizar algum editor de texto para escrever seus programas. Quando não se usa a IDE o desenvolvedor é forçado a aprender muito mais.

Após escolher o grupo, a licen´a do Java é mostrada. Aceitando a licen´a da Sun, aparecerão as verões próprias para cada sistema operacional. Basta escolher o mais apropriado e aguardar o download. A instala´ão é simples, não é demorada e depende de cada sistema operacional. Geralmente, basta executar o arquivo baixado e seguir as instru´ões.

Após a instala´ão pode-se ir até um shell ou um prompt de comando e digitar java - version. O comando fará aparecer a versão da máquina virtual instalada. No diretório de instala´ão do Java encontra-se uma pasta bin e dentro dela existem várias ferramentas. Na tabela 1.1 Mostra a descrição de algumas delas.

Executável Nome Descri´ão

appletviewer Java Applet Viewer Visualizar applets sem navegador.

java Interpretador Java Executa programas java.

javac Compilador Java Compila programas java.

javadoc Documentador Gera documenta´ão pelos coment.

jar Compactador Compacta em um único arquivo.

javap Disassemblador Java Mostra o código de um. class.

jdb Java Debugger Debug de programas java.


Tabela 1.1: Ferramentas disponíveis para os desenvolvedores

Estas ferramentas são invocadas via linha de comando e são úteis quando queremos independência de ambiente de produção. Utilizando elas, o único recurso necessário é um editor de textos, como um Notepad, para desenvolver o código. Ainda no diretório de instala´ão do Java, encontra-se uma pasta docs onde estarão todos os documentos necessários para o desenvolvimento. Outros manuais e documenta´ão de APIs podem ser baixadas no site da Sun.

1.7 O compilador javac

O javac é um compilador de código fonte java com uma saída em bytecodes, os. class. É encontrado dentro da pasta bin da instalação. Para executá-lo, siga essas regras:

> javac [op´ões] [...]

Pode-se compilar um ou mais arquivos utilizando as características de cada sistema operacional, como:

> javac MinhaPrimeiraClasse.java
> javac MinhaPrimeira. *
> javac MeuProjeto

Uma série de op´ões que podem ser utilizadas são mostradas na tabela abaixo:

Op´ão e descri´ão

- classpath: Especifica o caminho para as classes / bibliotecas.
- cp: [caminho] Especifica o caminho para as classes / bibliotecas.
- d: [dir] Diretório para armazenar os arquivos compilados.
- source: Localiza´ão dos fontes para serem compilados.
- deprecation: Advertência para fun´ões que não devem ser utilizadas.
- g: Compila com tabelas de debug.
- nowarn: Desativa as mensagens de Warning.
- verbose: Mostra detalhes da compila´ão.
- depend: Compila todos os fontes, incluindo suas dependências.
- target: Especifica a versão da JVM que irá executar o programa.
- O: Otimiza´ão de código para gerar programas mais rápidos.
- version: Informa a versão do javac.
- help: Pequena ajuda com lista de opções.
- X: Op´ões avan´adas de compilação.
- J: Passa um parâmetro fixo para o interpretador.

1.8 O interpretador java

O aplicativo java, encontrado na pasta bin da instala´ão, executa aplicações java compiladas (bytecodes). Para utilizá-lo, siga as instru´ões:

java [opções] [argumentos de entrada do programa] java [opções] - jar [argumentos de entrada do programa]

Exemplo:



> java MinhaPrimeiraClasse
> java - jar MeuPrimeiroJar

As op´ões possíveis são listadas na tabela abaixo

Op´ão Descri´ão

- classpath: Especifica o caminho para as classes / bibliotecas.
- cp: Especifica o caminho para as classes / bibliotecas.
- verbose: Mostra detalhes da compila´ão.
- version: Informa a versão do javac.
- help: Pequena ajuda com lista de op´ões.
- X: Op´ões avan´adas de interpreta´ão.
- Xdebug: Permite o uso do depurador.
- D =: Defini´ão de propriedades com a chave nome = valor.

O interpretador javaw é utilizado opcionalmente em programas gráficos. O java cria uma janela de comandos a cada execu´ão do programa, já o javaw não. Para executar uma applet usa-se o utilitário appletviewer, também encontrado na pasta bin da instala´ão do java. Neste caso, não é necessário um navegador para a visualiza´ão.

2 O que é Java?

Come´amos nesta se´ão a colocar a mão na massa desenvolvendo código, compilando, executando e testando.

A linguagem Java possui um princípio: ? Mantenha-na simples, pois o que é complexo é difícil de construir, testar, depurar, aprimorar e explicar. ? Visando continuar com este princípio, no código 2 está um pequeno e simples exemplo muito conhecido em todas as linguagens. O Olá Mundo! feito em linguagem Java.

// Olá mundo em java.
// Arquivo BemVindo.java.
public class BemVindo {
public static void main(String[] args) {
System.out.println("Olá Mundo!");
}
}

Este código deve ser salvo em um arquivo com o nome BemVindo.java e em seguida deve-se executar: javac BemVindo.java estando na pasta que contém o arquivo. Este comando irá gerar um BemVindo.class que é o ? executável ? do java. Para rodar o programa, basta digitar: java BemVindo. Será impresso na tela do prompt o texto: Olá Mundo!.

Todo código fonte em Java deve ser salvo com a extensão. java. O compilador irá gerar no mínimo um. class para cada. java existente.

Este código não é muito diferente de um código em linguagem C, isto acontece porque a linguagem Java foi criada com base na linguagem C possuindo quase todas as palavras reservadas dela e um conceito que deixa muitos desenvolvedores descontentes: o case-sensitive. Isso mesmo, Java é case-sensitive, portanto maiúsculas são diferentes de minúsculas, ? a ? é diferente de ? A ?.

Ao contrário do C, Java é fortemente tipada, tanto que não existe nenhum tipo de variável primitiva indefinido como o variant do Delphi e não possui ponteiros. Java não possui heran´a múltipla de classes, diretivas de pré-compila´ão, modelos (Templates) e nem fun´ões sem classes. A semântica de orienta´ão a objetos é do SmallTalk, uma famosa e antiga linguagem totalmente orientada a objetos.

No java, os comandos são terminados com o sinal de ponto e vírgula ?; ? e os blocos de código tem inicio e tem o seu fim representados pelo uso das chaves ? {? e ?} ? respectivamente. Não existe restri´ão com espa´os em branco, com tabula´ão ou nova linha, ficando a cargo do desenvolvedor definir o formato do código fonte.

2.1 Explicando o Olá Mundo!

Iniciaremos pela linha 3, public class BemVindo onde existe uma defini´ão de classe. Cada arquivo java tem, pelo menos, uma classe definida e uma classe pública. O nome da classe pública deve ser o mesmo do nome do arquivo, considerando a propriedade case-sensitive da linguagem. Mais a frente será tratado a visibilidade dos identificadores. Por conven´ão todo a nome de classe deve iniciar com uma letra em maiúscula e a cada nova palavra a primeira letra também deve ser maiúscula, como no exemplo.

Na linha 4, public static void main (String [] args) existe a defini´ão de um método. Este método é essencial para todo o programa java. O método main é o que será chamado para iniciar a execu´ão da aplica´ão, é o início de tudo. Este método deve ser público public, estático static, sem retorno (void) e deve possuir um array de cadeia de caracteres String [] como parâmetro. Nesta cadeia de caracteres é que virá os argumentos / parâmetros da aplica´ão. Todos esses conceitos serão vistos mais adiante.

A linguagem Java diferencia os métodos dos atributos pelo uso dos parênteses (e). Nela todos os métodos, sem exce´ão, usam parênteses tanto na defini´ão quanto no uso, mesmo aqueles que não possuem parâmetros.

Na linha 5, System.out.println (" Olá Mundo! "); existe uma chamada de método. É a primeira e a última linha de código que será executada pelo interpretador Java. System é uma classe que mantém uma série de configura´ões sobre o sistema que a máquina virtual está executando. Uma dessas configura´ões é o atributo público out, que define o local onde está a saída padrão. O atributo out é uma variável de escrita da classe PrintStream que possui o método println (). Este método é quem irá enviar a mensagem Olá Mundo! para o prompt ou shell exibir.

2.2 Comentários e documenta´ão

Analisando o código, pode-se constatar que a linha 1 e a linha 2 possuem os caracteres //

Código:

 o que significa que são comentários de programa. Este é o comentário de linha e tudo que estiver depois da // não será compilado. Para fazer um comentário com mais de uma linha, o comentário de bloco, utiliza-se a constru´ão /* e */. Os caracteres /* abrem um bloco de comentário e */ fecham o bloco. Por exemplo:

Código:

/* Este é um comentário de bloco para o programa
BemVindo.java que apresentará a mensagem Olá
Mundo! para quem o executar. */

Este tipo de comentário pode-se estender por muitas linhas, quantas o programador achar necessário. Mas não abuse, comentário demais também complica o sistema. As duas maneiras de comentário acima são herdadas das características da linguagem C. Mas a linguagem Java não foi só cópia, ela inventou o conceito de comentário de documenta´ão. Este comentário é específico para quem precisa saber o que o fonte faz sem ver o código, ou seja, é um comentário para documentos. Este tipo de comentário é semelhante ao comentário de bloco, mas abre o bloco com um asterisco a mais: /** e fecha com o mesmo */. Exemplo:

Código:

/**
Esta classe chamada de BemVindo é simplesmente
um Olá Mundo! da linguagem Java.
@author Vitor Fernando Pamplona
@since 15/01/2005
*/
public class BemVindo {
public static void main(String[] args) {
System.out.println("Olá Mundo!");
}
}

Este tipo de comentário não é compilado pelo javac, mas é considerado por uma outra aplica´ão, o javadoc que está dentro da pasta bin da instala´ão do java. O javadoc copia os comentários e compila determinadas tags gerando várias páginas HTML como a figura abaixo. O comentário de documenta´ão deve ser sempre adicionado acima do ítem que se deseja comentar, escrevendo primeiramente o seu texto e após adicionando as tags como no exemplo de código 2.2.

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

Figura 2.1: HTML gerado do exemplo de código 2.2

Como são geradas páginas HTML o desenvolvedor pode adicionar códigos HTML a vontade na documenta´ão, pois elas serão copiadas e farão o seu papel no arquivo HTML gerado. O JavaDoc compila somente as tags de documenta´ão, iniciadas pela ? @ ?, para melhorar o visual e padronizar a documenta´ão. Entre as tags mais freqüentes estão:

Nome Descri´ão

@ author: Atribui uma classe ou método a um autor.
@ since: Data da escrita do código
@ version: Versão de determinada classe ou método
@ see: Indica´ão de ? Leia Mais ?
@ param: Parametro de um método
@ return: Retorno de um método
@ throws: Possíveis exce´ões lan´adas que veremos mais a seguir
@ deprecated: Componente deve ser removido nas próximas versões

2.3 Conven´ão da linguagem

Na linguagem Java é utilizada a seguinte conven´ão para forma´ão de identificadores:

* Constantes com todas as letras em maiúsculo: CONSTANTE
* Variáveis come´am com letra minúscula: variável
* Classes come´am com letra maiúscula: Classe
* Se o nome for composto, cada nome come´a com letra maiúscula: variávelComNomeComposto

Esta é a famosa linguagem Java e esta foi a primeira parte do tutorial. Em seguida, veremos algumas das características da linguagem java .

No tópigo tem uns spam que eu não sei como foi parar ai mas os ´ (acentos) São ç !!!


Creditos - Heatlex.


O texto e grande mais vale apena ler tudo

Leiam seus Preguicentos