Você está na página 1de 30

Java Programming Language Linguagem de Programao JAVA Prof.

Newton Gomes

Java Programming Language Linguagem de Programao JAVA


The Java Programming Language was developed by Sun Microsystems in 1991. Desenvolvida por engenheiros da Sun, 1991-1995, para ser usada em dispositivos eletrnicos (geladeiras, tvs, fornos, videocassetes etc) Java originou-se como parte de um projeto de pesquisa que visava a criao de um software avanado que atendesse a uma extensa variedade de maquinrio de redes e sistemas embutidos. O Projeto Green tinha como misso desenvolver aplicativos complexos e avanados para aplicao em pequenos dispositivos eletrnicos. Esses dispositivos so sistemas portveis, distribudos, confiveis e incorporados em tempo real, dirigidos aos consumidores em geral. O objetivo inicial era desenvolver um ambiente operacional pequeno, confivel, portvel, distribudo e que operasse em tempo real. A primeira tentativa da Sun com esse aplicativos deveria ter sido implementada em C++. Em consequncia de uma lista cada vez maior de problemas com o C++, principalmente vazamentos de memria e vrios problemas de herana, a Sun enterrou o C++ e implementou uma nova linguagem, o Java. As decises de arquitetura e desenho da linguagem foram inspiradas em linguagens como Eiffel, SmallTalk, Objective C, Modula-3, etc.. Muitas das caractersticas desta linguagem no so totalmente novas. Java uma feliz unio de tecnologias testadas por vrios centros de pesquisa e desenvolvimento de software. A sintaxe tem suas razes claramente definidas em C e C++. Java foi projetada para atender a vrios requisitos desejveis em uma LP, como por exemplo, confiabilidade, devido ao seu gerenciamento de memria, o que resulta em um ganho de eficincia; redigibilidade, por eliminar alguns conceitos de C e C++ que dificultavam nesse sentido, reuso de cdigo entre outros. O Java ao mesmo tempo um ambiente e uma poderosa linguagem de programao.
JAVA Programming Language Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

Trata-se de mais uma representante da nova gerao de linguagens orientadas a objetos e foi projetado para resolver os problemas da rea de programao cliente-servidor. Em 1993, a Sun noticiou que a Internet estava ganhando popularidade e comeou a desenvolver Java para rodar nos browsers da Web. Hoje Java a linguagem que mais se fortalece com a internet, pois uma linguagem simples, orientada a objetos, distribuda, interpretada, robusta, segura, independente de arquitetura, portvel, de alto desempenho multitarefa e dinmica. Java poderia ser descrita como uma linguagem com toda a potencialidade do C++, porm sem a complexidade dos ponteiros que nela existem, mais simples e com maior segurana. A meta de Java uma linguagem que seja completamente portvel, rodando corretamente em cada computador que a descarregar. A maioria das linguagens possui algumas ambigidades em suas especificaes. Por exemplo, um compilador C++ pode implementar um tipo de dado int como sendo um nmero binrio de 16, 32 ou 64 bits, dependendo da mquina anfitri. Esta ambigidade causa problemas de portabilidade entre os software, uma vez que o Java define um int como sendo de 32 bits em todas as plataformas. Assim com a especificao da linguagem completa, outras fontes de ambigidades encontradas em tipos de dados, avaliao da expresso e sintaxe foram resolvidas. Os primeiros objetivos alcanados com desenvolvimento desta nova linguagem foram: Criao de uma linguagem orientada a objetos; Velocidade no desenvolvimento - eliminando o ciclo de compilar-linkar-carregar-testar; Portabilidade do Cdigo - com um interpretador que especifica a forma do nvel do sistema operacional, podendo rodar em qualquer tipo de sistema operacional; No tem acesso a ponteiros do sistema operacional; Fornece dinamismo durante a manuteno de programas;

Portabilidade de Java
Quando se utiliza a maioria das linguagens de programao, precisa-se decidir qual o processador e qual o sistema operacional que usar para processar o programa, pois sempre incluem chamadas de funes especficas para uma biblioteca associada ao sistema operacional da plataforma especfica. Quando o programa est pronto para ser testado, voc envia-se o cdigo-fonte para um compilador que o transforma em um conjunto de instrues nativas para qualquer processador que a sua mquina utiliza.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

Neste caso o produto final um arquivo executvel de instrues binrias nativas. Vejamos a seguir por que Java ento escolhida por grande parte dos programadores de redes e sistemas de comunicao. Imagine o cenrio abaixo representando uma rede de comunicao com diferentes computadores, plataformas e sistemas operacionais:

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

Imagine ainda que todos estes computadores esto em uma mesma sala, conectados por uma LAN Local Area Network, ou ento localizados em diferentes cidades, ou mesmo em mais de um continente do mundo, conectados via Internet. O ponto principal que todos os computadores esto executando diferentes Sistemas Operacionais (AIX, Windows NT, etc.) e em diferentes plataformas de hardware (PowerPC, Pentium II, etc.) Suponha agora que se deseja escrever um programa na estao IBM e que o mesmo programa possa ser executado em todos os computadores conectados na rede. Para resolver este problema, a linguagem Java prov em sua implementao um compilador e um sistema de execuo chamado Java Virtual Machine (JVM) ou Mquina Virtual Java para cada sistema (computador). O compilador Java (javac) traduz o cdigo fonte para uma linguagem intermediria chamada bytecodes ou cdigo de bytes. E ento a JVM converte o bytecode compilado para a linguagem de mquina prpria do sistema e ento executa o resultado. Vejamos a seguir.

Como mostrado, como origem tem-se trs arquivos na estao IBM: O cdigo fontes em Java chamado Hi.Java O compilador javac O bytecode chamado Hi.class

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

