Anda di halaman 1dari 9

TUTORIAL JAVA

Java uma tecnologia. um mundo to grande que ningum se arrisca a dizer: ? Eu sei Java ?. Basicamente constitui-se de uma linguagem de programao e um programa para execuo chamado de mquina virtual ou virtual machine. Quando programa-se em Java usa-se a linguagem de programao Java e um ambiente de desenvolvimento Java para gerar um software que ser executado em um ambiente de distribuio Java. Tudo isso a tecnologia Java. 1.1 O que pode ser feito em Java? TUDO! Java uma linguagem que no se prende a nenhuma arquitetura e a nenhuma empresa, rpida e estvel. Pode construir sistemas crticos, sistemas que precisam de velocidade e at sistemas que vo para fora do planeta, como a sonda Spirit enviada pela Nasa para Marte. Java tem um mar de projetos open source, que esto l, esperando por usurios e desenvolvedores. Java tem o apoio, a participao e o patrocnio das maiores organizaes e empresas de tecnologia do Mundo: Oracle, Sun Microsystems, IBM, Nokia Corporation, HewlettPackard, 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 histria A tecnologia Java comeou a ser criada em 1991 com o nome de Green Project. O projeto era esperado como a prxima gerao de software embarcado. Nele trabalhavam James Grosling, Mike Sheridan e Patrik Naughton. Em 1992 surge a linguagem ? Oak ? a primeira mquina virtual implementada. Vrias tentativas de negcio 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 lanada na SunWorld Expo 95 com a verso JDK 1.0 alpha. A Netscape aposta na idia e inicia a implementao de interpretadores Java em seu navegador, possibilitando a criao de Java applets. A partir desta etapa o Java comea a crescer muito. Em 1997 lanado a prova da maturidade da tecnolo De 1998 at hoje a tecnologia evoluiu muito possuindo um dos maiores repositrios de projetos livres do mundo, o java.net. Em 1999 surgiu a plataforma para desenvolvimento e distribuio corporativa batizado de Java 2 Enterprise Edition (J2EE) e a plataforma Java 2 Mobile Edition (J2ME) para dispositivos mveis, celulares, PDAs e outros aparelhos limitados. Atualmente Java uma das linguagens mais usadas e serve para qualquer tipo de aplicao, entre elas: web, desktop, servidores, mainframes, jogos, aplicaes mveis, chips de identificao, etc. Voc sabia que seu carto de crdito pode ter um JavaCard?

1.3 Mquina Virtual? Java multiplataforma. Quando um programa Java compilado um cdigo intermedirio gerado, chamado de bytecode. Este bytecode interpretado pelas mquinas virtuais java (JVMs) para a maioria dos sistemas operacionais. A mquina virtual a responsvel por criar um ambiente multiplataforma, ou seja, se algum construir um sistema operacional novo, basta criar uma mquina virtual java que traduza os bytecodes para cdigo nativo e pronto! Todas as aplicaes java estaro rodando sem problemas. Entre outras funes, a mquina virtual java tambm responsvel por carregar de forma segura todas as classes do programa, verificar se os bytecodes aderem a especificao JVM e se eles no violam a integridade e a segurana do sistema. A figura 1.1 mostra como acontece a compilao e a execuo de um programa Java. De um cdigo Java, que est em um arquivo. java, o compilador javac gera o bytecode: um arquivo. class. Aps isso uma mquina virtual java executa o bytecode e roda o programa.

Figura 1.1: Compilador e Interpretador Java Como existe um programa traduzindo um cdigo a cada execuo do sistema, poderiase dizer que Java sempre ser mais lenta que as linguagens que geram cdigo 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 cdigos desnecessrios aumentando consideravelmente a velocidade da execuo. Atualmente o Java mais rpido que o prprio C em vrios aspectos. 1.4 As trs grandes edies Java se divide em trs grandes edies. * Java 2 Standard Edition (J2SE): a tecnologia Java para computadores pessoais, notebooks e arquiteturas com poder de processamento e memria considerveis. Vrias APIs acompanham esta verso e tantas outras podem ser baixadas opcionalmente no site da Sun. com elas que a maioria das aplicaes so construdas e executadas. O J2SE possui duas divises: 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 verso mais leve da JDK pois preparada para o ambiente de execuo, ou seja, esta verso que executar os sistemas construdos com a SDK.

