Programação em Java – Iniciação – Por Bruno Rodrigues
Este vai ser o meu primeiro artigo no Pplware, como tal, antes de mais peço desculpa por qualquer parte deste post “menos bem conseguida”. Quero-vos falar da Linguagem de Programação (LP) Java. O Java é uma LP object-oriented que surgiu no início dos anos 90, criada pela Sun.
Esta é uma LP muito popular no mundo da programação como podemos ver pela tabela seguinte:
Obviamente, dirão alguns, estas estatísticas poderão estar a mostrar resultados tendenciosos mas, o que é certo é que qualquer que seja a fonte que encontrem, encontrarão sempre o Java pelo menos no top 5, o que diz muito das suas potencialidades.
Principais Vantagens
Não basta dizer que Java é bom só porque sim, quanto a mim, eis as principais “virtudes” do Java enquanto LP:
- Object-Oriented;
- Multi-Plataforma ("write once, run anywhere" – apesar de às vezes não ser bem assim);
- Garbage Collector;
- Sintaxe muito user-friendly e, quanto a mim, muito intuitiva mesmo para novatos;
- Programas muito bem estruturados devido à organização por packages e classes e, devido à capacidade de hierarquizar estas últimas;
- Bom mecanismo para apanhar e tratar excepções;
- Extensa comunidade de programadores o que facilita a resolução de problemas;
- Extensa API com packages para tudo e mais alguma coisa (Redes, Criptografia, Web-Services, Applets, Manuseamento de ficheiros, e muito muito mais do qual espero vir a ter tempo para falar futuramente).
O que eu preciso para programar em Java no meu PC
Para começar a programar em Java não precisa de muita coisa. Antes de mais precisa de fazer o download do JDK (atenção que somente o JRE - Java Runtime Environment - não serve) - Java Development Kit. Poderá fazê-lo do seguinte site: http://java.sun.com/products/archive/.
Em seguida, aconselho a instalação de um IDE - Integrated Development Environment - para desenvolver em Java. Para iniciar talvez um mais simples como o Notepad++ ou o GEdit seja o indicado, no entanto, se pretender avançar a fundo na programação em Java, deverá recorrer a uma ferramenta mais completa pois estas ajudam (e muito!) a aumentar a produtividade. Recomendo, pela minha experiência, o Netbeans (da Sun tal como o Java) ou, o meu preferido, Eclipse. Estes programas poderão ter uma curva de aprendizagem não muito acentuada inicialmente mas, o tempo investido nos mesmos acabará por compensar a longo prazo (no futuro vou tentar escrever uns quantos tutoriais acerca dos mesmos).
Estrutura e Sintaxe
Definição e Diferenças entre Classe e Objecto
Para programar em Java é fundamental perceber o que são classes e objectos. Sendo esta uma linguagem object-oriented, o que o programador faz é nada mais do que definir os objectos e as mensagens com que será possível comunicar com os primeiros.
Ou seja, poderemos considerar um objecto como que uma caixa enquanto que os métodos do objecto são os botões dessa caixa que ao “pressionar” despoletam acções dentro da mesma. Existem botões que poderão não estar disponíveis para carregar do exterior directamente pelo utilizador, só são pressionados pelas acções despoletadas internamente quando o utilizador carrega um dos botões a que tem acesso.
No caso da imagem anterior, o utilizador definiu o objecto tendo no seu interior os métodos A, B, C, D e E. Definiu que o utilizador teria acesso aos métodos A, B e C e, que ao “pressionar o botão A” este internamente accionaria o “botão D” e que, ao pressionar os “botões” B ou C, este accionam o “botão” E. Não é necessário haver acções internas interligadas, poderia-se definir um “botão F” possível de aceder do exterior da “caixa” que quando o utilizador pressiona-se limitava-se a realizar as suas acções.
Quanto às diferenças, se me perguntarem “O que entendes entre classe e objecto? Mas quais são as diferenças?”, eu diria que classe é um modelo ou especificação que define um tipo de objecto enquanto que o objecto em si é uma ferramenta, uma forma de comunicação entre o utilizador e o seu programa, ferramenta essa que apresenta um conjunto de variáveis e métodos definidos na classe. A comunicação é feita enviando mensagens para os objectos. Essas mensagens não são nada mais do que “chamar” os métodos que o objecto disponibiliza para o exterior.
Como definir uma classe
Uma classe em Java obedece – generalizando obviamente – à estrutura seguinte.
A primeira declaração é sempre o package onde a classe se insere (caso esteja dentro de algum obviamente). Em seguida são adicionados os imports de outras packages (bibliotecas) das quais pretendemos utilizar alguns objectos e respectivos métodos, na classe que estamos a definir.
O nome da classe é sempre igual ao nome do ficheiro onde ela está a ser criada (ou seja, o ficheiro teria o nome MinhaClasse.java).
O método com o mesmo nome da classe é nada mais do que o construtor desta. O construtor de uma classe é um método (função) especial que não retorna qualquer valor e que, é chamado sempre que se cria um objecto daquele tipo. Tudo o que estiver dentro do construtor é executado aquando da criação do objecto. Não é necessário definir um construtor uma vez que o Java assume um vazio por omissão. Ao invés, é possível definir vários construtores diferentes, ou seja, construtores que contenham diferentes argumentos de entrada.
E, para finalizar, declaramos e definimos todos os métodos da nossa classe. Caso este seja um ficheiro que será executado, deverá conter um método “especial”, o método main, que é declarado da forma indicada.
Comentários
Para comentar uma linha individualmente utiliza-se ‘//’, para comentar um bloco utiliza-se ‘/* texto a comentar */’.
Modificadores de Acesso
Os modificadores de acesso são palavras reservadas que, quando colocados na declaração de classes, métodos ou variáveis, modificam/limitam o modo como se pode aceder aos mesmos.
Existem os seguintes modificadores de acesso:
- private – só será possível aceder dentro da classe onde o método/variável foi criado(a);
- protected – acessível dentro do package onde foi feita a declaração através de uma subclasse;
- public – sem qualquer restrição de acesso;
- static – a declaração de um método ou de uma variável static serve para:
- aquando a declaração de uma variável dentro de uma classe, para que todas as instâncias de objectos dessa classe possam aceder a essa variável como sendo comum entre todas elas. Ou seja, quando alteram a variável numa das instâncias criadas, o seu valor será alterado em todas as instâncias daquele mesmo objecto;
- quando utilizado na definição de um método para que este seja utilizado apenas na sua classe e não nas instâncias da mesma.
Juntamente com estes últimos, podemos ainda utilizar dois outros modificador: abstract e final.
O abstract quando se aplica a métodos, serve para indicar que o método em causa deverá ser definido nas suas subclasses (classes que herdem a classe onde o método foi definido). No caso das classes, indica que a classe não está completamente definida e como tal não pode ser instanciada (utilizado, por exemplo, em Interfaces).
Já o final, utiliza-se para declarar constantes, ou seja, valores que não são alterados durante a execução de um programa.
Declaração de variáveis
Vamos agora ver alguns aspectos relacionados com a síntaxe da linguagem. A declaração das variáveis obedece à seguinte forma:
Ou seja,
Declarar e Utilizar Classes e Métodos
O que difere um método de outro em Java é a sua assinatura (nome, valor de retorno e parâmetros de entrada. Como tal, um método poderá ser definido da seguinte forma:
É possível utilizar-se um método de uma classe chamando o mesmo dentro dessa mesma classe se este for static ou, declarando um objecto do tipo ClasseDoMetodoAChamar e chamar o dito método (A.B – chama o método B sobre o objecto A, ou seja, o objecto A disponibiliza o método B para para ser invocado e nós invocamo-lo utilizando a notação objecto(ponto)método ).
Extends e Implements
Quando uma classe faz extends de uma outra classe, está a herdar todos os métodos e variáveis definidos na classe que foram criados nessa classe. No entanto, se essa última classe definir uma variável/método que já exista na classe herdada, será feito um override, ou seja, ignora a criação prévia na “classe pai” (o termo é superclasse). Vejam o exemplo seguinte:
O Java não suporta herança múltipla, ou seja, apenas pode “extender” uma classe. No entanto, pode implementar (implements) várias Interfaces como vamos ver.
Uma interface serve para “obrigar” uma classe a ter uma determinada estrutura que a implemente. Nesta apenas estão definidas as assinaturas dos métodos.
Nested Classes
São classes definidas dentro de classes e que serão utilizadas no contexto destas últimas.
Exemplos de Código
Mostro agora alguns exemplos de código Java:
Hello World
Soma 2 números
Compilar e executar os nossos programas
Para correr os programas que desenvolvemos, temos de primeiro compilar o ficheiro .java por nós criado e depois correr o executável gerado. Para tal:
Como compilar o programa?
% javac NomeFicheiro.java
Como executar o programa?
% java NomeFicheiro
Notas:
- O nome do ficheiro contendo código tem de ter o nome da classe executável mais a extensão .java
- A compilação da classe dá origem a um ficheiro com o mesmo nome, mas com a extensão .class
- Para executar, chama-se o nome da classe e não o nome do ficheiro (ex: java Hello e não java Hello.class)
Notas Finais
Nos próximos tutoriais irei dar a conhecer alguns aspectos mais “avançados” não mencionados neste tutorial. Espero que tenham gostado e que seja útil a alguém.
Links Úteis:
Este artigo tem mais de um ano
Muito bom..
belo tutorial..!!
Bom Tutorial,
e sempre bom alguém dar a conhecer aos novatos a programação em java.
Bom Trabalho
Temos um caso de sucesso em java, o Projecto Colibri http://www.projectocolibri.com
abraço e bom tuturial
@Bruno Rodrigues
Excelente tutorial !!! Eu já trabalhei bastante com Java e já tive os dois sentimentos: gostar e odiar 🙂
No entanto continuo a achar que o Java é uma excelente LP pela flexibilidade e mobilidade que permite.
Volto a referir excelente Tutorial !
Obrigado 🙂
E obrigado ao pplware por me permitir publicar este artigo, espero ter a possibilidade de publicar outros tantos pois de facto, como já havia comentado diversas vezes, os artigos de programação são uma mais valia e, não havia ainda nenhum tópico de Java (LP de que gosto particularmente)
Cumprimentos,
Bruno Rodrigues
No ínicio falas de classes/métodos e no final é que falas do “Hello World”. O tutorial está muito bom sem dúvida, mas devias ter adoptado um esquema de apresentação diferente.
Pois, o meu maior problema foi saber o que pôr (haviam coisas que para mim eram triviais mas depois punha-me a pensar e este era um tutorial de iniciação) e, como ordenar o mesmo. Fiz o melhor que pude, pode ser que para a próxima corra melhor 🙂
Cumprimentos
Acredita que eu sei que é muito complicado introduzir uma linguagem. Nota-se perfeitamente que o guia que construíste (e muito bem!) se destina não a iniciados na programação, mas sim a iniciados em Java, com bons conhecimentos de programação em geral e programação orientada a objectos.
Continua!
Excelente artigo.
Sei um pokinho de java, e com certeza aprendi um pouco mais agora.
Sua didática eh boa, espero ansioso os próximos artigos e tutoriais dessa fantástica linguagem.
Parabéns e mto obrigado.
Boa iniciativa
Bom tutorial. Eu por acaso aprendi java ao contrário. Tipo, espetam com o código á frente do hello world seguimos em frente com os ciclos, um pouco a usar “java á lá C” e só depois é que me explicaram as classes e os interfaces e o raciocínio de objectos.
Eu lembro-me que no primeiro ano de Universidade atrofiei um pouco com o Java porque não conseguia entender o conceito da POO (também eram outros tempos, acho que hoje em dia já se começa a programar por objectos no secundário). Talvez por isso tivesse optado por tentar fazer perceber esse paradigma da programação, de modo a que outros não tenham o problema que eu tive.
Obrigado pelo feedback 🙂
“acho que hoje em dia já se começa a programar por objectos no secundário”
Quanto a ti não sei, mas eu estive num curso de informática 3 anos, na escola profissional vasconcellos lebre na Mealhada, e apesar de ter aprendido Pascal/Delphi, e algumas linguagens orientadas para a web como o PHP/Javascript/CSS/HTML/ etc.. nunca me ensinaram nada sobre POO.
E só aprendi POO, e muito mal, quando foi estagiar para a CentralGest.
E na altura aquilo era um bicho enorme que não sabia como compreender.
POO, para mim, é uma coisa que se deve compreender logo desde o inicio, porque se não.. um gajo perde-se.
É mesmo daquelas coisas que, só se deve aprender depois de muito dominar o básico e o intermédio.
E ainda eu, “aprendi” o básico do básico a POO em 2 meses, porque chega do estágio e tentava aplicar o que me ensinaram…
De qualquer forma! 😀
Muito obrigado por este tutorial, andei que tempos para tentar aprender, mas a minha barreira foi logo na instalação do do dito aplicativo para compilar.
Vou experimentar, e espero novas lições! 🙂
Idem… xP
É com abordagens como esse que não consigo concordar… Ensinar programação sem objectos com Java ou qualquer outra linguagem essencialmente OO é contraditório a meu ver. Java não é C. Mas são perspectivas…
Totally agree on that 🙂
Sou programador de JAVA já há bastantes anos, e tenho a dizer que o tutorial está muito bem conseguido, sinceramente já tinha pensado em mandar-vos um mail a pedir tutoriais em JAVA com fazem para C, C#,etc.
O JAVA é extremamente potente como é referido no artigo, mas eu diria que a grande vantagem é que o programa pode ser corrido em qualquer computador que contenha a normal Java Virtual Machine, ou seja, ao contrario de muitas linguagens de programção, é desnecessário a criação de um .exe, pois os ficheiros do programa são descarregados para o nosso computador e corridos pelo próprio, tirando assim o peso de “correr o programa” a servidores, e passando este peso para o cliente final.
Nos últimos dois anos tenho andado a trabalhar com uma placa de desenvolvimento da MAXIM , o TINI, esta placa contem uma JVM, ou seja toda a sua programação é feita em JAVA, o que lhe proporciona capacidades que outras linguagens não suportam, e mesmo que suportem, quase que aposto que não serão tão fáceis de implementar como em JAVA (não digo isto como uma regra ;)).
Se quiserem ver esta potente placa de desenvolvimento em funcionamento passem por http://www.joaomelo.hydroimprovement.com o site inda está em construção, mas tenho lá apresentado o meu projecto final de curso que foi completamente desenvolvido em JAVA…ah e esqueci-me…o JAVA é free 🙂 não há cá chatices de licenças, outra grade vantagem 😉
Abraço e continuem com o bom trabalho 😉
Grande tutorial e boa iniciativa…
Continua!
Não sei se ajuda, mas para mais facilmente diferenciar uma classe dum objecto podem pensar como:
Classe: Estrutura genérica, por ex:Classe “Carro”, com métodos setCor, setPeso…etc
Objecto: Instanciação dessa estrutura, Objecto “car1”, é um carro de cor azul, 1200kg,…etc
A classe permite criar vários objectos diferentes.
O objecto tem as métodos, propriedades ou atributos da classe mas é um caso isolado.
SK, sem dúvida, é a forma mais apropriada.. a maioria dos tutorias de diversas linguagem adoptam essa forma de pensar para melhor compreensão.
class – a fábrica (cria os automóveis)
Propriedade – o produto (carro1, carro2, ..)
métodos – opcionais do produto (cor, modelo, ..)
Parabéns pela iniciativa de dar a conhecer esta linguagem cada vez mais usada e com uma boa saída profissional.
Deixo um conselho a quem usa Mac e pretende desenvolver em Java:
Usem o Xcode, que vem no DVD de instalação do OS X em instalações opcionais, ou saquem da net, pois é freeware.
Epah, não coloquei alternativas de IDE’s/Editores para Mac que nunca mexi trabalhei com um Mac, obrigado pela sugestão que ajuda a completar a informação do artigo 🙂
5 estrelas
Ganhaste um leitor assíduo desta rúbrica.
Excelente iniciativa. Obrigado!
Parabéns, gostei muito do tutorial. Conheço bem C++ mais sempre tive curiosidade de saber as diferenças em relação ao java.
Acho que a tua rúbrica me vai ajudar, pois lê-se muito bem e sem perder muito tempo.. 🙂
Mais uma vez, boa iniciativa:
Já tive oportunidade de o dizer por email, mas também o digo aqui, parabéns Bruno pelo excelente tutorial. Está muito bom. Este tutorial só prova que o Pplware está sempre “atento” às sugestões e opiniões dos nossos caros leitores.
Hélio Moreira
Nem mais 🙂
Excelente iniciativa.
Parabéns.
Cumps,
Manuel Rocha
Adorei o artigo.
Parabéns Bruno, e continua.
Muito bom o tutorial Bruno.
A alguém aqui com coragem de criar um tutorial como fazer extensões para o google chrome.
Elas são feitas em javascript (nasceu no berço da java , mas são diferentes), mas usam alguns dos programas aí referidos.
cumps 😉
Espero que estes tutoriais sejam para continuar e não caiam no esquecimento, por acaso é a linguagem de programação que mais me interessa aprender por um motivo. É multi plataforma…
PARABÉNS…
Vai ser agora que vou começar a mexer no OPENBRAVO POS. 🙂
E no projecto SAFT-PT da SAPO para este software.
Muito bom tutorial é pena que ainda não dê para por o novo SAFT PT a funcionar com o openbravo 🙂 Isto do java parece muito simples mas para um leigo como eu até me revira os olhos 🙂
Eu já consegui mas pretendo mais…
🙂
Pois eu também já compilei a partir das sources do ptPOS mas parece que o projecto anda parado e não vai ter seguimento.
O que interessava mesmo era a nova estrutura de dados do SAFT que entra agora em Janeiro e isso já me passa ao lado.
Acho que o problema nem vai passar por aí mas sim pela futura certificação do software.
Como raio está prevista a certificação de software OpenSource?!???
Esse sim penso ser o futuro problema.
“BotaGel” sempre em frente que vem gente 🙂
Agora a sério, grande iniciativa. Mas que não caia nos mesmos erros de outros tutoriais: Pouco conteúdo de cada vez e com uma periodicidade demasiado alargada.
Não é um erro , depende apenas da disponibilidade das pessoas.
Exacto 🙂
No meu caso, para além do trabalho, ando a redigir a minha tese de mestrado e tenho o meu filhote que me ocupa muito tempo, as outras pessoas devem estar em situações semelhantes 😀
Vou tentar fazer um artigo quinzenalmente, espero que a qualidade seja sempre aquela que pelos vistos está a ser reconhecida neste meu primeiro artigo. O vosso feedback é um enorme incentivo, muito obrigado a todos.
Cumprimentos,
Bruno Rodrigues
Caro membro EuMesmo,
Os membros do pplware têm outra vida para além da que vez. Fazer uma simples noticia dá trabalho e necessita de tempo e paciência, coisa que nos membros do pplware é quase inexistente. Existe pessoal que costuma estar até às 3 ou 4 da matina a fazer os posts que vens aqui ler.
Mas se tu estás indignado, e quem diz tu diz todos os outros que partilham da mesma opinião que tu, sobre a questão dos timings com que este tipo de tutoriais.
Mas se estás indignado porquê que não te propões a fazer um tutorial sobre algo e fazes a actualização diariamente?
Esta proposta aplica-se tanto a ti como a todos os outros que partilham a mesma indignação.
Cumps,
Manuel Rocha
Ora desculpa, mas acho que toda a gente compreende isso. A questão é que se começas algo que em principio vai ter continuação, então tens que dar continuação ou então não iniciar…
🙂
question:
onde arranjaste aquela tabela? e em que é que é baseada? que percentagens são aquelas?
Originalmente tinha o link para o site de onde retirei, mas agora não tenho aqui comigo o documento onde redigi o artigo mas, logo à tarde já te respondo, ok?
De qualquer forma há muita informação por aí, basta googlar por “programming language popularity” e aparece logo uns quantos estudos, análises, etc.. fiz uma comparação das várias fontes para perceber a veracidade/fiabilidade das mesmas e retirei a imagem de uma delas.
Como prometido: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
ok obrigado!
😉
Excelente artigo. Parabéns.
Excelente, nota mil !!!
Não percebí o seguinte… por Bruno Rodrigues mas criado por Helio Moreira… bom, não importa, esta muito bom mesmo
Simples, eu sou meramente um leitor a quem deram a oportunidade (que mais uma vez agradeço) de escrever para o Pplware mas, não pertenço ao mesmo.
Como tal, enviei o artigo ao Hélio e ele publicou 🙂
E fizeste muitíssimo bem. Conforme se pode ver, o resultado é muito positivo, a adesão foi excelente. Só podes continuar, pelo que me parece dos comentários dos nosso visitantes. 😀
Obrigado
Faço intenções de continuar enquanto me permitirem, só espero é conseguir manter o nível nos próximos artigos 🙂
Muito bem explicado sim senhor.
Bom trabalho.
1 abraço.
Jorge Salvador.
Bom tutorial para iniciantes.
Também gosto de JAVA e por isso espero que esta iniciativa seja para continuar.
Como júnior espero poder vir a aprender mais coisas em tutoriais futuros, com um nível mais avançado.
PARABÉNS!
A minha linguagem de eleição sem duvida!!!
Já programei em Java mas agora estou no .NET . Pessoalmente gosto das duas plataformas e o Java tem a vantagem de ser multi-plataforma mais ou menos pacifica. O .NET também é com o Mono, e até já ha um plugin do Icaza para desenvolver no VS.NET para Mono.
A realidade é que desde que mudei para o Visual Studio da MS, com alguns defeitos que tem, não consigo sequer pensar em voltar a outros IDE. A facilidade com que se usa os designers de formularios, o debug, e a produtividade que se consegue com plugins gratuitos como os da devexpress… se amanhã tiver de ir trabalhar em java acho que me dá uma coisinha má. 🙂
Mas atenção, eu reconheço o Java como sendo uma das melhores linguagens e plataformas e o .NET se tem a alcunha de ter copiado o Java é porque o que é bom normalmente copia-se 🙂
Grande iniciativa, de se salutar. Parabens.
Sensacional, muito boa esta iniciativa. Para tornar estes tutoriais mais interessantes seria a inclusão de “um exercício cá para casa”. Muito bom trabalho
Excelente sugestão, a partir do próximo não falha 😀
Olá.
Sem dúvida alguma, um excelente artigo, que merece ser lido mesmo por quem já programa em Java há uns anitos.
Parabéns e que venham mais.
Abraço
Acho que não preciso de dizer mais nada, PARABENS AO PPLWARE por este iniciativa, só faltava mesmo o Java para completar o leque de excelentes tutoriais que temos visto, e como trabalho imenso com Java fico ainda mais contente por finalmente haver uma coluna sobre esta linguação de programação tão versátil.
Fica aqui o meu apoio incondicional a futuras colunas desta linguagem de programação, força ai PPLWARE e seus colunistas :).
Para quem começar a entrar neste novo mundo que é a programação, ou simplesmente quiser partilhar ideias, quiser tirar duvidas a outros utilizadores, ou expor as suas próprias duvidas, visitem:
http://www.portugal-a-programar.org/forum/index.php
Provavelmente alguns já conhecem, aos outros fica o convite de partilhar e aprender!
Esta porreiro para começar
mas penso k deve ser completado com as estruturas de dados (fila pilha array list…)mas como ja disse esta muito bom
Read my mind… Esse é o próximo 😉
Tendo este post como motivação criei um artigo com um Java Beginners Pack, deêm uma vista de olhos e estejam à vontade para fazer o download das ferramentas, o post esta em inglês, mas caso queiram comentar estejam à vontade para o fazer em portugues 😉
Espero não estar a violar nenhuma regra do blog…Caso esteja por favor chamem-me à atenção.
http://joaomelo.hydroimprovement.com/index.php?option=com_content&view=article&id=51%3Ajava-beginner-pack&catid=40%3Adownloads&Itemid=58&lang=en
Já agora pus um link para o pplware no meu site, espero que este também não viole nenhuma política vossa.
Abraço e mais uma vez gratificações pelo excelente trabalho que têm apresentado neste blog 😉
Comecei a aprender Java no 2º ano da universidade, e, para mim, o Java é muito semelhante ao C#, estrutura muito semelhante, declarações de objectos e métodos praticamente da mesma forma, etc.
Uma dica que me ajudou e muito na aprendizagem, quem souber programar em C#, facilmente se adapta ao Java e mais facilmente percebe o Java. Nota, eu não estou a dizer que quem sabe programar em C# sabe programar em Java, simplesmente o Java torna-se mais fácil de se perceber e de se programar nestas condições.
Gostei bastante do post, estou no 2º ano da Univ., e veio a calhar. Sou programador em ASP.NET (VB), e para mim esta linguagem é relativamente nova. No entanto já estou a gostar.
Bom trabalho, obrigado.
Programação em Java – Iniciação – Por Bruno Rodrigues
Pplware
URL: https://pplware.sapo.pt/tutoriais/programacao-em-java-%E2%80%93-iniciacao-por-bruno-rodrigues/
Parabéns!
Muito bom este artigo 🙂
Resumo bastante bom da linguagem de programação Java. Aprendi esta linguagem durante o meu curso todo e actualmente está muito em voga devido ao desenvolvimento de aplicações de telemóvel para Android.