Com Java ento diferente da maioria das linguagens, uma vez que o arquivo de classe contm bytecodes para a JVM, tendo assim que executar uma implementao da JVM para processar o programa. O Software Development Kit (SDK) da Sun inclui um interpretador chamado simplesmente java que implementa a JVM. O compilador Java no gera instrues nativas. Ao invs disso, escreve bytecodes para uma mquina que na verdade no existe, a Mquina Virtual Java Java Virtual Machine (JVM). O compilador Java gera arquivos de bytecodes instrues para a Java Virtual Machine. Assim tem-se implementao da JVM para quase todo tipo de computador e sistema operacional e assim esses arquivos de bytecodes so compatveis com quaisquer aplicaes em outras plataformas.

JVM de fcil portabilidade de uma mquina para outra, por isso voc pode esperar que qualquer processador novo ou sistema operacional venham a ter brevemente uma implementao de JVM. A arquitetura do Java no nem radical nem especialmente nova. Os aplicativos em Java so compilados em um cdigo de bytes independente de arquitetura. Esse cdigo de bytes pode ento ser executado em qualquer plataforma que suporte um interpretador Java. O Java requer somente uma fonte e um binrio e, mesmo assim, capaz de funcionar em diversas plataformas, o que faz dele um sonho de todos os que realizam manuteno em programas.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

Muitos Web Browsers (Netscapes Communicator, Microsofts Internet Explorer, etc.) trazem embutidos uma implementao da JVM, e assim quando se carrega uma pgina que inclui cdigo de instrues em Java, o browser habilita automaticamente a JVM, e aps carregado o cdigo, executa-o. O sistema de implementao da JVM um intrprtador, e isto significa qu a traduo e xecuo das instrus do bytecode so realizadas ao memo tempo. Este fato representa a possibilidade de uma execuo mais lenta que um cdigo executvel nativo. A linguagem Java tambm prov uma forma de compilao completa para cdigo nativo de cada sistema independente, gerando uma execuo mais rpida. Estes compiladores so chamados de Just-In-Time (JIT). Alguns web browsers podem trazer embutidos tambm estes compiladores JIT. Os programas Java vm na forma de applets que so carregados em um browser Web capacitado para Java. O termo applet vem da marca <applet> que aparece em um documento HTML, que diz ao browser para descarregar o cdigo Java apropriado. Os arquivos fonte do Java so compilados em arquivos .CLASS que possuem cdigo portvel. Mquinas cliente, como browsers Web, rodam o cdigo Java usando um interpretador ou emulador de mquina virtual. O lado do cliente deve ficar ainda mais interessante com a utilizao de um compilador just-in-time, que ir converter o cdigo Java verificado em cdigo nativo enquanto a mquina carrega. Isso ir aumentar bastante o desempenho do applet.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

O que torna Java diferente de outras linguagens ?


Independncia de plataforma Portabilidade total (ideal para internet) Sintaxe similar a C++ Completamente Orientada a Objetos Possui gerenciamento automtico de memria Possui arrays verdadeiros e no apresenta aritmtica de ponteiros No possui herana mltipla mas a substitui pela nova noo de interface Possibilidade de criao de pginas Web interativas Processa concomitantemente com outras aplicaes, com as capacidades de cliente/servidor Verses: 1, 1.02, 1.1 e 1.2 (ou Java 2), 1.3

Caractersticas da linguagem Java


A documentao de Java fornecida pela Sun utiliza algumas palavras para definir a linguagem. Java uma linguagem definida como: Simples Orientada a objetos Robusta Segura Arquitetura neutra Portvel Interpretada Alta performance Dinmica Suporte a concorrncia Suporte a ambiente distribudo O Java ento um C++ com as seguintes diferenas bsicas: No tem ponteiros, que alm de serem difceis de usar poderiam comprometer seriamente a segurana Gerencia memria automaticamente ("garbage collection") S tem herana simples No permite sobrecarga de operadores e converses automticas Tem um tipo lgico Possui um conceito de "mdulo" bastante forte Inclui rotinas para interagir com os protocolos da Internet, como TCP/IP, HTTP e FTP Suporta multihread (mltiplas "linhas" de execuo em um mesmo aplicativo). Java case sensitive O cdigo Java um conjunto de classes
JAVA Programming Language Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

1) Simples
Uma caracterstica marcante de Java a simplicidade da linguagem, que pode ser programada sem um treinamento intenso, ou larga experincia anterior. Java se esfora por no ter recursos surpreendentes - os mtodos para realizar qualquer tarefa so claros e em nmero reduzido. Java foi criada to unida quanto possvel a C++ para se criar sistemas mais compreensveis. Um dos principais objetivos do projeto do Java foi criar uma linguagem o mais prxima possvel do C++, para garantir sua rpida aceitao no mundo do desenvolvimento OO. Java omite muitos termos pouco usados e operaes confusas em C++ que trazem mais complicaes que benefcios. A verso Java na verdade uma verso mais limpa de C++. Nela no h ponteiros aritmticos, estruturas, unies, sobrecarga de operadores, classes bsicas virtuais e etc. Ao mesmo tempo que, uma linguagem simples, existem aspectos sutis na construo de programas para o mundo real, dada a atual situao da biblioteca de classes e da no muito avanada programao visual. Com o tempo os recursos tendem a aumentar mais e mais com a criao de bibliotecas e desenvolvimento de ambientes. Outro objetivo do seu projeto foi eliminar os recursos obscuros e danosos do C++, que fugiam compreenso e aumentavam a confuso que poderia ocorrer durante as fases de desenvolvimento, implementao e manuteno do software. O Java simples porque pequeno. O interpretador bsico do Java ocupa aproximadamente 40k de RAM, excluindo-se o suporte a multitarefa e as bibliotecas padro, que ocupam outros 175k. Mesmo a memria combinada de todos esses elementos insignificante, se comparada a outras linguagens e ambientes de programao.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