* Java 2 Mobile Edition (J2ME): a tecnologia Java para dispositivos mveis com limitaes de memria ou processamento. Possui APIs bem simples e leves para economizar espao, memria e processamento. So 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 so mais limitados o Connected Device Configuration (CDC): Para Palmtops e Pocket pcs e alguns dispositvos mais poderosos. * Java 2 Enterprise Edition (J2EE): a tecnologia Java para aplicaes corporativas que podem estar na internet ou no. Possui um grande nmero de APIs onde a segurana a principal preocupao. ideal para a construo de servidores de aplicao, integrao de sistemas ou distribuio de servios para terceiros. Neste tutorial ns iremos estudar apenas a edio J2SE para desenvolvimento de aplicaes desktop comuns. 1.5 Java 2 Standard Edition Podemos analisar na figura 1.2 toda a complexidade da arquitetura J2SE. Este grfico, mostra todos os recursos que esto disponveis, incluindo a separao entre JRE e JDK.

Figura 1.2: Arquitetura J2SE Umas da maiores e, talvez, mais usadas APIs da J2SE a Swing. Swing uma biblioteca de classes para a construo de interfaces grficas em ambiente desktop. Entre as classes existentes esto: Telas, botes, dilogos, mensagens, editores, entre outros. Esta biblioteca ser vista logo aps a linguagem java. 1.6 Instalao e Execuo O Java est disponvel para download no site da Sun: http://java.sun.com/ clicando em J2SE. Agora s escolher a verso desejada, clicar em downloads e escolher o subgrupo desejado JDK para desenvolvedores ou JRE para usurios finais. Neste site tambm existe para download o NetBeans, que uma ferramenta para desenvolvimento Java livre. Para os iniciantes a sugesto baixar somente o JDK, sem o NetBeans e utilizar algum editor de texto para escrever seus programas. Quando no se usa a IDE o desenvolvedor forado a aprender muito mais.

Aps escolher o grupo, a licena do Java mostrada. Aceitando a licena da Sun, aparecero as veres prprias para cada sistema operacional. Basta escolher o mais apropriado e aguardar o download. A instalao simples, no demorada e depende de cada sistema operacional. Geralmente, basta executar o arquivo baixado e seguir as instrues. Aps a instalao pode-se ir at um shell ou um prompt de comando e digitar java version. O comando far aparecer a verso da mquina virtual instalada. No diretrio de instalao do Java encontra-se uma pasta bin e dentro dela existem vrias ferramentas. Na tabela 1.1 Mostra a descrio de algumas delas. 1. Executvel Nome Descrio 2. 3. appletviewer Java Applet Viewer Visualizar applets sem navegador. 4. 5. java Interpretador Java Executa programas java. 6. 7. javac Compilador Java Compila programas java. 8. 9. javadoc Documentador Gera documentao pelos coment. 10. 11. jar Compactador Compacta em um nico arquivo. 12. 13. javap Disassemblador Java Mostra o cdigo de um. class. 14. 15. jdb Java Debugger Debug de programas java.

Tabela 1.1: Ferramentas disponveis para os desenvolvedores

stas ferramentas so invocadas via linha de comando e so teis quando queremos independncia de ambiente de produo. Utilizando elas, o nico recurso necessrio um editor de textos, como um Notepad, para desenvolver o cdigo. Ainda no diretrio de instalao do Java, encontra-se uma pasta docs onde estaro todos os documentos necessrios para o desenvolvimento. Outros manuais e documentao de APIs podem ser baixadas no site da Sun. 1.7 O compilador javac O javac um compilador de cdigo fonte java com uma sada em bytecodes, os. class. encontrado dentro da pasta bin da instalao. Para execut-lo, siga essas regras: 1. > javac [opes] [...]

Pode-se compilar um ou mais arquivos utilizando as caractersticas de cada sistema operacional, como: 1. > javac MinhaPrimeiraClasse.java 2. > javac MinhaPrimeira. * 3. > javac MeuProjeto

Uma srie de opes que podem ser utilizadas so mostradas na tabela abaixo:

- classpath: Especifica o caminho para as classes / bibliotecas. - cp: [caminho] Especifica o caminho para as classes / bibliotecas. - d: [dir] Diretrio para armazenar os arquivos compilados. - source: Localizao dos fontes para serem compilados. - deprecation: Advertncia para funes que no devem ser utilizadas. - g: Compila com tabelas de debug. - nowarn: Desativa as mensagens de Warning. - verbose: Mostra detalhes da compilao. - depend: Compila todos os fontes, incluindo suas dependncias. - target: Especifica a verso da JVM que ir executar o programa. - O: Otimizao de cdigo para gerar programas mais rpidos. - version: Informa a verso do javac. - help: Pequena ajuda com lista de opes. - X: Opes avanadas de compilao. - J: Passa um parmetro fixo para o interpretador.

