Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROGRAMAÇÃO DE SISTEMAS I Professor Esp. Ronie Cesar Tokumoto GRADUAÇÃO Unicesumar C397 CENTRO UNIVERSITÁRIO DE MARINGÁ. Núcleo de Educação a Distância; TOKUMOTO, Ronie Cesar. Programação de Sistemas I. Ronie Cesar Tokumoto. Maringá-Pr.: UniCesumar, 2017. Reimpressão - 2018 135 p. “Graduação - EaD”. 1. Programação 2. Sistemas . 3. Engenharia 4. EaD. I. Título. ISBN 978-85-459-0839-5 CDD - 22 ed. 005 CIP - NBR 12899 - AACR/2 Ficha catalográfica elaborada pelo bibliotecário João Vivaldo de Souza - CRB-8 - 6828 Impresso por: Reitor Wilson de Matos Silva Vice-Reitor Wilson de Matos Silva Filho Pró-Reitor de Administração Wilson de Matos Silva Filho Pró-Reitor Executivo de EAD William Victor Kendrick de Matos Silva Pró-Reitor de Ensino de EAD Janes Fidélis Tomelin Presidente da Mantenedora Cláudio Ferdinandi NEAD - Núcleo de Educação a Distância Diretoria Executiva Chrystiano Minco� James Prestes Tiago Stachon Diretoria de Design Educacional Débora Leite Diretoria de Graduação e Pós-graduação Kátia Coelho Diretoria de Permanência Leonardo Spaine Head de Produção de Conteúdos Celso Luiz Braga de Souza Filho Gerência de Produção de Conteúdo Diogo Ribeiro Garcia Gerência de Projetos Especiais Daniel Fuverki Hey Supervisão do Núcleo de Produção de Materiais Nádila Toledo Supervisão Operacional de Ensino Luiz Arthur Sanglard Coordenador de Conteúdo Fabiana de Lima Design Educacional Ana Claudia Salvadego, Isabela Agulhon Ventura Iconografia Ana Carolina Martins Prado Projeto Gráfico Jaime de Marchi Junior José Jhonny Coelho Arte Capa Arthur Cantareli Silva Editoração Fernando Henrique Mendes Revisão Textual Silvia Caroline Gonçalves Ilustração Bruno Cesar Pardinho Viver e trabalhar em uma sociedade global é um grande desafio para todos os cidadãos. A busca por tecnologia, informação, conhecimento de qualidade, novas habilidades para liderança e so- lução de problemas com eficiência tornou-se uma questão de sobrevivência no mundo do trabalho. Cada um de nós tem uma grande responsabilida- de: as escolhas que fizermos por nós e pelos nos- sos farão grande diferença no futuro. Com essa visão, o Centro Universitário Cesumar assume o compromisso de democratizar o conhe- cimento por meio de alta tecnologia e contribuir para o futuro dos brasileiros. No cumprimento de sua missão – “promover a educação de qualidade nas diferentes áreas do conhecimento, formando profissionais cidadãos que contribuam para o desenvolvimento de uma sociedade justa e solidária” –, o Centro Universi- tário Cesumar busca a integração do ensino-pes- quisa-extensão com as demandas institucionais e sociais; a realização de uma prática acadêmica que contribua para o desenvolvimento da consci- ência social e política e, por fim, a democratização do conhecimento acadêmico com a articulação e a integração com a sociedade. Diante disso, o Centro Universitário Cesumar al- meja ser reconhecido como uma instituição uni- versitária de referência regional e nacional pela qualidade e compromisso do corpo docente; aquisição de competências institucionais para o desenvolvimento de linhas de pesquisa; con- solidação da extensão universitária; qualidade da oferta dos ensinos presencial e a distância; bem-estar e satisfação da comunidade interna; qualidade da gestão acadêmica e administrati- va; compromisso social de inclusão; processos de cooperação e parceria com o mundo do trabalho, como também pelo compromisso e relaciona- mento permanente com os egressos, incentivan- do a educação continuada. Pró-Reitor de Ensino de EAD Diretoria de Graduação e Pós-graduação Seja bem-vindo(a), caro(a) acadêmico(a)! Você está iniciando um processo de transformação, pois quando investimos em nossa formação, seja ela pessoal ou profissional, nos transformamos e, consequentemente, transformamos também a sociedade na qual estamos inseridos. De que forma o fazemos? Criando oportu- nidades e/ou estabelecendo mudanças capazes de alcançar um nível de desenvolvimento compatível com os desafios que surgem no mundo contemporâneo. O Centro Universitário Cesumar mediante o Núcleo de Educação a Distância, o(a) acompanhará durante todo este processo, pois conforme Freire (1996): “Os homens se educam juntos, na transformação do mundo”. Os materiais produzidos oferecem linguagem dialógica e encontram-se integrados à proposta pedagógica, con- tribuindo no processo educacional, complementando sua formação profissional, desenvolvendo competên- cias e habilidades, e aplicando conceitos teóricos em situação de realidade, de maneira a inseri-lo no mercado de trabalho. Ou seja, estes materiais têm como principal objetivo “provocar uma aproximação entre você e o conteúdo”, desta forma possibilita o desenvolvimento da autonomia em busca dos conhecimentos necessá- rios para a sua formação pessoal e profissional. Portanto, nossa distância nesse processo de cresci- mento e construção do conhecimento deve ser apenas geográfica. Utilize os diversos recursos pedagógicos que o Centro Universitário Cesumar lhe possibilita. Ou seja, acesse regularmente o AVA – Ambiente Virtual de Aprendizagem, interaja nos fóruns e enquetes, assista às aulas ao vivo e participe das discussões. Além dis- so, lembre-se que existe uma equipe de professores e tutores que se encontra disponível para sanar suas dúvidas e auxiliá-lo(a) em seu processo de aprendiza- gem, possibilitando-lhe trilhar com tranquilidade e segurança sua trajetória acadêmica. A U TO R Professor Esp. Ronie Cesar Tokumoto Pós-graduado em Gestão Escolar Integrada e Práticas Pedagógicas pela Faculdade Eficaz (2015), em tutoria em Educação a Distancia pela Faculdade Eficaz (2013), e em Docência no Ensino Superior pelo Centro Universitário Maringá (Unicesumar/2013). Bacharel em Informática pela Universidade Federal do Paraná (UFPR/2001). Atualmente é tutor mediador no EaD/ Unicesumar e professor na rede estadual de ensino do Paraná, em Sarandi, e em cursos Técnicos Profissionalizantes. Tem experiência em Coordenação de Curso Técnico (2013), e em palestras e eventos organizados para o mesmo curso. Para informações mais detalhadas sobre sua atuação profissional, pesquisas e publicações, acesse seu currículo, disponível no endereço a seguir: http://lattes.cnpq.br/2653232632701400 SEJA BEM-VINDO(A)! Caro(a) aluno(a), este material visa permitir que os conceitos fundamentais do desenvol- vimento de sistemas utilizando a linguagem de programação Java sejam conhecidos e compreendidos de forma simples e objetiva. O mercado de trabalho para desenvolvedores Java está aquecido, dando sinais de que tende a crescer ou, pelo menos, de se manter forte por um bom tempo, devido à evo- lução da TI (Tecnologia da Informação) e das características favoráveis que a linguagem oferece. A primeira unidade trata dos conteúdos básicos referentes à própria linguagem, como um resumo de sua história, características que a linguagem possui e oferece aos seus desenvolvedores, versões disponíveis de aplicações possíveis e de que forma são orga- nizados os chamados pacotes disponibilizados pela Oracle, atual proprietária da própria linguagem em si, criada pela Sun, a qual foi adquirida pela referida empresa há algum tempo. Na segunda unidade, são tratados conceitos relativos à linguagem em si, como as cer- tificações oficiais sobre o desenvolvimento em linguagem Java, oferecidas pela Oracle, assim como os conceitos básicos sobre o processo de desenvolvimento de aplicações em Java, seu ambiente de desenvolvimento, plataforma de execução e formas de pro- gramação na linguagem. Também são tratados os conceitos do processo de compilação e execução de códigos em linguagem Java usandoos utilitários do pacote JDK de de- senvolvimento. Na terceira unidade, são vistos os conceitos de programação em linguagem Java, junta- mente com os princípios da programação envolvendo os conceitos de tipos de dados, variáveis, constantes e operadores. Também são vistos detalhes complementares ini- ciais como o uso de comentários e do utilitário de documentação do pacote JDK. O uso da identação para um correto alinhamento de instruções também é tratado. Já na quarta unidade, são vistos os conceitos de fluxo de dados, juntamente com o uso de sua entrada e saída por meio de bibliotecas padrão Java. Também são vistos os con- ceitos de vetores e matrizes que representam importantes estruturas de dados. Na última unidade, temos conteúdos relacionados ao tratamento de exceções que possam ocorrer em tempo de execução e que sejam previsíveis, além de um pequeno exemplo de aplicação para auxiliar na compreensão do conteúdo geral da disciplina e no entendimento da fase de testes. Assim, por meio de todo esse conteúdo, aliado à disciplina complementar de Programa- ção de Sistemas II, será possível oferecer um material de aprendizado para uso futuro na carreira profissional. APRESENTAÇÃO PROGRAMAÇÃO DE SISTEMAS I SUMÁRIO 09 UNIDADE I FUNDAMENTOS DA LINGUAGEM JAVA 15 Introdução 16 Histórico Resumido da Linguagem Java 18 Características da Linguagem Java 20 Segurança 22 Versões e Extensões em Java 25 Desenvolvimento de Software Em Java 27 Considerações Finais 31 Referência 32 Gabarito UNIDADE II PARTICULARIDADES DA LINGUAGEM JAVA 35 Introdução 36 Ambiente de Desenvolvimento Java 38 Plataformas Java 41 Formas de Programação em Java 42 Tipos de Aplicativos 44 Pacotes de Desenvolvimento 45 Compilação e Execução SUMÁRIO 10 50 Considerações Finais 54 Referências 55 Gabarito UNIDADE III INTRODUÇÃO À PROGRAMAÇÃO JAVA 59 Introdução 60 Fundamentos de um Programa Java 61 Instruções Básicas 72 Expressões 74 Identação e Espaçamento 77 Considerações Finais 83 Referências 84 Gabarito UNIDADE IV MANIPULAÇÃO DE DADOS 87 Introdução 88 Fluxo de Dados 89 Entrada de Dados 91 Saída de Dados 95 Vetores e Matrizes SUMÁRIO 11 100 Considerações Finais 104 Referências 105 Gabarito UNIDADE V COMPLEMENTOS E ESTUDO DE CASO 109 Introdução 110 Tratamento de Exceções 117 Exemplo de Aplicação 121 Fase de Testes 123 Atualizações e Novas Versões 129 Considerações Finais 133 Referências 134 Gabarito 135 Conclusão U N ID A D E I Professor Esp. Ronie Cesar Tokumoto FUNDAMENTOS DA LINGUAGEM JAVA Objetivos de Aprendizagem ■ Conhecer a história e conceitos básicos da linguagem Java. ■ Compreender os aspectos que tornam a linguagem segura. ■ Compreender as possibilidades de desenvolvimento de software em linguagem Java. ■ Compreender os conceitos de versão e extensão em Java. ■ Compreender como ocorre uma das formas de desenvolvimento de software. Plano de Estudo A seguir, apresentam-se os tópicos que você estudará nesta unidade: ■ Histórico resumido da linguagem Java ■ Características da linguagem Java ■ Segurança ■ Versões e extensões em Java ■ Desenvolvimento de software em Java INTRODUÇÃO Ao iniciar os estudos sobre a programação de sistemas utilizando a linguagem Java, temos uma grande ferramenta de trabalho para conhecer e explorar, de forma a construir uma base de conhecimento para preparar futuros profissio- nais da área de desenvolvimento, complementando o aprendizado obtido em outras disciplinas e linguagens, como a linguagem C. Nesta primeira unidade, serão tratados os aspectos fundamentais do desen- volvimento de aplicações em Java, como sua história e demais detalhes referentes à poderosa e popular ferramenta de trabalho. Iniciando os estudos por meio da história da linguagem, é possível com- preender o motivo de sua criação e de que forma ocorreu sua evolução, desde a implementação até as atuais modificações que mantêm a linguagem atual e aten- dendo às necessidades do mercado. São expostas também algumas características da linguagem, citando-se a conexão com o desenvolvimento voltado à Internet e à forma pela qual são gera- das aplicações em Java. Segurança é um requisito muito importante no desenvolvimento de apli- cações e a linguagem Java permite um bom nível de segurança pela forma de desenvolvimento e execução de suas aplicações. Nesta unidade são apresentadas informações sobre como esse nível de segu- rança é garantido e de que forma isso ajuda na popularização da linguagem para o desenvolvimento de projetos para as mais diversas finalidades. Também será trabalhada a versatilidade da linguagem na criação de diferen- tes tipos de aplicação para as mais diversas plataformas (sistemas operacionais). Finalmente, a forma como pode ser desenvolvida uma aplicação é tratada para mostrar que existem diversas alternativas de softwares próprios para o desenvol- vimento de aplicações, chamados de ambientes integrados de desenvolvimento, capazes de oferecer diversos recursos de auxílio ao desenvolvimento de software. Introdução Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 15 FUNDAMENTOS DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IU N I D A D E16 HISTÓRICO RESUMIDO DA LINGUAGEM JAVA Olá caro(a) aluno(a), neste primeiro tópico, é importante citar que a linguagem foi concebida durante a década de 1990, na Sun Microsystems. Seus idealizadores foram James Gosling, Patrick Naughton, Chris Warth, Ed Frank e Mike Sheridan. Inicialmente com o nome de Oak, o qual, posteriormente, foi alterado para Java em 1995 (MANZANO, 2011), seu propósito inicial não era a Internet, mas apa- relhos domésticos como linguagem para programação embarcada. Com a popularização da World Wide Web, o propósito da linguagem ser independente de plataforma ou hardware impulsionou a evolução da linguagem para que pudesse se adequar às necessidades da programação web. Sua forma singular de programação e a forma como permitia que o uso da Internet fosse muito mais interativo e repleto de novas possibilidades garantiram essa onda de profissionais interessados em desenvolver aplicações com a nova linguagem. Assim como a tecnologia e a Internet, a linguagem teve atualizações em ver- sões que foram sendo criadas para atender novas demandas e oferecer melhorias para o desenvolvimento web. A Sun desenvolvia novos pacotes para as novas versões, denominadas como J2SE, acrescidas de números indicativos da versão a partir 2, versões como J2SE 1.3, 1.4 e 5 foram surgindo e agregando funções ao desenvolvimento de programas. Conforme citado por Manzano (2011), a versão J2SE 5 representou uma segunda revolução na linguagem e, por isso, Histórico Resumido da Linguagem Java Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 17 mudou o padrão de numeração definido pelas duas versões anteriores, pois além de melhorias no ambiente de desenvolvimento e alguns recursos importantes, a quinta versão reformulou certos aspectos da linguagem. Ela agregou recursos como os tipos genéricos, uma evolução no uso do laço de repetição for, uso de anotações, enumerações, uso de importação estática e argumentos em quanti- dades variáveis, por exemplo. A versão seguinte, Java SE 6 (forma reduzidade Java Plataform, Standard Edition 6), gerou aprimoramentos nas bibliotecas APIs, novos pacotes e otimi- zações para a execução dos softwares desenvolvidos. Na versão seguinte, Java SE 7, novos recursos foram adicionados, como mais incrementos em suas bibliotecas APIs, melhorias no tratamento de exceções e mudanças no uso da instrução switch. Um ponto marcante da versão 7 foi o fato de ser uma primeira versão lançada após a aquisição da empresa Sun pela Oracle, em 2009, fato que, como sempre ocorre em negociações entre grandes companhias de tecnologia, cria muita apre- ensão no mercado. A Figura 1 mostra uma versão do mascote Duke utilizado oficialmente pela companhia para representar seu novo produto. Figura 1- Mascote Duke criado para o projeto *7 de 1992 Fonte: Oracle (2009, on-line)1. FUNDAMENTOS DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IU N I D A D E18 Em 2016, foi lançada a versão 8, que promete grandes mudanças, as quais incluem a transformação na ideia da programação embarcada para a tendência da “Internet das Coisas”, programação em nuvem, possibilidade do uso de objetos genéricos, melhoria no tratamento de exceções, lambdas e anotações. Parte das novas fun- cionalidades fará parte do escopo do livro por serem relevantes aos conteúdos do material, e os demais conteúdos podem ser buscados em outras fontes de pesquisa complementares sugeridas ao longo das unidades (ORACLE, [2017], on-line)2. CARACTERÍSTICAS DA LINGUAGEM JAVA Algumas características fundamentais da linguagem Java são a programação baseada no paradigma orientado a objetos que, diferentemente do paradigma estruturado, é baseia no conceito de classes instanciadas em objetos indepen- dentes para melhorar o reuso de código. Além da reusabilidade, a portabilidade também é uma característica impor- tante da linguagem, a qual garante que um mesmo código possa ser compilado e Características da Linguagem Java Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 19 executado em diferentes plataformas (“write once, run anywhere”). Essa carac- terística também melhora a possibilidade de divulgação de aplicações e sua distribuição, pois, sendo portátil, não é necessário criar versões específicas e, assim, toda aplicação acaba sendo multiplataforma. Possui recursos de rede por meio de bibliotecas para lidar com protocolos TCP/IP, HTTP e FTP, mantendo níveis de segurança aceitáveis pela restrição de execução. Outra característica que ajudou a popularização da linguagem Java foi sua sintaxe baseada na linguagem C++ que já era popular há muito tempo, além da linguagem C++ conter uma grande quantidade de bibliotecas disponíveis para facilitar a codificação. A linguagem JAVA, assim como a linguagem C++, não se utilizam de ponteiros nem registros, pois ambos os elementos podem ser subs- tituídos por outros do paradigma orientado a objetos que permitem o uso de recursos que podem ser até superiores em termos de programação e resultados computacionais (desempenho, facilidade de implementação e controle). Além dessas características, algumas técnicas, como desalocação automática de memó- ria por meio de coletor de lixo e carregamento independente de componentes (classes) em tempo de execução. Por ser uma linguagem com boa ortogonalidade (pouca redundância no desen- volvimento de código), acaba proporcionando facilidade no desenvolvimento e interpretação de código. Permite programação web através de APIs próprias para trabalho com protocolos TCP/IP, FTP e HTTP, além de possibilidade de integra- ção com linguagens próprias para web, como HTML e Javascript. Por ser uma linguagem fortemente tipada, os dados processados são mais precisos e passí- veis de validação, reduzindo a ocorrência de imprevistos em tempo de execução. ■ Realiza a inicialização básica automática de variáveis criadas facilitando a prevenção de erros decorrentes de dados indevidos já existentes na área reservada em memória para cada variável criada. ■ Permite programação de aplicações concorrentes que possam aproveitar recursos avançados de hardware por meio de técnicas como multithreads (processos podem responder solicitações concorrentemente ou simul- taneamente), e monitores (sincronia entre duas ou mais tarefas que compartilham recursos). FUNDAMENTOS DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IU N I D A D E20 O código fonte JAVA é compilado e gerado o código bytecode, que posterior- mente se executado por uma JVM em tempo real. Esse processo reduz eficiência computacional, mas pela portabilidade proporcionada, acaba se tornando menos relevante para a maioria das aplicações atuais devido os melhores recursos de hardware e software. SEGURANÇA Um ponto importante no desenvolvimento de programas em Java é que, o código é compilar na geração do software. Códigos maliciosos não são executados diretamente Conhecer bem sua ferramenta de trabalho é fundamental e o mesmo vale na programação. Como se preparar para um mercado tão competitivo? Segurança Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 21 sobre o sistema operacional, pois a interpretação dos arquivos intermediários Java (bytecode) e applets é restrita aos ambientes próprios para esses arquivos. Assim, não tendo acesso livre fora do ambiente de interpretação de byteco- des, não há motivo para códigos maliciosos se infiltrarem nesses tipo de arquivo e acabarem não sendo efetivos. Além da segurança embutida pelo próprio sistema de uso de aplicações em Java, existem diversas outras formas de aumentar o nível de segurança e da garantia de uma correta execução por meio de diversos mecanismos adicionais, na forma de outros softwares que tenham função de segurança agregados ao sistema ope- racional, como antivírus e ferramentas de proteção a invasões e perdas de dados. Também existe a segurança que pode ser implementada na própria aplica- ção por meio de mecanismos de segurança programados como autenticação de usuários, tratamento de exceções, validação de dados, e recursos programados como backup automático, por exemplo. FUNDAMENTOS DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IU N I D A D E22 VERSÕES E EXTENSÕES EM JAVA Figura 2 - Tela de download do plugin Java para navegadores, versão 8 Fonte: Java ([2017], on-line)2. Em decorrência das contínuas evoluções da linguagem, mudanças ocorreram em sua forma de uso e nas aplicações desenvolvidas de acordo com as demandas do mercado. Assim, um recurso largamente utilizado até então - os chamados applets, que são aplicações criadas para serem executadas como elementos em páginas da Internet - perderam sua força devido às guerras travadas entre as empresas desenvolvedoras de software para web. Estas resolveram utilizar os recursos oferecidos pelo Javascript e HTML 5, que acabaram por substituir estas aplicações feitas em Java devido à necessidade do uso de plugins adicionados aos navegadores, os quais geravam dependência das mudanças que muitas vezes mostravam incompatibilidades entre applets criados em diferentes implementações da linguagem e versões dos plugins. A proposta da versão 8 da linguagem Java é oferecer melhores condições para a produção de software embarcado, podendo criar uma nova onda na área de Tecnologia da Informação. Versões e Extensões em Java Re pr od uç ão p ro ib id a.A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 23 J2ME (MICRO-EDITION FOR PDAS AND CELL PHONES) Pacote de desenvolvimento próprio para aplicativos para dispositivos móveis e embarcados, em que a forma como essas aplicações se comportam difere das demais plataformas devido às restrições físicas, como tamanho da tela e desem- penho de hardware (ORACLE, [2017], on-line)2. Aplicações para smartphones, tablets, aparelhos GPS, e eletrônicos mais modernos em geral, que contenham sistemas embarcados como geladeiras, reló- gios e TVs do tipo Smart, os quais possuam recursos como acesso à Internet, baseiam-se na ideia de uma forte otimização no desenvolvimento de código para se adequar a recursos mais limitados de hardware em termos de memória tem- porária e permanente, principalmente. Alguns dispositivos são potentes, mas apenas uma porcentagem dos usuários desse tipo de tecnologia possui apare- lhos com grande poder computacional. Em função dessa disparidade de equipamentos, códigos otimizados permi- tem que todos tenham acesso aos aplicativos desenvolvidos, independentemente do dispositivo que utilizado ou do potencial do hardware a ser usado; é possível ajustar o código para adequar o desempenho do software, permitindo que sof- twares sejam embarcados em dispositivos diversos. Na onda da “Internet das coisas”, objetos antes capazes de funcionalidades bem específicas puderam adicionar novas funções com a inclusão de tecnologia e softwares embarcados capazes de adicionar novas funcionalidades aos obje- tos. Roupas inteligentes capazes de realizar monitoramentos e eletrodomésticos conectados à Internet são exemplos de como a tecnologia está sendo capaz de alterar a forma de utilização dos objetos. Importa destacar a preocupação que há quanto à evolução tecnológica, a qual está sendo retardada pela falha na infraestrutura necessária para oferecer ser- viços de conectividade de qualidade, a fim de que os dispositivos possam estar conectados em qualquer lugar e com boa velocidade de transmissão e recepção de dados. Além da infraestrutura desequilibrada em todo planeta, não existem padronizações a produção desses dispositivos o que gera diferenças na produ- ção de software e suas etapas, desde o desenvolvimento até o uso. FUNDAMENTOS DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IU N I D A D E24 J2SE (STANDARD EDITION) Pacote padrão para desenvolvimento e execução de aplicações Java contendo o compilador Javac e a máquina virtual JVM, além das bibliotecas (API) da lin- guagem, e alguns utilitários como Javadoc (ORACLE, [2017], on-line)1. J2EE (ENTERPRISE EDITION) Pacote mais completo que o J2SE, pois além dos componentes citados neste pacote, são incluídas as funcionalidades para a produção de aplicações corpo- rativas (ORACLE, [2017], on-line)2. JMX (JAVA MANAGEMENT EXTENSIONS) Pacote para desenvolvimento de aplicações distribuídas, baseadas em web, imple- mentado para a versão 5 da linguagem, mantendo seu uso em versões posteriores (ORACLE, [2017], on-line)2. O mercado de desenvolvimento em Java sofre alterações frequentes e tipos de aplicações que, em determinado momento, podem ser muito populares. Com o passar do tempo, pode praticamente desaparecer, como é o caso dos applets que, por mudanças nas políticas dos desenvolvedores de na- vegadores, estão deixando de manter a compatibilidade com plugins flash necessários para execução dos applets. Esses plugins servem como máquinas virtuais Java integrados aos nave- gadores para executar os miniaplicativos desenvolvidos e que tiveram um auge recente como opções de marketing e entretenimento na Internet. Fonte: o autor. Desenvolvimento de Software Em Java Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 25 DESENVOLVIMENTO DE SOFTWARE EM JAVA O desenvolvimento de software é uma das áreas mais importantes dentro do mercado de tecnologia da informação e depende diretamente de escolhas que são feitas durante o processo, desde a qualidade e quantidade de componentes da equipe para o projeto, até a escolha de quais linguagens poderão ser utiliza- das no desenvolvimento dos softwares. Aliado a isso, é fundamental que, além do sucesso dos projetos, os custos e tempo sejam minimizados e a qualidade do produto seja mantida em bons níveis para aceitação. Usar a linguagem Java como alternativa para codificação faz com que o pro- gramador lide com uma forma diferente de trabalho e funcionamento, na qual o código fonte não gere um arquivo executável, a exemplo do que ocorre com as lin- guagens de programação compiladas para o desenvolvimento de software em geral. Nesta linguagem, o código deve ser criado e salvo com extensão java em qualquer ambiente de desenvolvimento integrado (IDE) ou editor de textos sem formatação de tipo algum como nas demais linguagens de programação, pois não são considerados arquivos de texto como os arquivos do tipo doc utilizados na produção de documentos contendo formatações, imagens e outros elementos não utilizados em arquivos de código de quaisquer linguagens de programação. Temos como exemplos de IDEs populares utilizados pelos profissionais de desenvolvimento de software a Netbeans ou Eclipse como opções muito populares entre os desenvolvedores, pelo fato de serem eficientes e gratuitas. FUNDAMENTOS DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IU N I D A D E26 O desenvolvimento por meio de editores de texto simples, como o Bloco de Notas, que faz parte dos acessórios do sistema operacional Windows, é uma opção viável, pois por já fazer parte do sistema operacional, sabe-se que é total- mente compatível e que não depende da aquisição de softwares adicionais para o desenvolvimento. Isso aumenta o nível de segurança para o hardware a ser utili- zado pela não necessidade de buscas na Internet para download desses softwares com ambientes de desenvolvimento integrado. Nos livros de programação I e II, durante o desenvolvimento de exemplos em Java, foi utilizado como padrão o desenvolvimento sem o uso destes ambientes integrados para não tirar o foco da programação em si. A forma com que se desenvolvem os códigos não influencia a qualidade dos softwares criados, mas pode influenciar o tempo de desenvolvimento e o modo de trabalho durante a codificação. Para focar o estudo na linguagem em si, serão desconsiderados o uso de quais- quer ferramentas simplificadoras como IDEs (conforme citado) ou Frameworks, os quais trazem muita facilidade, pois eliminam etapas importantes do aprendizado. Paralelamente ao estudo da disciplina, é normal que você busque outras fontes ou alternativas de desenvolvimento de códigos. Porém, para a disciplina em si, deve ser focado o desenvolvimento baseado no que é visto na mesma, desconsiderando alternativas pesquisadas, pois isto prejudica a avaliação dos conhecimentos. Considerações Finais Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 27 CONSIDERAÇÕES FINAIS Nesta unidade, foi possível observar que uma série de detalhes indica os moti- vos da grande popularidade da linguagem Java e servem de parâmetro para o início dos estudos da linguagem. Tendo sua história inicialmente indicando uma finalidade distinta do atual uso da linguagem, seu uso para desenvolvimento de aplicações para diferentes sistemas operacionais e tendoforte ligação com a Internet, temos que a lin- guagem Java evolui de forma a acompanhar as mudanças que ocorrem com a Internet e sua rápida evolução. Suas características indicam que, por ser uma linguagem com boa facilidade de aprendizado e bons níveis de segurança, tornou-se preferência entre os pro- fissionais desenvolvedores de sistemas em função da chamada portabilidade, a qual permitiu o desenvolvimento de uma única versão de uma aplicação para diferentes sistemas operacionais. Outro ponto fundamental é a possibilidade de criação de uma variedade de aplicações por meio de diferentes pacotes de desenvolvimento disponibilizados e indi- cados para o desenvolvimento de aplicações para dispositivos móveis, por exemplo. Também foram tratadas opções de desenvolvimento de aplicações por meio de ambientes integrados capazes de oferecer ferramentas facilitadoras do trabalho de programadores com recursos automatizados e de auxílio à construção de código. Assim, é possível observar que a linguagem Java permite que sejam cria- das aplicações com tranquilidade, pois, além de recursos muito bons da própria linguagem, há ferramentas que auxiliam o processo de desenvolvimento e per- mitem que o profissional tenha ajuda no desenvolvimento de suas aplicações. Dando continuidade, na segunda unidade, será focada a parte relativa ao ambiente e às plataformas de execução de aplicações, além das opções de aplica- ções que podem ser desenvolvidas para diferentes fins. Finalmente, é explanado o processo de compilação e execução de códigos. 28 CERTIFICAÇÕES Existem certificações diversas que podem ser feitas para comprovar conhecimentos avançados em programação Java, além de proporcionar um incremento no currículo pessoal. Essas certificações são importantes para o mercado de trabalho, pois são com- provações que mostram o preparo do profissional dentro de uma especialidade e ser- vem de parâmetro para contratações. Alguns tipos de certificações da Oracle para Java podem ser Oracle Certified Enterprise Architect (OCEA), Oracle Certified Mobile Application Developer (OCMAD), Oracle Certi- fied Developer For Java Web Services (OCDJWS), Oracle Certified Business Component Developer (OCBCD), Oracle Certified Web Component Developer (OCWCD), Oracle Cer- tified Java Developer (OCJD), Oracle Certified Java Programmer (OCJP), Oracle Certified Java Associate (OCJA) (ORACLE, [2017], on-line)2. Cada certificação se presta a uma habilidade específica de uma plataforma e linguagem Java. Todos os testes são realizados por uma empresa chamada Person VUE, sendo acei- tos internacionalmente (ORACLE, [2017], on-line)2. Observando as opções existentes de certificações, vemos que existe uma sequência ló- gica que pode ser seguida de forma que a construção do conhecimento seja gradativa e mais eficiente. Ter diferencial no mercado de trabalho por meio de certificações diversas é muito im- portante, mas não adianta ter certificações e não ser capaz de aplicar o que é visto na teoria em prática com eficiência. É preciso praticar muito os conceitos vistos para que sejam realmente úteis para o mer- cado de trabalho, pois na área de tecnologia, o saber notório é muito comum e por vezes suficiente para muitas empresas. Mas os melhores empregos demandam exigências e responsabilidades maiores que jus- tificam maiores salários e cargos em empresas que tendem a crescer rapidamente, da mesma forma que podem também desaparecer, pois a área de tecnologia se modifica rapidamente. Para o mercado, tanto a graduação quanto a certificação são diferenciais curriculares, assim como a experiência de trabalho. Para se destacar, é interessante acumular todos esses diferenciais. Fonte: o autor. 29 1. A linguagem Java possui uma característica fundamental que é a programação baseada em um paradigma de programação específico. Com as novas imple- mentações, está agregando conceitos de outro paradigma. Quais os nomes desses dois paradigmas aos quais se refere o enunciado? 2. Uma das bases da implementação da linguagem Java foi a linguagem C++, que serviu de base para boa parte da sintaxe do Java. Diversos recursos de uma lin- guagem são utilizados na outra, mas existem dois que não estão presentes de- vido à forma como é programar em java e seu paradigma. Cite esses recursos importantes que são implementados de forma distinta em Java com rela- ção à linguagem C++. 3. Uma forte característica da linguagem Java é a sua portabilidade de código. O que vem a ser característica? 4. Para garantir esta portabilidade citada na questão anterior, um código em Java não é executado diretamente, como ocorre na interpretação de linguagens como HTML, mas por meio de passos. Um desses passos é a compilação do códi- go escrito em linguagem Java em um tipo de arquivo intermediário e compatí- vel com a plataforma a ser interpretada. Como se chama esse arquivo interme- diário gerado pelo compilador Java e como se chama o compilador? 5. Dentre os tipos de aplicações desenvolvidas em Java temos um chamado J2ME, voltado para um destes tipos. Descreva qual seria este tipo de aplicação e para qual tipo de uso. MATERIAL COMPLEMENTAR Java - Como Programar - 8. ed. 2010 Paul J. Deitel e Dr. Harvey M. Deitel Editora: Prentice Hall Sinopse: Já em sua oitava edição, este livro completo aborda inúmeros conceitos associados à programação em linguagem Java, abordando desde a programação básica, teoria do paradigma orientado a objetos e criação de interfaces grá� cas. REFERÊNCIAS 31 MANZANO, J. A. N. G. Java 7 - programação de computadores: guia prático de introdução, orientação e desenvolvimento. 1 ed. São Paulo: Érica, 2011. ORACLE, University. JAVA SE. [on-line]; Disponível em: http://education.oracle.com/ pls/web_prod-plq-dad/ou_product_category.getPage?p_cat_id=267. Acesso em 29 mai. 2017. REFERÊNCIAS ON-LINE 1 Em: <https://www.java.com/pt_BR/download/win10.jsp> Acesso em: 29 mai. 2017 2 Em: <http://www.oracle.com/technetwork/articles/javaee/javaee6overview- -part2-136353.html> Acesso em: 08 jun. 2017 GABARITO 1) Ponteiros e Registros. 2) Orientado a Objetos e Funcional. 3) Capacidade de um mesmo código poder ser executado em diferentes platafor- mas e sistemas operacionais sem a necessidade de alterações no código, tendo apenas que utilizar para cada plataforma a JVM compatível e adequada. 4) Bytecode gerado pelo compilador Javac. 5) É relativo às aplicações para dispositivos móveis com menor capacidade de hardware, normalmente como telas menores ou hardware menos potente em termos de processamento ou armazenamento temporário e permanente. U N ID A D E II Professor Esp. Ronie Cesar Tokumoto PARTICULARIDADES DA LINGUAGEM JAVA Objetivos de Aprendizagem ■ Complementar os conceitos iniciais vistos na unidade anterior. ■ Conhecer como se pode desenvolver software em Java tendo acesso a exemplos de plataformas e ambientes de desenvolvimento. ■ Saber como pode ocorrer o processo de programação em Java. ■ Conhecer quais são os tipos de aplicativos criáveis em Java. ■ Entender conceitos de pacotes de desenvolvimento e como ocorre a compilação e execução em Java. ■ Compreender como ocorre o processo de uso de uma aplicação desenvolvida. Plano de Estudo A seguir, apresentam-se os tópicos que você estudará nesta unidade: ■ Ambiente de desenvolvimento Java ■ Plataformas Java ■ Formas de programação em Java ■ Tipos de aplicativos ■ Pacotes de desenvolvimento ■ Compilação e execução INTRODUÇÃO Iniciamos uma nova etapa de estudos. Essa segunda unidade complementa a unidade anterior, em que vimos conceitos relacionados à história da linguagem Java, e detalhes mais técnicos como suas características e funcionalidades que permitiram à linguagem se tornar tãopopular. Nesta unidade, damos continuidade ao conhecimento de aspectos da lin- guagem Java, mencionando aspectos de como é o funcionamento de aplicações em linguagem Java, tratando de como estas aplicações necessitam de um sof- tware para interpretação das aplicações em cada diferente sistema operacional. Comentaremos também como as evoluções tecnológicas afetam constan- temente o mercado de desenvolvimento, criando demandas e abrindo espaços para novas linguagens e oportunidades, fazendo com que constantes mudanças na implementação da linguagem Java sejam necessárias para manter sua atrati- vidade entre os profissionais. As opções de aplicações diferentes possíveis de serem desenvolvidas também são retomadas para reforçar sua flexibilidade na criação de software e acrescentar pontos adicionais sobre tipos de aplicações e o uso de interfaces gráficas em projetos. Recursos complementares, como bibliotecas com conteúdo pronto para uso em novos projetos são citados para mostrar, a exemplo do que ocorre em outras linguagens, que criar um banco de bibliotecas prontas pode facilitar e melhorar o processo de desenvolvimento. Para o trabalho com Java, é preciso ter instalado na estação de trabalho um pacote de desenvolvimento de acordo com a plataforma instalada para realizar os procedimentos de compilação e execução de aplicações, além de outros recur- sos adicionais citados ao longo do livro. Para finalizar, o processo em si de compilação e geração do arquivo inter- mediário para execução é tratado na última parte da unidade, exemplificando de que forma proceder para realizar estas etapas do desenvolvimento e teste de aplicações. Seguindo adiante, na próxima unidade serão tratados os fundamentos da programação na linguagem Java e os primeiros aspectos como tipos de dados e instruções básicas já poderão ser conhecidos. Introdução Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 35 PARTICULARIDADES DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IIU N I D A D E36 AMBIENTE DE DESENVOLVIMENTO JAVA Olá, caro(a) aluno(a). É importante citar que neste primeiro tópico, indepen- dentemente da opção de editor ou ambiente de desenvolvimento utilizado para criar programas em Java, um arquivo contendo código na linguagem Java com extensão “java” é convertido para criar arquivos bytecode com extensão “class” através de um compilador Javac, por exemplo. Em um ambiente de desenvolvimento, o compilador Javac é componente pré- -instalado ou que pode ser adicionado no caso de ambientes que podem aceitar mais de uma linguagem de programação diferentes. Este ambiente é capaz de compilar o código Java para geração do arquivo bytecode e interpretar o código em tempo real para testes de execução de dentro do próprio ambiente de desen- volvimento (MANZANO, 2011). Bytecodes são interpretados e executados por meio de máquinas virtu- ais chamadas de Java Virtual Machine (JVM), que funcionam como um tipo de software que emula um ambiente padrão para execução de código bytecode próprio para cada plataforma na qual seja executado. Esse arquivo intermediá- rio bytecode elimina incompatibilidades entre um programa Java codificado e as diversas plataformas em que pode ser executado, pois a máquina virtual Java tem versão própria para cada plataforma (MANZANO, 2011). A JVM carrega o arquivo bytecode para memória principal do hardware, verifica o arquivo na busca de possíveis ameaças ao próprio sistema operacio- nal em que será executado, e, por fim, o programa é executado de forma híbrida entre interpretação e compilação Just-in-Time (JIT) (MANZANO, 2011). Ambiente de Desenvolvimento Java Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 37 Basicamente, no processo de execução de bytecodes em uma JVM, o compi- lador converte partes essenciais destes arquivos bytecode utilizados com maior frequência em código de máquina para melhorar o tempo de execução, e os demais componentes do bytecode são interpretados de acordo com a execução em função de não serem elementos prioritários à execução. A Figura 1 mostra um diagrama simplificado do processo completo que ocorre na linguagem Java, desde a criação do código até a execução do software compilado. É importante observar que o diagrama não se altera para as diversas plataformas em que seja desenvolvido. Figura 1 - Diagrama simplificado da criação de software com Java Fonte: o autor. Programar em linguagem Java oferece uma vantagem muito interessante, que influenciou em sua grande popularização - chamada de portabilidade -, na qual um mesmo código pode ser utilizado em diferentes sistemas operacionais. Por meio da portabilidade, códigos criados em linguagens que contemplam esta característica reduzem o tempo de desenvolvimento de softwares por não serem necessárias ver- sões diferentes para cada plataforma em ques serão executados (MANZANO, 2011). Na área de desenvolvimento de software, a redução de tempo não é a única vantagem, pois a portabilidade facilita a contratação de mão de obra especiali- zada, e a mesma necessita de um menor tempo de desenvolvimento devido a não necessidade de desenvolver mais de uma versão do mesmo software. Muitos profissionais da programação dizem que aplicações em Java são len- tas e as descartam em situações com exigência de desempenho. Mas então, por que existem equipamentos que rodam com Java? PARTICULARIDADES DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IIU N I D A D E38 PLATAFORMAS JAVA Aplicações desenvolvidas em Java permitem forte portabilidade, o que é comen- tado diversas vezes em qualquer literatura sobre a linguagem, já que representa um de seus grandes trunfos, que permitiram a rápida e enorme popularização da linguagem. No caso da linguagem Java, é usado um software emulador chamado de máquina virtual (JVM) e as chamadas API Java (Java Application Programming Interface), que são compostas por coleções de componentes de software prontos, contendo classes e métodos prontos para manipulação de estruturas de arquivos ou construção de aplicações gráficas, por exemplo (MANZANO, 2011). Esta forma de desenvolvimento permite que cada sistema operacional dife- rente, chamado de plataforma dentro do aprendizado neste livro, possua uma JVM adaptada ao seu sistema e permita que um mesmo código desenvolvido em Java possa ser executado em qualquer plataforma sem a necessidade de alte- rações no código, salvo em casos em que algum recurso for inexistente ou não contemplado pela própria linguagem para determinada plataforma. Figura 2 - Ilustração sobre plataformas de execução de aplicações Plataformas Java Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 39 Cada API é como um arquivo contendo classes, métodos e interfaces agrupa- das em pacotes, mas estes conceitos serão abordados no decorrer do livro em momentos oportunos e se necessário. Tendo forte atuação no mercado de aplicativos para a plataforma Android da Google, conseguiu muito de sua popularidade por meio da Internet, tendo aplicativos desenvolvidos em uma quantidade absurda por grandes empresas desenvolvedoras e programadores independentes. No caso da plataforma Android, o desenvolvimento de aplicações permitiu que a linguagem se popularizasse e muitos bons programadoressaíssem do ano- nimato para reconhecimento quase instantâneo, por meio de aplicativos muito bem sucedidos. Em outras plataformas, como Linux e Windows, também acabou sendo muito utilizada a linguagem devido à portabilidade e capacidade de, além do desenvolvimento de softwares completos, pequenos plugins chamados Applets, que foram populares por muito tempo para dinamizar a navegação na Internet. É possível perceber que a grande comunidade de desenvolvedores Java continua criando componentes e aplicações o tempo todo, incentivando cons- tantemente grandes evoluções na linguagem, devido à gama de profissionais de desenvolvimento de diversos tipos de software que utilizam a linguagem Java e se adaptam às evoluções e necessidades do mercado da tecnologia da Informação. Atualmente, com a evolução da Internet das Coisas, a qual permitiu que o hardware estivesse cada vez mais próximo do usuário em dispositivos antes igno- rados em termos de software (como relógios), a linguagem se adapta às novas necessidades de aplicações e, assim, mantém-se forte no mercado. Pode ocorrer de alguma linguagem mais recentes no mercado, como as lin- guagens Go da Google, Hack do Facebook, ou Swift da Apple, desbancarem o reinado das linguagens C, C++ e Java no mercado de desenvolvimento. Mas ainda parece algo pouco provável, por motivos de portabilidade reduzida ou inexis- tente, ou menor flexibilidade no desenvolvimento de diferentes tipos de software. PARTICULARIDADES DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IIU N I D A D E40 Linguagens de programação têm o poder de criar software, mas a correta escolha entre as linguagens é baseada em diversos aspectos, já que muitas linguagens são específicas para certos sistemas operacionais e plataformas, ou para desenvolver tipos específicos de aplicação. Além disso, aspectos como popularidade e recursos que a linguagem possui para facilitar o desenvolvimento também são importantes na definição da ferramenta de trabalho. Conhecer mais de uma linguagem de programação amplia a oferta de op- ções de trabalho, mas é bom sempre ter uma linguagem principal, sobre a qual o desenvolvedor possua um maior domínio e seja capaz de produzir aplicações mais complexas. A dúvida persiste em relação a qual linguagem focar e qual a primeira a aprender. É interessante buscar as linguagens líderes em popularidade e com maior volume de desenvolvedores que a utilizam, pois a chance de a linguagem durar um tempo maior é grande. Mas é preciso levar em conside- ração a forma como o desenvolvedor queira trabalhar e o tipo de software que desejo programar. Fonte: o autor. Formas de Programação em Java Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 41 FORMAS DE PROGRAMAÇÃO EM JAVA A linguagem Java é bastante versátil e permite a criação de diversos tipos de sof- tware, sendo que estes podem ser utilizados em diferentes fi nalidades, desde que sejam executados pelas JVM adequadas para cada sistema operacional em desk- tops comuns, notebooks ou equipamentos como dispositivos móveis, por exemplo. Outra forma bastante comum é a criação de “miniaplicativos” ou applets, que são executados como complementos para navegadores utilizando appletviews para implementar funções adicionais a páginas web como jogos ou anúncios interativos, como já mencionado. Um ponto a ser observado é que estes appletviews precisam ser compatíveis e estarem disponíveis nos navegadores, permitindo atualizações constantes por parte de seus desenvolvedores. No entanto, isso pode causar um inconveniente, pois algumas aplicações prontas e funcionais podem não ser totalmente compa- tíveis com as atualizações dos appletviews e podem gerar erros em sua execução ou falhas repentinas (MANZANO, 2011). A criação de bibliotecas é uma excelente forma de divulgação do profi ssio- nal e de contribuição para a comunidade de desenvolvedores, espalhados ao redor do mundo, pois proporciona contato com profi ssionais que podem vir a ser grandes parceiros de trabalho. Aplicativos para dispositivos móveis e soft wares de maior porte, como jogos, também são responsáveis por boa parte dos profi ssionais da área de desenvol- vimento, permitindo a estes ganhos fi nanceiros diretos com a venda destes aplicativos, ou ganhos com itens para estas aplicações como ocorre com grande quantidade de jogos, os quais, muitas vezes, são até disponibilizados gratuita- mente, mas possuem diversos itens pagos. PARTICULARIDADES DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IIU N I D A D E42 Sistemas complexos podem ser desenvolvidos na linguagem Java por meio do agrupamento de diversas classes nos chamados “pacotes”, os quais permi- tem que aquelas que estejam ali incluídas possam se comunicar e funcionar conjuntamente. É interessante observar que o dia a dia mostra novas oportunidades, e que o contato com empresas e comunidades pode gerar inúmeras formas de trabalho com a linguagem, no desenvolvimento de variados softwares com finalidades específicas. TIPOS DE APLICATIVOS Além de possibilitar formas de programação diferenciadas de acordo com o tipo de software a ser desenvolvido, é possível criar dois tipos básicos diferentes de software. O primeiro é voltado a sistemas que necessitam de melhor desem- penho em detrimento de uma interface amigável, ou, de forma alternativa, que sejam executados em terminais simples ou servidores em modo texto, chama- dos de softwares de modo console (MANZANO, 2011). Estes softwares não apresentam o tipo de interface gráfica padrão dos atu- ais sistemas operacionais, mas são adequados para softwares que rodam em segundo plano ou que não necessitem de interface gráfica para facilitar seu uso, Tipos de Aplicativos Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 43 permitindo uma aparência simples, porém capaz de atender às necessidades para as quais foram desenvolvidos. Outra categoria de software é a desenvolvida para modo gráfico, que gera códigos maiores, de menor desempenho em geral, mas com uma interface muito mais amigável, própria para uso constante em sistemas operacionais gráficos como Windows, Linux, Android e OSX. Estas aplicações oferecem vantagens em troca da perda de desempenho como melhor aparência e experiência para usuários quando conectados ou não à Internet, e são responsáveis pela popu- larização dos softwares, computadores e dispositivos móveis principalmente. Com a inclusão de interfaces gráficas, a gama de aplicações aumenta e é pos- sível pensar em aplicativos para desktops com sistemas operacionais de modo gráfico como Windows, Linux, IOS e Android, por exemplo, usando ou não conexão em rede ou Internet. Por meio das conexões possíveis, vemos que é possível criar aplicações Cliente/ Servidor, comerciais ou não, como sistemas empresariais ou jogos, e aplicações que possam usufruir dos benefícios da Internet, como aplicações para e-busi- ness, que podem conter funções de e-commerce também. Também é possível aproveitar a Internet e a forte divulgação que ela promove para oferecer aplicativos (APPs) diversos para dispositivos móveis que possam ter as mais diversas utilidades e com ou sem custos. Bibliotecas próprias e com- ponentes para aplicações de maior porte também são formas de trabalho com grande potencial, pois as comunidades de desenvolvedores costumam estar sem- pre de olho em soluções prontas para partes de seus projetos (MANZANO,2011). Também podemos nos deparar com melhores implementações de soluções desenvolvidas por um profissional que consulte uma comunidade em busca de aperfeiçoamento profissional e de otimizações para suas aplicações. A variedade e quantidade de opções de desenvolvimento na área de progra- mação em geral é vasta, variando com as inovações e tendências do mercado de tecnologia da informação. Entretanto, cabe ao profissional a busca por estas ino- vações ou permanecer no campo de atuação ao qual já esteja adaptado. Existem várias opções disponíveis de ferramentas para a produção de códi- go em Java, com seus pontos positivos e também negativos. Sendo assim, com um conhecimento prévio das mesmas, qual a melhor ferramenta para se utilizar? PARTICULARIDADES DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IIU N I D A D E44 PACOTES DE DESENVOLVIMENTO Da mesma forma que surgem diferentes implemen- tações da linguagem Java, surgem os pacotes de desenvolvimento para profissionais chamados de JDK (Java SE Development Kit). Tais pacotes são distri- buídos gratuitamente pela Internet, atualmente em sites com a logo Oracle, e são fundamentais para o desenvolvimento do aprendizado dos conteúdos deste material (ORACLE, [2017], on-line)1. Complementarmente, temos diversas alternativas úteis para o desenvolvimento de aplicações, sabendo que a combinação de diferentes softwares pode ofere- cer recursos para programação mais abrangente em termos de tipos de aplicações possíveis. O ambiente Netbeans criado pela Sun é um dos mais utilizados, assim como o JDeveloper da Oracle, que atualmente é a plataforma de desenvolvimento ofi- cial para a linguagem Java. Para uso de serviços agregados a Bancos de Dados há a instalação de softwares como o HypersonicSQL, que é totalmente voltado para uso de aplicações Java, Apache Derby que faz parte do pacote de distribui- ção Java sob o nome de JavaDB, e PostGreeSQL, que concorre diretamente com outro servidor MySQL (ORACLE, [2017], on-line) 1. Para a criação de servidores web para Java, duas opções populares são o Jetty, concorrente do Apache Tomcat, que possui uma versão customizada chamada JBossWeb, disponibilizado pela JBoss. Compilação e Execução Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 45 COMPILAÇÃO E EXECUÇÃO Existem ambientes de desenvolvimento para Java, mas independentemente de qual seja utilizado, o resultado final pode ser o mesmo, pois a lógica envolvida no código e o correto uso de palavras reservadas, classes e seus métodos é que realmente determinam a funcionalidade da aplicação a ser criada. Usando o ambiente do PROMPT DE COMANDO (CMD na busca do Windows), é preciso observar que o local em que se encontra armazenado o compilador Java e seus componentes em seu disco, precisa estar contemplado como parte do caminho padrão do sistema para acesso a aplicativos (PATH). A Figura 7 mostra um exemplo de PATH já contendo o caminho para o compi- lador JAVAC na máquina e, caso não esteja, é preciso buscar pela pasta em que esteja localizado o compilador, como no exemplo da figura 7. Pode-se selecionar o caminho indicado como indicado na figura 7 para copiar e colar este caminho no comando PATH, após incluir um sinal de ponto de vírgula (;) adicional no final do caminho PATH já existente, como ficou na figura 7 (;C:\Program Files\Java\jdk1.8.0_77\bin). Assim, temos que o comando PATH mostra como estão os caminhos padrões para localização de aplicações e um comando similar a: PATH=C:\ProgramData\Oracle\Java\javapath; C:\WINDOWS\system32; C:\WINDOWS; C:\WINDOWS\System32\Wbem; PARTICULARIDADES DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IIU N I D A D E46 C:\WINDOWS\System32\WindowsPowerShell\v1.0\; C:\Program Files (x86)\Skype\Phone\; C:\Program Files\Java\jdk1.8.0_77\bin. Ajusta quais são as pastas e discos válidos como padrões. As Figuras 6 e 7 ajudam no processo de ajuste do caminho para simplificar o uso dos recursos do pacote JDK de desenvolvimento Java indicando como obter o caminho para a pasta em que estão os recursos e como conferir pelo Prompt de Comando do sistema operacional Windows, por exemplo. Figura 6 - Exemplo de janela para buscar o caminho do compilador JAVAC Fonte: o autor. Figura 7 - Exemplo de Prompt indicando o caminho padrão com o comando PATH Fonte: o autor. Compilação e Execução Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 47 Após o ajuste do ambiente de trabalho, é possível incluir o código em um editor simples qualquer como o Bloco de Notas do Windows, confome mostra a Figura 8. Figura 8 - Exemplo de código Java digitado em editor de texto simples Fonte: o autor. Depois de digitar o código, grave-o em local adequado para seus estudos como uma pasta exclusiva para os códigos do livro e outros para exercício da linguagem, lem- brando que todo arquivo Java será gravado com o nome da classe principal (seguindo as regras de nomenclatura do sistema operacional), e a extensão java como na figura 9. Observe que, no caso do Bloco de Notas, é interessante indicar o tipo como Todos os arquivos para que a gravação não corra o risco e crie um arquivo do tipo TXT ao invés de java. Sem esta opção, poderia ser criado um arquivo seme- lhante a Ex1.java.txt, o que não seria compreendido pelo compilador javac. A Figura 9 mostra a tela de gravação de arquivos, na qual podemos escolher o local para gravação, em que é indicado respeitar uma organização de locais de gravação para as diferentes aplicações desenvolvidas, e a indicação do nome para o arquivo fonte, respeitando a regra de este nome ser igual ao da classe con- tida no código. PARTICULARIDADES DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IIU N I D A D E48 Esta é mais uma precaução do que uma ação obrigatória, pois para outras situações ou sistemas operacionais, pode acontecer do editor usar todo o nome digitado “Nome.java” como nome do arquivo. Figura 9 - Exemplo de gravação no aplicativo Bloco de Notas Fonte: o autor. Após a correta gravação do arquivo, pode-se utilizar o prompt de comando para compilar o código Java e depois executar o aplicativo criado, confome mostra a Figura 10, na qual temos a sequência de todos os passos para realizar esta tarefa. Primeiramente, usa-se o comando E: para seguir ao disco desejado, no qual esteja gravado o arquivo de extensão java, lembrando que cada programador organiza seus arquivos em disco como achar melhor, podendo, inclusive, gra- var tudo referente aos estudos em um pendrive vazio. Em seguida, é usado o comando CD para seguir até a pasta de trabalho. O comando DIR permite lis- tar os arquivos contidos na pasta escolhida. Assim, estando no local correto e tendo encontrado o arquivo com o código desejado, é possível realizar a compilação por meio do JAVAC, indicando o nome do arquivo com o programa (Ex1.java por exemplo). Depois, caso não ocorram Compilação e Execução Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 49 erros, um arquivo do tipo CLASS é gerado contendo a conversão de linguagem Java para Bytecode, que pode ser interpretada e executada pelo JAVA confome a Figura 10. Figura 10 - Exemplo de acesso aoarquivo JAVA, sua compilação e execução Fonte: o autor. Com isso, encerrando a unidade, vemos que a proposta do material é de ensi- nar os fundamentos da linguagem Java e da programação orientada a objetos, sem depender de ambientes integrados e receitas prontas. PARTICULARIDADES DA LINGUAGEM JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IIU N I D A D E50 CONSIDERAÇÕES FINAIS Nesta unidade foram vistos diversos conceitos complementares à unidade ante- rior, sendo possível conhecer mais aspectos da linguagem e compreender o motivo de sua popularidade e eficiência. O ambiente em que são desenvolvidas as aplicações é muito importante, pois mostra de que forma linguagem Java, a qual possui uma forma um pouco diferente da maioria das demais linguagens de programação, desenvolve suas aplicações para garantir uma forte portabilidade entre as diferentes plataformas utilizadas em diferentes meios de execução de aplicações, como computadores e dispositivos móveis. Complementando o ambiente de desenvolvimento, são citados os diferen- tes sistemas operacionais que oferecem diversas plataformas de execução para as aplicações criadas e que, independentemente dessas diferenças, permitem que um mesmo código em Java possa ser executado em diferentes plataformas, devido a sua portabilidade. Seguindo os conceitos tratados na unidade, há comentários sobre as formas de programação que destacam tipos diferentes de soluções com os quais um determinado desenvolvedor pode se especializar indicando se inclusive, áreas já ultrapassadas no mercado, mas que ainda apresentam situações de uso que já garantiram o trabalho de muitos profissionais. Assim, as diferentes formas de criar software em linguagem Java são descritas oferecendo possibilidades diversas e indicando soluções mais simples para fins específicos, como software para máquinas sem necessidade de interface gráfica, sendo mais leve e eficiente, ou soluções mais complexas com interface gráfica para equipamentos como dispositivos móveis. Finalizando a unidade, são tratados os pacotes utilizados para o desenvol- vimento de software e o processo de compilação e execução de aplicações em diferentes plataformas. Com esse preparo, já é possível ingressar em uma nova unidade, contem- plando os primeiros pontos a serem vistos em relação à linguagem Java e seus conceitos iniciais de desenvolvimento de aplicações. 51 Em Linux, para preparar o ambiente para programação em Java é preciso instalar o pa- cote Java JDK, seguindo os passos indicados a seguir. Vale lembrar que tais passos po- dem ser alterados devido às novas versões e à descontinuidade do pacote indicado no conteúdo a seguir. Abrir uma janela terminal para, em seguida, usar o comando “su” para entrar em modo super usuário inserindo a senha necessária para tal. Em seguida, entrar na pasta Downloads, com o comando “cd downloads”, e finalmente, o comando de instalação “rpm –jvh jdk-7-linux-i586.rpm”. Depois de baixado o pacote, usar “mkdir/usr/java/jdk1.7.0/jre/classes” para criar uma pasta Classes para trabalho e remover o arquivo de instalação com o comando “rm jdk- -7-linux-i586.rpm”. Após instalado, é preciso que o Java seja visível em toda extensão do ambiente Linux e, para isso, é preciso manipular variáveis de ambiente do sistema operacional. Siga a sequência de comandos a seguir para servir de guia para o processo, iniciando com “cd /etc/profile.d” para acessar a pasta indicada, digitando em seguida, “touch /etc/ profile.d/java.sh”. Depois, use novamente “cd /etc/profile.d”, seguido do comando “joe” para poder editar as variáveis de ambiente, como indicado a seguir: #!/bin/sh JAVA_HOME=”usr/java/jdk1.7.0” CLASSPATH=”.:$CLASSPATH:$JAVA_HOME/jre/classes” PATH=”$JAVA_HOME/bin:$PATH” export JAVA_HOME CLASSPATH PATH Finalmente, utilize [CTRL+K] seguido de [X] para gravar o arquivo como “java.sh”. Assim, temos uma das possíveis formas de se instalar e preparar o ambiente Java em Linux, lembrando que, em caso de falha no processo, a Internet oferece diversas varia- ções em que é possível encontrar atualizações regulares do ambiente Java. Fonte: o autor. 52 1. Um bom profissional de desenvolvimento de software se prepara para garantir uma melhor qualificação em termos de conhecimento e experiência profissio- nal. Iniciantes não possuem a experiência ainda, mas podem se preparar através de que recursos? 2. A JVM é por meio por interpretar e executar arquivos bytecode gerados pelo compilador Javac. Esta chamada máquina virtual aceita arquivos compilados com uma extensão específica gerada por meio do arquivo de código gravado com outra extensão específica. Cite as duas extensões. 3. Existem duas formas essenciais de desenvolvimento de aplicações em Java. Uma delas se da por meio da linha de comandos para compilar e executar programas através de utilitários próprios para tais tarefas inclusas no pacote JDK. Como se chama a alternativa de desenvolvimento que oferece alguns recursos adi- cionais, além dos oferecidos pelo compilador e JVM de linha de comando? 4. A linguagem C++ gera aplicações por meio do seu processo de compilação, o qual serve para criar arquivos que podem ser executados, independentemente de outros softwares. No caso da linguagem Java, isso não ocorre e a aplicação precisa da JVM pa-ra ser executada. Qual o motivo desta diferença? 5. É possível desenvolver aplicações de tipos diferente, e com funções distintas em Java. Este é um exemplo da versatilidade da linguagem. Um destes tipos se cha- ma applet e aos poucos está sendo descontinuado. Por que esta situação está ocorrendo? Material Complementar MATERIAL COMPLEMENTAR Java Para Iniciantes: crie, compile e execute programas Java rapidamente - 6 ed. 2015 Herbert Schildt Editora: Bookman Sinopse: Conheça os fundamentos da programação Java com Herbert Schildt, autor best-seller de publicações sobre programação. O livro aborda recursos avançados e básicos de forma muito bem trabalhada. REFERÊNCIASREFERÊNCIAS 54 MANZANO, J. A. N. G. Java 7 - programação de computadores: guia prático de introdução, orientação e desenvolvimento. 1 ed. São Paulo: Érica, 2011. ORACLE, University; Java SE. [on-line] Disponível em: <http://education.oracle. com/pls/web_prod-plq-dad/ou_product_category.getPage?p_cat_id=267>. Aces- so em 30 mai. 2017. REFERÊNCIAS 55 1) Cursos livres ou técnicos, Graduações, Especializações e Certificações na área. Participação em eventos e palestras também ajudam no conhecimento, além de proporcionar a criação de uma rede de contatos. 2) .JAVA e CLASS. 3) IDE (Ambiente Integrado de Desenvolvimento). 4) As aplicações em Java não são executáveis como em C++ devido à premissa de todo código Java ser portátil independentemente da plataforma, sendo que o arquivo bytecode de uma aplicação pode ser executado em várias plataformas, ao passo que na linguagem C++ é preciso recompilar o programa após corrigir as incompatibilidades da linguagem com cada versão de sistema operacional. 5) Os navegadores, aos poucos, estão descartando o uso de plugins que não pos- sam ser incluídos no próprio código deles e necessitam de terceiros para de- senvolver as mas atualizações esse. Assim, aos poucos, os navegadores estão deixando de ser compatíveis com este tipo de aplicativo. GABARITO U N ID A D E III Professor Esp. Ronie Cesar Tokumoto INTRODUÇÃO À PROGRAMAÇÃO JAVA Objetivos de Aprendizagem ■ Conhecer os conceitos básicos da programação Java. ■ Compreender como elaborar instruções comuns. ■ Saber identificar operadores e suas regras de uso. ■ Compreender a elaboração de expressões na linguagem. Plano de Estudo A seguir, apresentam-se os tópicos que você estudará nesta unidade:■ Fundamentos de um programa Java ■ Instruções básicas ■ Expressões ■ Identação e espaçamento INTRODUÇÃO Nas unidades anteriores, foram apresentados os aspectos fundamentais da lin- guagem Java e a forma pela qual ela permite a criação de diferentes tipos de software, por meio de um processo particular de compilação e execução de apli- cações, no qual uma máquina virtual adaptada a cada plataforma de execução se encarrega de interpretar o projeto e manter a portabilidade do código sem que, geralmente, haja a necessidade de alterações. Nesta unidade, são iniciados os estudos da linguagem em si, mostrando os conceitos fundamentais da linguagem Java em relação a todos os aspectos ini- ciais que devem ser conhecidos. Dentro das instruções básicas, será tratada a questão documental de um código, por meio de comentários e documentação gerada por um utilitário con- tido no pacote de desenvolvimento. Os tipos de dados mais importantes da linguagem também são citados, mos- trando diferenças entre eles e indicando, a partir de exemplos, como devem ser utilizados em variáveis e constantes. É válido destacar que variáveis são pontos fundamentais da programação e não poderiam deixar de ser citadas devido a sua expansão para o título de atributos dentro da programação em Java orien- tada a objetos. Os chamados “tipos de dados” associados a estas variáveis representam a base de toda a funcionalidade de uma aplicação, já que, em geral, todo software se baseia no fundamento de servir como meio para que ocorra o processamento de dados de entrada, gerando dados de saída que podem representar informa- ções mais complexas. Atrelado à ideia de tipo de dado, será tratado o uso de operadores, os quais permitem realizar modificações em conteúdos de variáveis, podendo também ser utilizados em diversas outras funções, como cálculos que podem utilizar, inclusive, valores definidos para constantes. Complementando os conteúdos da unidade, temos os conceitos de criação de expressões, utilizando operadores, e da chamada identação de código, que permite uma melhor leitura e compreensão de códigos. Introdução Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 59 INTRODUÇÃO À PROGRAMAÇÃO JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IIIU N I D A D E60 FUNDAMENTOS DE UM PROGRAMA JAVA Daremos início a mais uma unidade, caro(a) aluno(a). Neste primeiro tópico, é importante citar que toda a construção de código Java segue regras, as quais pre- cisam ser respeitadas de forma que, além da sintaxe, a semântica de um código possa ser validado pelo compilador da linguagem para que um arquivo byte- code válido possa ser gerado. O uso do paradigma de orientação a objetos é uma destas regras essenciais e, sem ela, não é possível criar programas em Java válidos para um compilador (ORACLE, [2017], on-line)1. Temos basicamente dois tipos de arquivos usa- dos na programação Java: um corresponde ao código escrito em si, gravado em arquivo do tipo JAVA, e outro que é gerado pelo compilador em formato byte- code do tipo CLASS, como citado anteriormente. Como o arquivo JAVA é um arquivo texto comum, não é preciso utilizar recurso especial além de um editor de textos simples para codificar programas em Java, assim como em outras linguagens compiláveis. Existem diferentes formas de programação em Java, nas quais é possível criar softwares aplicativos no modo console, em que não existe interface gráfica e a programação não é fundamentada na web. Pode-se criar software para o modo gráfico utilizando pacotes próprios para uso de recursos, como janelas e desenho de forma geral, amplamente voltado para plataformas com interface gráfica como Windows e Linux, além de amplo uso em plataformas web como Android. Instruções Básicas Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 61 INSTRUÇÕES BÁSICAS Um programa criado em qualquer que seja a linguagem de programação tende a utilizar certos recursos básicos comuns a diversas linguagens e também na maioria dos problemas a serem resolvidos. A seguir, serão apresentados alguns destes recursos, os quais devem ser com- preendidos para se formar uma base de conhecimento inicial que dará suporte para o aprendizado futuro de conceitos mais avançados ou inovações que venham a complementar os contidos neste material. COMENTÁRIOS O processo de programação exige muito mais trabalho intelectual em rela- ção ao trabalho manual de digitação, e cada profissional possui sua forma de implementar código. Assim, todo o ciclo de vida de um software envolve o desen- volvimento de código, mas também envolve a manutenção do mesmo enquanto estiver sendo utilizado. Alguns softwares chegam a ser utilizados por décadas, mesmo que ocorram evoluções tecnológicas de hardware e software, pois mudanças em certos siste- mas são inviáveis devido ao seu tamanho e complexidade. Softwares em geral sofrem manutenções esporadicamente e estes softwares legados também, mas independentemente de qual seja o software, muitas vezes é preciso adicionar novas funcionalidades ou adequar outras já existentes. Para facilitar o trabalho de manutenção, o uso de comentários dentro do código facilita a interpretação do que foi logicamente implementado e permite que, além do próprio programador que gerou o código, outros possam com- preender e realizar a manutenção necessária no mesmo com maior facilidade. INTRODUÇÃO À PROGRAMAÇÃO JAVA Reprodução proibida. A rt. 184 do Código Penal e Lei 9.610 de 19 de fevereiro de 1998. IIIU N I D A D E62 É preciso ter em mente que um software pode ter um ciclo de vida mais longo que o responsável pela sua criação dentro da empresa responsável pelo desen- volvimento e/ou manutenção do mesmo por tempo indeterminado. Importa observar que os comentários não são obrigatórios em programas; seu uso não influencia a lógica do código, até porque qualquer comentário colo- cado dentro de um código é descartado já no processo de compilação e geração do arquivo bytecode por não ter função na execução do software. Podemos utilizar // ou /** e */ para delimitar comentários, sendo a primeira forma para comentários de linha única, e a outra forma para delimitar blocos de comentários como indicado nos exemplos a seguir: //código1 // Comentário de linha única. /* Início de bloco de comentário Que pode seguir por linhas abaixo até que seja encontrado O símbolo de fim do bloco de comentários */ Uma instrução pode ser colocada na mesma linha, desde que antes do símbolo indicador de comentário para não perder sua função por transformar-se em parte do texto do comentário. Já no bloco de comentários, quaisquer instruções colocadas entre o espaço delimitador de início e fim do comentário perde sua função, pois estando dentro de um comentário, qualquer conteúdo é descartado pelo compilador (DEITEL, 2010). Instruções Básicas Re pr od uç ão p ro ib id a. A rt . 1 84 d o Có di go P en al e L ei 9 .6 10 d e 19 d e fe ve re iro d e 19 98 . 63 JAVADOC O chamado comentário de documentação inicia com o indicador /** e termina com o outro indicador */, permitindo que as informações sejam adicionadas dentro desses blocos de comentários, podendo, posteriormente, ser utilizados pelo utilitário Javadoc e faz parte do pacote JDK, para inserir tais comentários em arquivos HTML. É uma boa forma de documentar
Compartilhar