2) Orientada a Objeto
A orientao a objeto uma tcnica que enfoca o modelo do dado (Objeto) e sua interface. Durante a anlise orientada a objeto, voc encorajado a identificar o domnio da aplicao como um conjunto de classes. O Java um membro do paradigma orientado a objetos (OO) das linguagens de programao. Tudo so objetos (exceo tipos primitivos) As linguagens que aceitam este paradigma, como Java e C++, seguem a mesma filosofia bsica, mas diferem em sintaxe e estilo. As linguagens orientadas a objetos oferecem muitas vantagens sobre as linguagens procedurais tradicionais. Como os objetos encapsulam dados e funes relacionados em unidades coesas, fcil localizar dependncias de dados, isolar efeitos de alteraes e realizar outras atividades de manuteno, e talvez o mais importante, as linguagens OO facilitam a reutilizao. As facilidades de orientao objeto de Java so essencialmente as de C++. As operaes de OO de Java so comparveis com as de C++. A maior diferena entre Java e C++ est em mltipla herana, pois Java parece ter encontrado uma soluo melhor. Os programadores podem reutilizar cdigo, utilizar bibliotecas de terceiros com proteo e encapsulamento, e adicionar funcionalidade s j existentes. Os projetistas de Java, na Sun Microsystems, eram programadores de C++. Eles entenderam as caractersticas de C++ e o que havia de melhor na linguagem. Eles tambm entenderam as limitaes dessa linguagem. Ao projetar Java, eles copiaram a sintaxe de C++ e reutilizaram os melhores elementos do design de C++, inclusive tornando mais fcil a codificao dos design dos cdigos de orientao a objetos. A portabilidade uma das caractersticas que se inclui nos objetivos almejados por uma linguagem orientada a objetos. Em Java ela foi obtida de maneira inovadora com relao ao grupo atual de linguagens orientadas a objetos.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

10

Java suporta herana, mas no herana mltipla. A ausncia de herana mltipla pode ser compensada pelo uso de herana e interfaces, onde uma classe herda o comportamento de sua superclasse alm de oferecer uma implementao para uma ou mais interfaces. Java permite a criao de classes abstratas. Outra caracterstica importante em linguagens orientadas a objetos a segurana.

3) Robusta
Quanto mais robusto um aplicativo, mais confivel ele ser. Isso desejvel tanto para os desenvolvedores de software quanto aos consumidores. O projeto de Java visou a construo de uma linguagem para escrita de programas confiveis. Java enfatiza em muito a checagem em tempo de compilao de possveis problemas, e em tempo de execuo realiza a checagem dinmica, e eliminao de situaes que podem gerar erros. A maior diferena entre C/C++ e Java que Java por definio da prpria linguagem elimina uma gama de erros que geralmente surgem em C/C++ quando utilizamos ponteiros. Java no usa ponteiros, usa referncias Java fornece a funcionalidade de ponteiros sem que seja necessrio criar estruturas para tal. Estas estruturas eliminam a possibilidade de sobreposio de dados na memria corrompendo dados. Java designada para operar em ambientes onde segurana extremamente importante, como o ambiente de rede. A maioria das linguagens OO, como o C ++ e Java, possuem tipos bastante fortes. Isso significa que a maior parte da verificao de tipos de dados realizada em tempo de compilao, e no em tempo de execuo. Java fortemente tipada Bom gerenciamento de memria - garbagge collection Tratamento de excees integrado e orientado objeto A maioria dos erros pode ser detectada em tempo de compilao

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

11

4) Segura
Como o Java foi criado para ambientes de rede, os recursos de segurana receberam muita ateno. A presena de coleta automtica de lixo, evita erros comuns que os programadores cometem quando so obrigados a gerenciar diretamente a memria (C , C++, Pascal ). A eliminao do uso de ponteiros, em favor do uso de vetores, objetos e outras estruturas substitutivas traz benefcios em termos de segurana. O programador proibido de obter acesso a memria que no pertence ao seu programa, alm de no ter chances de cometer erros comuns tais como reference aliasing e uso indevido de aritmtica de ponteiros. Estas medidas so particularmente teis quando pensarmos em aplicaes comerciais desenvolvidas para a internet. Ser strongly typed tambm uma vantagem em termos de segurana, que est aliada a eliminao de converses implcitas de tipos de C++. A presena de mecanismos de tratamento de excees torna as aplicaes mais robustas, no permitindo que elas abortem, mesmo quando rodando sob condies anormais. O tratamento de excees ser til na segunda parte para modelar situaes tais como falhas de transmisso e formatos incompatveis de arquivos. Java permite a construo de sistemas livres de vrus A maioria das maneiras bvias de invadir um sistema no podem ser escritas em Java. Java no pode ter acesso a rotinas globais nem a recursos arbitrrios do sistema. Se voc executar um binrio transferido por download da rede, o mesmo poder estar infectado por vrus. Os aplicativos Java apresentam garantia de resistncia contra vrus e de que no so infectados por vrus, pois no so capazes de acessar heaps, stacks ou memria do sistema. No Java, a autenticao do usurio implementada com um mtodo de chave pblica de criptografia. Isso impede de maneira eficaz que hackers e crakers examinem informaes protegidas como nomes e senhas de contas. H duas linhas de defesa para evitar que programas como cavalos de Tria e vrus infectem outras mquinas. Primeiro, voc pode autorizar o desenvolvedor a assinar o programa com uma assinatura que adicionada depois que o programador termina o programa.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

12

Segundo, voc pode projetar a linguagem proibindo certas operaes, como ler ou escrever no disco rgido local. Embora estas operaes possam ser teis a alguns programas, elas tambm so exploradas por programadores maliciosos. Se voc tem um programa que pode fazer qualquer coisa na mquina do usurio final, voc tem uma vulnerabilidade sria. Assim, o mximo que uma assinatura eletrnica pode garantir que, se algo der errado e voc puder determinar a origem do problema, isto , qual o programa causador do problema, voc poder ter algum a quem culpar. Para garantir a segurana, os designers da Java implementaram um mecanismo chamado sandbox. O sandbox assegura que aquele no desejado (e possivelmente malicioso) applet tenha um limitado grupo de operaes na mquina do usurio final. Os arquivos do Java so compilados e so convertidos de arquivos texto para um formato que contm blocos independentes de bytecodes (Cdigo Intermedirio). Em tempo de execuo estes bytecodes so carregados, so verificados atravs do Byte Code Verifier (uma espcie de segurana), passam asseguir para o interpretador e so executados. Caso este cdigo seja acionado diversas vezes, existe um passo chamado JIT Code Generator, que elimina o utilizao por demasia do trfego da rede.