1.8 O interpretador java O aplicativo java, encontrado na pasta bin da instalao, executa aplicaes java compiladas (bytecodes). Para utiliz-lo, siga as instrues: 1. java [opes] [argumentos de entrada do programa] java [opes] jar [argumentos de entrada do programa]

Exemplo: 1. > java MinhaPrimeiraClasse 2. > java - jar MeuPrimeiroJar

As opes possveis so listadas na tabela abaixo Opo Descrio

- classpath: Especifica o caminho para as classes / bibliotecas. - cp: Especifica o caminho para as classes / bibliotecas. - verbose: Mostra detalhes da compilao. - version: Informa a verso do javac. - help: Pequena ajuda com lista de opes. - X: Opes avanadas de interpretao. - Xdebug: Permite o uso do depurador. - D =: Definio de propriedades com a chave nome = valor.

O interpretador javaw utilizado opcionalmente em programas grficos. O java cria uma janela de comandos a cada execuo do programa, j o javaw no. Para executar uma applet usa-se o utilitrio appletviewer, tambm encontrado na pasta bin da instalao do java. Neste caso, no necessrio um navegador para a visualizao. 2 O que Java? Comeamos nesta seo a colocar a mo na massa desenvolvendo cdigo, compilando, executando e testando. A linguagem Java possui um princpio: ? Mantenha-na simples, pois o que complexo difcil de construir, testar, depurar, aprimorar e explicar. ? Visando continuar com este princpio, no cdigo 2 est um pequeno e simples exemplo muito conhecido em todas as linguagens. O Ol Mundo! feito em linguagem Java. 1. 2. 3. 4. 5. 6. 7. // Ol mundo em java. // Arquivo BemVindo.java. public class BemVindo { public static void main(String[] args) { System.out.println("Ol Mundo!"); } }

Este cdigo deve ser salvo em um arquivo com o nome BemVindo.java e em seguida deve-se executar: javac BemVindo.java estando na pasta que contm o arquivo. Este comando ir gerar um BemVindo.class que o ? executvel ? do java. Para rodar o programa, basta digitar: java BemVindo. Ser impresso na tela do prompt o texto: Ol Mundo!. Todo cdigo fonte em Java deve ser salvo com a extenso. java. O compilador ir gerar no mnimo um. class para cada. java existente. Este cdigo no muito diferente de um cdigo 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 maisculas so diferentes de minsculas, ? a ? diferente de ? A ?. Ao contrrio do C, Java fortemente tipada, tanto que no existe nenhum tipo de varivel primitiva indefinido como o variant do Delphi e no possui ponteiros. Java no possui herana mltipla de classes, diretivas de pr-compilao, modelos (Templates) e nem funes sem classes. A semntica de orientao a objetos do SmallTalk, uma famosa e antiga linguagem totalmente orientada a objetos. No java, os comandos so terminados com o sinal de ponto e vrgula ?; ? e os blocos de cdigo tem inicio e tem o seu fim representados pelo uso das chaves ? {? e ?} ? respectivamente. No existe restrio com espaos em branco, com tabulao ou nova linha, ficando a cargo do desenvolvedor definir o formato do cdigo fonte.

2.1 Explicando o Ol Mundo! Iniciaremos pela linha 3, public class BemVindo onde existe uma definio de classe. Cada arquivo java tem, pelo menos, uma classe definida e uma classe pblica. O nome da classe pblica 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 conveno todo a nome de classe deve iniciar com uma letra em maiscula e a cada nova palavra a primeira letra tambm deve ser maiscula, como no exemplo. Na linha 4, public static void main (String [] args) existe a definio de um mtodo. Este mtodo essencial para todo o programa java. O mtodo main o que ser chamado para iniciar a execuo da aplicao, o incio de tudo. Este mtodo deve ser pblico public, esttico static, sem retorno (void) e deve possuir um array de cadeia de caracteres String [] como parmetro. Nesta cadeia de caracteres que vir os argumentos / parmetros da aplicao. Todos esses conceitos sero vistos mais adiante. A linguagem Java diferencia os mtodos dos atributos pelo uso dos parnteses (e). Nela todos os mtodos, sem exceo, usam parnteses tanto na definio quanto no uso, mesmo aqueles que no possuem parmetros. Na linha 5, System.out.println (" Ol Mundo! "); existe uma chamada de mtodo. a primeira e a ltima linha de cdigo que ser executada pelo interpretador Java. System uma classe que mantm uma srie de configuraes sobre o sistema que a mquina virtual est executando. Uma dessas configuraes o atributo pblico out, que define o local onde est a sada padro. O atributo out uma varivel de escrita da classe PrintStream que possui o mtodo println (). Este mtodo quem ir enviar a mensagem Ol Mundo! para o prompt ou shell exibir. 2.2 Comentrios e documentao Analisando o cdigo, pode-se constatar que a linha 1 e a linha 2 possuem os caracteres // o que significa que so comentrios de programa. Este o comentrio de linha e tudo que estiver depois da // no ser compilado. Para fazer um comentrio com mais de uma linha, o comentrio de bloco, utiliza-se a construo /* e */. Os caracteres /* abrem um bloco de comentrio e */ fecham o bloco. Por exemplo: 1. /* Este um comentrio de bloco para o programa 2. BemVindo.java que apresentar a mensagem Ol 3. Mundo! para quem o executar. */

Este tipo de comentrio pode-se estender por muitas linhas, quantas o programador achar necessrio. Mas no abuse, comentrio demais tambm complica o sistema. As duas maneiras de comentrio acima so herdadas das caractersticas da linguagem C. Mas a linguagem Java no foi s cpia, ela inventou o conceito de comentrio de documentao. Este comentrio especfico para quem precisa saber o que o fonte faz sem ver o cdigo, ou seja, um comentrio para documentos. Este tipo de comentrio semelhante ao comentrio de bloco, mas abre o bloco com um asterisco a mais: /** e fecha com o mesmo */. Exemplo: 1. /** 2. Esta classe chamada de BemVindo simplesmente

3. um Ol Mundo! da linguagem Java. 4. @author Vitor Fernando Pamplona 5. @since 15/01/2005 6. */ 7. public class BemVindo { 8. public static void main(String[] args) { 9. System.out.println("Ol Mundo!"); 10. } } Este tipo de comentrio no compilado pelo javac, mas considerado por uma outra aplicao, o javadoc que est dentro da pasta bin da instalao do java. O javadoc copia os comentrios e compila determinadas tags gerando vrias pginas HTML como a figura abaixo. O comentrio de documentao deve ser sempre adicionado acima do tem que se deseja comentar, escrevendo primeiramente o seu texto e aps adicionando as tags como no exemplo de cdigo 2.2.

Figura 2.1: HTML gerado do exemplo de cdigo 2.2 Como so geradas pginas HTML o desenvolvedor pode adicionar cdigos HTML a vontade na documentao, pois elas sero copiadas e faro o seu papel no arquivo HTML gerado. O JavaDoc compila somente as tags de documentao, iniciadas pela ? @ ?, para melhorar o visual e padronizar a documentao. Entre as tags mais freqentes esto: Nome Descrio

@ author: Atribui uma classe ou mtodo a um autor. @ since: Data da escrita do cdigo @ version: Verso de determinada classe ou mtodo @ see: Indicao de ? Leia Mais ? @ param: Parametro de um mtodo @ return: Retorno de um mtodo

@ throws: Possveis excees lanadas que veremos mais a seguir @ deprecated: Componente deve ser removido nas prximas verses

2.3 Conveno da linguagem Na linguagem Java utilizada a seguinte conveno para formao de identificadores:

Constantes com todas as letras em maisculo: CONSTANTE Variveis comeam com letra minscula: varivel Classes comeam com letra maiscula: Classe Se o nome for composto, cada nome comea com letra maiscula: varivelComNomeComposto

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

Leia tambm: O que Java? Caractersticas Bsicas Orientao a Objetos

Tutoriais para Certificao Java Fundamentos da Linguagem Modificadores Operadores e atribuies Controle de Fluxo Orientao a Objetos Java Lang e Wrappers Objetos e Conjuntos Classes Internas Threads (Segmentos) Read more: http://javafree.uol.com.br/artigo/871498/Tutorial-Java-O-que-eJava.html#ixzz2LFN7c05X