Javac T1.java

Class

Byte Code Verifier

T1.class Runtime

hardware

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

13

5) Arquitetura Neutra
O Java independente de arquitetura. A neutralidade do Java em relao arquitetura fascinante, mas no se trata de um conceito novo. Derivado da natureza distribuda de cliente/servidor, um importante recurso de projeto do Java o suporte a cliente e servidores em configuraes heterogneas de rede. O mtodo escolhido para atingir esse objetivo foi uma representao binria de arquitetura neutra para os programas em Java. Java projetada para suportar aplicaes que sero distribudas para os diversos ambientes de trabalho em rede. Nas vrias plataformas de hardware, aplicaes devem executar sobre um universo de sistemas operacionais e operar interagindo com outras linguagens de programao. Isto possvel graas arquitetura idealizada, onde o compilador Java gera um cdigo binrio para uma JVM (Mquina Virtual Java), uma arquitetura neutra e portvel. A natureza "interpretada" de Java resolve ambos os problemas de distribuio binria e de verso.

6) Portvel
A caracterstica de neutralidade da arquitetura Java o grande motivo pelo qual os programas em Java so portveis. Outro aspecto da portabilidade envolve a estrutura ou os tipos de dados inerentes da linguagem, como inteiro, string e ponto flutuante. Diferente de C/C++, no h aspectos de implementao dependentes da especificao. O tamanho dos tipos primitivos so especificados, bem como os seus comportamentos aritmticos. Um inteiro tem sempre 32 bits, em C/C++ tem o tamanho da palavra da mquina. O bytecode gerado pelo compilador para a sua aplicao especfica pode ser transportado entre plataformas distintas que suportam Java (Solaris 2.3, Windows-NT, Windows-95, Mac/Os etc) No necessrio recompilar um programa para que ele rode numa mquina e sistema diferente, ao contrrio do que acontece por exemplo com programas escritos em C e outras linguagens. Esta portabilidade importante para a criao de aplicaes para a heterognea internet.
JAVA Programming Language Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

14

O prprio compilador Java escrito em Java, de modo que ele portvel para qualquer sistema que possua o interpretador de bytecodes. Um exemplo de programa escrito em Java o browser Hotjava. No existe aspectos dependentes da implementao (como tipos e interfaces)

7) Implementao Hbrida Compilada e Interpretada


Os programas do Java so compilados em formato binrio de cdigo de bytes (bytecodes). E ento so interpretados por um ambiente de execuo do Java especfico da plataforma desejada. Portanto ao mesmo tempo compilado e interpretado. O interpretador Java pode executar o cdigo binrio Java diretamente em alguma mquina para o qual ele tenha sido portado. Em um ambiente interpretado tal como o sistema Java, a fase de linkagem de um programa simples, incremental e leve. O processo de desenvolvimento pode ser muito mais rpido.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

15

Esta uma vantagem enquanto desenvolvemos uma aplicao, mas ela claramente mais lenta que um cdigo compilado. Um programa em Java compilado para o chamado bytecode, que prximo s instrues de mquina, mas no de uma mquina real. O bytecode um cdigo de uma mquina virtual idealizada pelos criadores da linguagem. Por isso Java pode ser mais rpida do que se fosse simplesmente interpretada.

Aplicao Java (bytecodes) Mquina Java


Ambiente (windows, Unix, Solaris, Macintosh)
8) Alta Performance
Enquanto a performance do cdigo binrio interpretado geralmente adequado, h situaes onde maior performance requerida. O cdigo binrio pode ser traduzido em tempo de execuo para outro cdigo de mquina para ser executado em uma aplicao de uma CPU particular. Como Java foi criada para ser usada em computadores pequenos, ela exige pouco espao, pouca memria. Java muito mais eficiente que grande parte das linguagens de scripting existentes, embora seja cerca de 20 vezes mais lenta que C, o que no um marco definitivo. Com a evoluo da linguagem, sero criados geradores de bytecodes cada vez mais otimizados que traro as marcas de performance da linguagem mais prximas das de C++ e C. Alm disso um dia Java permitir a possibilidade de gerar cdigo executvel de uma particular arquitetura on the fly, tudo a partir do bytecode.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

16

9) Dinmica
Java mais dinmica que C/C++. O projeto dinmico permite que os programas Java se adaptem aos ambientes computacionais mutantes. Em Java descobrir o tipo de uma instncia em tempo de execuo algo extremamente simples. Por exemplo, a maior parte dos desenvolvimentos tpicos em C++ se baseia muito em bibliotecas de classe que podem ser de propriedade e desenvolvida por terceiros. Muitas bibliotecas de terceiros, como as distribudas com sistemas operacionais ou sistemas de janelas, so linkeditadas dinamicamente e vendidas ou distribudas separadamente dos aplicativos que delas dependam. Quando essas bibliotecas so atualizadas, os aplicativos que dependerem dela podero apresentar problemas, at que sejam recompilados e redistribudos. Isso adiciona mais um custo manuteno do software. O Java evita esse problema atrasando a unio dos mdulos. Isso permite que os programadores tirem total proveito da orientao a objetos. possvel adicionar novos mtodos e variveis de instncias em classes de bibliotecas, sem causar problemas aos programas, aplicativos ou clientes j existentes.

10) Suporte a concorrncia (Threads)


Concorrncia a habilidade para um programa fazer mais de uma coisa por vez. Os benefcios de multiprocessamento so melhor sensibilidade interativa e comportamento em tempo real. Java suporta multiprocessamento no nvel de linguagem com a adio de sofisticada sincronizao. A linguagem permite a criao de maneira fcil, de vrios threads de execuo. Este tpico ser til quando voc estudar animaes, e particularmente poderoso nos ambientes em que aplicaes Java so suportadas, ambientes estes que geralmente podem mapear os threads da linguagem em processamento paralelo real. A soluo da Sun foi integrar os threads linguagem. Por que Java orientada a objeto, restringe o modo como uma aplicao pode comunicar-se com outra, threads de Java possuem os mesmos processos de segurana, com algum overhead de memria.
JAVA Programming Language Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

17

O Java multitarefa. Os objetos binrios de cdigos de bytes do Java so formados por sequncias de execuo mltiplas e simultneas. Essas sequncias so conhecidas como contextos de execuo ou processos leves. As liguagens C/C++ so membros de um paradigma de execuo em sequncia nica, por no oferecerem suporte a sequncias no nvel de linguagem. O Java, no entanto, oferece suporte no nvel de linguagem para multitarefa, resultando em uma abordagem de programao mais poderosa e de mltiplas facetas.

11) Suporte a ambiente distribudo


Java fornece facilidades para programao com sockets, remote method call, tcp-ip, etc. Distribuio de informaes para compartilhamento e trabalho conjunto, com a distribuio de carga de trabalho do procesamento, uma caracterstica essencial dos aplicativos cliente/servidor. Java possui uma biblioteca extensa de procedimentos TCP/IP includa nos cdigos-fonte e de distribuio binria do Java. Isso facilita aos programadores o acesso remoto s informaes, usando protocolos como HTTP e FTP. Aplicaes Java podem abrir e acessar objetos atravs da rede via URLs com a mesma facilidade com que acessa o sistema de arquivos local.

Garbage Collection (Coleta Automtica de Lixo)


O Java no segura reas de memria que no esto sendo utilizadas, isto porque ele tem uma alocao dinmica de memria em tempo de execuo. No C e C++ (e em outras linguagens) o programa desenvolvido responsvel pela alocao e desalocao da memria. Durante o ciclo de execuo do programa o Java verifica se as variveis de memria esto sendo utilizadas, caso no estejam o Java libera automaticamente esta rea que no esta sendo utilizada. A desalocao do objeto feita pela linguagem, (automatic garbage collection), voc no precisa se preocupar com ela. O ambiente da linguagem executa um thread em baixa prioridade que libera de tempos em tempos os espaos inutilizados de memria, tirando proveito por exemplo de eventuais pausas de iterao do usurio com o programa.
JAVA Programming Language Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

18

Ambiente de Desenvolvimento com JAVA


Para escrever em Java voc precisa do editor, do compilador Java e do Java Runtime Environment. O modo mais fcil para adquirir um compilador Java e um ambiente de processamento carregar o Sun Software Development Kit (SDK). O SDK tambm inclui uma variedade de ferramentas para qualquer desenvolvedor de Java (voc vai ter que providenciar seu editor de texto). O primeiro passo para escrever um programa em Java adquirir uma cpia do Software Development Kit (SDK) da Sun. Embora seja possvel escrever Java sem o SDK, no h nenhuma boa razo para fazer isso. O SDK grtis e executa na maioria das plataformas mais comuns. Outras companhias, como a IBM, suprem Java para ambientes de desenvolvimento para uma variedade de computadores. Bibliotecas bsicas JDK - Java Development Kit http://java.sun.com http://www.sun.com Ambientes de desenvolvimento Java Workshop - Sun Jbuilder - Borland Visual Caf - Symantec Visual Age - IBM Power J - Powersoft Visual J++ - Microsoft A Sun desenvolveu Java para executar em qualquer mquina. Uma cpia tpica do instalador do SDK, requer aproximadamente, 20MB. Voc tambm vai precisar de outros 30MB de espao em disco para a documentao. Quando voc carrega o Java 2 Software Development kit (tambm conhecido como JDK), voc achar um conjunto de arquivos e ferramentas.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

19

Examine o diretrio no qual voc instalou o JDK. Voc encontrar as seguintes seis pastas: bin as prprias ferramentas executveis do JDK; demo uma variedade de applets, como tambm cdigo de amostra para Java Foundation Classes (JFC); docs documentao extensa em Java; include em C e C++, arquivos cabealho, utilizados para construir o ambiente de Java; lib bibliotecas e arquivos (em formatos .lib, .zip e .jar) usados pelo JDK; src a fonte das bibliotecas Java da Sun. Use esta fonte para aprender como as classes da Sun trabalham. A ferramenta mais importante no JDK o javac, o compilador Java. O javac traduz o cdigo-fonte com as ilustraes para Java Virtual Machine (JVM). Para a maior parte do seu trabalho com o JDK, voc ir querer executar aplicaes usando o iniciador de aplicaes Java, chamado java (em verses anteriores do JDK, chamado interpretador Java, porm, o nome mais preciso iniciador de aplicao). Quando voc digitar java MyClass, o iniciador examina a classe chamada MyClass para um mtodo especial chamado main ( ). Programas de Java so conhecidos como aplicaes, considerando que os programas que trabalham com a ajuda de outro programa (tipicamente um browser da Web) so conhecidos como applets.

O que uma APPLET ?


Applet um programa especial escrito em Java adaptado para instalao e execuo dentro de pginas HTML. Estas pginas podem ento ser visualizadas num browser.

O que uma APLICAO ?


Aplicao um programa mais geral escrito na linguagem Java. No requer um browser para sua execuo. De fato, Java pode ser usada para criar todo tipo de aplicaes que usualmente voc implementa com outras linguagens mais convencionais. O que o APPLETVIEWER? Quem criou o Java espera que todos os browsers algum dia suportem as applets, o que no acontece ainda. Para facilitar o desenvolvimento de aplicaes, foi criado o Appletviewer que mostra apenas a rea onde executada applet. Depois de testar bem seu cdigo com o Appletviewer, voc deve ento test-lo com alguns browsers que suportem Java para ver o efeito final.
JAVA Programming Language Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

20

O que APPLET no WWW As applets so disparadas quando se carrega uma pgina HTML. A seguir h um exemplo de cdigo HTML que dispara uma applet. <HTML> <HEAD> <TITLE> Java </TITLE> </HEAD> <BODY> <APPLET CODE=nome.class WIDTH=300 HEIGHT=100> </APPLET> </BODY> </HTML> Criando uma APLICAO Para comear, criaremos uma simples aplicao em Java: a clssica Hello World!, o exemplo que todos os livros de linguagens usam. Como todas as linguagens de programao, o cdigo fonte ser criado em um editor de texto ASCII puro. No Unix alguns exemplos so emacs, pico, vi e outros. No Windows, notepad ou dosedit tambm servem. A seguir, o cdigo da aplicao Hello World! (arquivo: HelloWorld.java): class HelloWorld { public static void main (String args[]) { System.out.println(Hello World!); } } Criando uma APPLET Criar uma applet diferente de criar uma simples aplicao porque uma applet executada e visualizada dentro de uma pgina HTML. Como exemplo, novamente ser implementada a clssica Hello World!. A seguir, o cdigo da aplicao Hello World! (arquivo: HelloWorldApplet.java): import java.awt.Graphics; public class HelloWorldApplet extends java.applet.Applet { public void paint (Graphics g) { g.drawString (Hello World!,5,25); } }
JAVA Programming Language Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

21

Quem precisa de applets? Por que algum precisaria trocar o browser por applets? Muitos Web designers querem ir alm da simples exibio de contedos estticos. Eles querem pginas dinmicas que possam interagir com o usurio. Freqentemente, o melhor modo para adicionar contedo dinmico escrever um programa em Hipertext Markup Language (HTML), que usado para escrever pginas da Web. Os browsers da Netscape e da Microsoft suportam scripts de linguagens como JavaScript. Essas linguagens permitem adicionar funes a elementos de HTML, como botes, porm voc no ter controle completo sobre o desenho na interface do usurio. Voc no pode usar essas linguagens de script para conectar a mquina do cliente atravs de uma rede, assim voc no pode escrever verdadeiros programas de cliente-servidor. s vezes voc precisa de uma soluo mais poderosa do que essas linguagens de scripts; voc precisa de uma soluo que no dependa de um browser em particular. Nesses momentos, um applet Java o ideal. Voc adiciona um applet Java na sua pgina Web, usando o tag HTML, <APPLET>. Como Java roda em qualquer plataforma, o applet trabalhar como esperado, contanto que o usurio local utilize um browser que suporte Java. Applets tm mais restries de segurana do que as aplicaes Os comentrios aqui apresentados sobre segurana so voltados aos applets, no para as aplicaes. Um usurio final pode inicializar um applet simplesmente carregando uma pgina Web; assim applets precisam de uma segurana mais rgida. Os usurios finais precisam instalar as aplicaes; assim, somente para as aplicaes permitido executar as capacidades que so negadas aos applets. Verificao de JVM Suponha que voc tenha escrito um applet Java e o tenha compilado em um arquivo de classe. Voc usa este applet na sua pgina Web. Quando um usurio final usa um browser Java para fazer donwload da pgina, ele tambm carrega o applet. Para garantir que o applet no acesse os recursos de sistema contidos no disco rgido, Java Virtual machine (JVM), anexado ao browser, executa vrias verificaes. Primeiro, o JVM inclui um iniciador de classes (class loader), responsvel por localizar e carregar todas as classes usadas pelo applet. Segundo, antes de o arquivo de classe ter permisso para ser executado, os contedos desse arquivo so testados por um bytecode verifier. Terceiro, as classes processam sob a superviso de JVM Security Manager.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

22

Esses trs mecanismos trabalham juntos para garantir que: s as classes prprias sejam carregadas; cada classe esteja no formato adequado; classes no desejadas executem instrues perigosas; classes no desejadas tenham acesso aos recursos do sistema.

O Security Manager tem que coordenar as tentativas do applet para acessar a qualquer momento: comunicaes de rede; informaes protegidas 9inclusive o disco rgido ou dados pessoais); programas e processos que trabalham ao nvel do sistema operacional; iniciador de classes; bibliotecas de classe Java (conhecidas como pacotes).

Nveis de proteo de linguagem Muitas linguagens, como as Smalltalk, permitem ao programador converter facilmente objetos de um tipo em objetos de um outro tipo. Esta sintaxe livre permite aos programadores escreverem cdigos mais rapidamente, mas tambm d oportunidades ao programador malicioso (para no mencionar as deixas para defeitos de software). Linguagens digitadas com mais restries, como Ada, so pouco mais difceis de usar, mas geralmente resultam em programas com menos defeitos e cdigos mais cutos. Por isso, linguagens mais livres de restries de digitao so populares e freqentemente usadas na elaborao de cdigos. Em geral, muito da fora de C e de C++ vem da capacidade de essas linguagens usarem ponteiros variveis que armazenam endereos de memria de outros dados. s vezes voc pode ver descries de Java que reclamam que a linguagem no tem ponteiro. O fato que tudo em Java est em ponteiros s que eles no so nem um pouco acessveis ao usurio.A razo pela qual os ponteiros so invisveis que os designers de Java removeram a propriedade que permite apontar um ponteiro para um local arbitrrio. Como gerar a documentao A Sun deu a soluo para o dilema mostrado acima: javadoc. Esta seo mostra a voc como o javadoc gerar pginas HTML para a documentao do seu programa sem requerer que voc saiba mais do que a documentao do cdigo-fonte.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

23

O que javadoc? Para criar a documentao para o pacote Java, voc usa o javadoc. Mesmo que voc no tenha pensado em incluir comentrios em seu cdigo-fonte, voc obter algum uso do javadoc. Entre suas qualidades, est a gerao de uma pgina HTML para todo arquivo .java e para o pacote como um todo. Tambm produz uma hierarquia de classes (tree.html), e um ndice (AllNames.html). Para cada arquivo .Java, o javadoc registra o nome da classe e a assinatura completa de cada mtodo.

As Bibliotecas de Classes do Java


Fornecem um conjunto de classes previamente implementadas pelo desenvolvedor da linguagem. So as nicas com suporte garantido em todos os ambientes comerciais Java. Os detalhes de uso e sua implementao so descritos na documentao da API. Outras bibliotecas podem eventualmente existir em certos ambientes de desenvolvimento comerciais, mas no h garantia de essas classes extra funcionarem em todos os ambientes comerciais Java. Essa caracterstica particularmente importante para o desenvolvimento de applets.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

24

Descrio Sucinta das Bibliotecas de Classes Java Biblioteca Descrio java.lang Classes que contm a linguagem propriamente dita. Inclui as classes Object, String e System, alm das especiais para tipos primitivos (Integer, Character, Double, etc. java.util Utilitrios em geral, como Date, Vector, Hashtable, etc. Classes para controle de entrada e sada de dados e manuseio de java.io arquivos. java.net Apoio a redes, incluindo Socket e URL Contm classes para implementar interfaces grficas com o java.awt Abstract usurio. Inclui classes para janelas, botes, etc. Tambm possui Window classes para o processamento de imagens (java.awt.Image)
Toolkit

java.applet Fornece classes para o apoio construo de applets, como Applet, Audio, etc.
Um dos benefcios dos programas orientados a objeto achar outra pessoa que j escreveu parte do nosso programa e simplesmente chamar o seu cdigo. Os engenheiros da Sun tm escrito muitos cdigos que podemos usar eles esto empacotados em bibliotecas que comeam com nomes como Java, sun e javax. A biblioteca padro de classes do Java comeou pequena mas est crescendo a cada dia que passa. Ela implementa as funes matemticas de I/O da biblioteca padro C, um conjunto de tipos de dados tais como o Integer, String e Tabela Hash com seus mtodos servidores, linha ("threads"), sockets e um sistema GUI chamado AWT.

Programas em JAVA
As fontes dos programas em Java so aquivos-texto normais, como os de qualquer outra linguagem de alto nvel, com extenso ".java". Depois de escritos, os programas so compilados em um "compilador Java" e gravados em um formato especial, com extenso ".class". A arquitetura para a qual o programa compilado uma arquitetura hipottica chamada "mquina virtual Java". O cdigo a seguir executado na mquina virtual, implementada da mesma forma em diferentes arquiteturas.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

25

Este esquema, embora complexo, tem vrias vantagens. A performance melhor e ele no amarrado a qualquer equipamento ou sistema operacional em especial. Para construir uma aplicao, voc precisa ter o JDK instalado. Depois disso, voc seguir um processo de trs passos: Entre no cdigo, em um arquivo de texto. Compile todas as classes usando o Compilador - javac. Execute a aplicao usando a JVM - java. A Sun (empresa responsvel pelo projeto Java) sugere vrias convenes de nomes quando se escreve em Java. O compilador no se preocupa como voc chama suas classes e mtodos, mas se voc seguir os nomes convencionados, o seu cdigo pode ser um pouco mais flexvel na sua manuteno. Os nomes convencionados so: Nomes de classe usaro nomes misturados. No incio, com uma letra maiscula. Por exemplo: NativeHello e HeeloWorld, no nativeHello ou Helloworld; Mtodos usaro casos misturados, com o seu comeo com uma letra minscula. Assim, escreva sayHello ( ) no SayHello ( ) ou sayhello ( ); Nomes de membros de dados seguiro a mesma conveno, como os mtodos. Assim voc poder querer um membro nomeado como thePoint, ou ThePoint ou thepoint; Constantes, no geral, so escritas com maisculas. Assim, escreva PI e no pi; Para acesso aos mtodos, voc utilizar nomes em conjunto como get ou set. Desse modo, para saber a capacidade de um caminho, voc precisar seguir o mtodo chamado getCapacity ( ). Para saber o destino, voc utilizar setDestination ( ); Se o membro de dados for boleano, melhor usar is ou has em lugar de get, como um prefixo. Dessa forma, para ver se um caminho tem um destino, a chamada ser hasDestination ( ). Para saber se o caminho est disponvel, a chamada ser isAvailable ( ). Convenes adicionais para aumentar a eficcia das leituras Daremos nomes de classes que comeam com um T para indicar tipo. Ns alteraremos uma regra que inicializa uma classe de uma para uma aplicao ou um applet, de modo a no confundir os usurios

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

26

finais. Esta conveno nos ajuda a distinguir classes que ns construmos daquelas obtidas no Sun API. Vamos comear os membros protected e private (mtodos e dados) com um sublinhado (_) inicial. Vamos denotar as constantes com um k minsculo inicial, assim a taxa de imposto do caminhoneiro ser kTaxRate. (Esta conveno o contrrio da conveno voc achar no JDK, no qual as constantes so todas escritas em maisculas). Vamos dar s variveis locais e parmetros nomes que comearo com a ou the. Vamos evitar as abreviaes, se no voc teria que adivinhar o mtodo de capacidade dos caminhes: getCap ( ), getCpcty ( ) ou getCapacity ( ). Aqui, uma conveno para suas designaes: evite usar membros de dados pblicos. Force o acesso a membros de dados para passar por funes de acesso. Em Java, voc define uma classe como o ponto de partida de sua aplicao. O usurio final chamar o mtodo main ( ), daquela classe, e o seu trabalho se iniciar. Contanto que voc trabalhe em Java, aceite o fato de que todo pedao de dados e todo mtodo, inclusive main ( ), pertencer ao interior de alguma classe. O Java carrega todo o cdigo dinamicamente em runtime e carrega o cdigo classe por classe. Quando o compilador Java compila um arquivo fonte, cada classe aparece em um arquivo .class separado. Todas as funes devem ser mtodos de alguma classe. Por exemplo, funes matemticas, tais como seno, esto implementadas como mtodos da classe Math.

Tudo em um programa Java tem que estar dentro de uma classe As nicas estruturas que no so classes em Java so os oito tipos primitivos de dados Um arquivo fonte Java deve ter o mesmo nome de sua classe principal e a extenso .java Um programa Java deve ter seu cdigo traduzido para bytecodes antes da execuo Um programa Java, aps a traduo, tem extenso .class Todas instruo/declarao Java deve ser terminada por ;

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

27

Primeiro Programa em JAVA


public class Oi { public static void main(String args[]) { System.out.println(Oi! Eu sou o Java.); } }

Oi.java (texto)

javac (compilador)

Oi.class (bytecode)

java (JVM)

(Execuo)

Ponto e vrgula, Blocos e o espao em branco No java, os comandos so terminados com o sinal de ponto e vrgula (;) Um bloco tem incio e tem o seu fim representados pelo uso das chaves {}; O uso do espao em branco permite uma melhor visualizao dos comandos e em conseqncia facilita a sua manuteno. Princpios que voc usar para escrever qualquer aplicao Java: A classe declarada para ser pblica. A classe contm um membro nomeado: main ( ). O mtodo main ( ) declarado para ser pblico esttico e retorno como void. public class Oi { class a palavra reservada que marca o inicio da declarao de uma classe. Public um especificador, por enquanto guarde public class como o incio da declarao de uma classe. Toda classes sero declaradas assim at avanarmos em outros conceitos. Oi o nome dado classe. O abre chaves marca o incio das declaraes da classe que so os atributos e mtodos. Esta classe s possui uma declarao, a do mtodo main(). Todo pedao de cdigo em Java deve pertencer ao abre chaves, fecha chaves da definio de uma classe.

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

28

public static void main (String args[]) { System.out.println("Oi! Eu sou o Java."); } public um qualificador do mtodo que indica que este acessvel externamente a esta classe (para outras classes que eventualmente seriam criadas), no se preocupe com ele agora, apenas declare todos os mtodos como public. static um outro qualificador ou specifier, que indica que o mtodo deve ser compartilhado por todos os objetos que so criados a partir desta classe. Os mtodos static podem ser invocados, mesmo quando no foi criado nenhum objeto para a classe, para tal deve-se seguir a sintaxe: <NomeClasse>.<NomemetodoStatic>(argumentos);. Retornaremos a esta explicao mais tarde, por hora voc precisa saber que particularmente o mtodo main precisa ter essa qualificao porque ele chamado sem que se crie nenhum objeto de sua classe. void Semelhante ao void C++ ou C, o valor de retorno da funo, quando a funo no retorna nenhum valor ela retorna void, uma espcie de valor vazio que tem que ser especificado. main Este um nome particular de mtodo que indica para o compilador e a mquina virtual (JVM) o incio do programa, dentro deste mtodo e atravs das iteraes entre os atributos, variveis e argumentos visveis nele que o programa se desenvolve. (String args[]) o argumento de main e por consequncia do programa todo, ele um vetor de Strings que formado quando so passados ou no argumentos atravs da invocao do nome do programa na linha de comando do sistema operacional, exemplo: java Oi argumentotexto1 argumentotexto2 { ... } Abre chaves e fecha chaves. Para quem no conhece C ou C++, eles podem ser entendidos como algo semelhante ao BEGIN e END de Pascal ou Modula-3, ou seja: delimitam um bloco de cdigo. Os programadores Pascal notaro que variveis locais dos mtodos podem ser declaradas em qualquer local entre as chaves. Mas por motivos de clareza do cdigo declararemos todas no incio do abre chaves. System.out.println("Oi! Eu Sou o Java."); Chamada do mtodo println para o atributo out da classe ou objeto System, o argumento uma constante do tipo String. println assim como writeln de Pascal, imprime a String e posiciona o cursor na linha abaixo , analogamente print no avana linha. Por hora voc pode guardar esta linha de cdigo como o comando para imprimir mensagens na tela, onde o argumento que vem entre aspas a String a ser impressa. O ; ponto e vrgula separa operaes.
JAVA Programming Language Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

29

} Finalmente o fecha chaves termina com a declarao da classe Oi. Concluso: Normalmente o volume de conceitos presentes num primeiro programa de uma linguagem orientada a objetos como Java ou Eiffel grande se comparado com o de um primeiro programa em C ou Pascal. Esses conceitos ainda sero aprofundados e so citados aqui apenas por curiosidade, normal que voc no tenha entendido tudo. (*) De agora em diante no explicaremos mais como compilar os programas. Exerccio: Experimente fazer modificaes no programa Oi. Imprima outras mensagens na tela, adicione comentrios, conforme explicao a seguir.

Comentrios
Computer programs are read by two kinds of entities: compilers and humans. The compiler requires the source code text to conform exactly to its syntax rule. For example, the semicolon must follow the right parenthesis on the third line of the HelloWorld program. Humans are not so particular about how instructions are given, but they often do need more explanation about what the instructions mean. Programming languages allow such explanations to be included with source code. They are called comments, and are ignored by the compiler. There are two ways to write comments in Java. A C style comment begins with the symbol pair /* and ends with the symbol pair */. A C++ style comment begins with the symbol pair // and ends with the end of the text line. The C style comments can be used between compilable code on the same line, like this: public /* access */ class /* declaration */ HelloWorld

but this is not recommended. More often, Java programmers use the C style for a multi-line comment, like this: /* This program prints the single line of output: Hello, World! /*

JAVA Programming Language

Prof. Newton Gomes

Java Programming Language Linguagem de Programao JAVA Prof. Newton Gomes

30

C++ style comments are often used to annotate declarations and statements, like this: public class TestFrame // tests the Frame class { public static void main (String [] args) { Frame frame =new Frame (Example 9.1); frame.setSize(250, 100); // 250 pixels wide and 100 pixels high frame.setVisible (true); // displays the frame on the screen } } The text shown here in boldface is ignored by the compiler. Multi-line comments can also be done in the C++ style: // This program prints the single line of output: // Hello, World! Adding comments to your programs is called documenting your code. This should be done whenever the purpose or meaning of the code might not be clear to human readers. It is also good to include a header comment at the beginning of every program that identifies the programmer and the program. Estes so os trs tipos permitidos de comentrios nos programas feitos em Java: // comentrio de uma linha /* comentrio de uma ou mais linhas */ /** comentrio de documentao */ (Arquivos de documentao)

JAVA Programming Language

Prof. Newton Gomes

Você também pode gostar