1. Instalando o JDK - Java Development Kit 1. 2. 3. 4. 5. 6. 7. 8. Vá para : http://www.oracle.com/technetwork/java/javase/downloads/index.html Procure pela versão Java SE 6 Update xx Há duas versões para download: JDK e JRE : clique no botão DOWNLOAD do JDK Clique para aceitar o Oracle Binary Code License Agreement e faça download da versão Windows x86 (versão 32 bits) Dê dois cliques no file jdk-6uxx-windows-i586.exe para iniciar a instalação O programa de instalação vai abrir, clique no botão Next de todas as janelas e por último clique no botão Finish O browser vai abrir para fazer registro do JDK, pode ignorar e fechar o browser Cheque se java foi instalado: Tecle o botão windows -> O menu Start vai abrir. Usando as teclas de setas para direita selecione Rodar e tecle Enter: A janela do Rodar vai abrir, digite cmd e tecle Enter:
O Command Prompt deve abrir : Digite o comando: java -version e tecle Enter : Como resultado do comando digitado vai ser mostrado a versão que foi instalado, se o resultado for algo como "Comando não encontrado", algo saiu errado e você precisa reinstalar novamente.
2. Java A linguagem de programação Java foi criado na Sun Microsystems (adquirida pela Oracle em 2010) por seu criador James Gosling, Mike Sheridan e Patrick Naughton em 1991. O objetivo inicial era criar uma linguagem de programação para uso em tv interativa e em eletrodomésticos. James Gosling queria criar uma linguagem que fosse fácil de entender e de usar para os programadores da época, para isso ele criou a linguagem usando muito da sintaxe da linguagem C e C++ (as linguagens mais usadas e ensinadas na época), ao mesmo tempo queria que a linguagem fosse livre de todos os problemas que ocorriam em linguagens como C e C++, o resultado foi uma linguagem fácil de assimilar, portátil, segura e como muitos dizem: á prova de burros. Como Java consegue oferecer tudo isso? Fácil de assimilar: Java possui uma sintaxe parecida com C e C++ e como são as linguagens mais usadas e ensinadas no mercado, é muito fácil para um desenvolvedor C ou C++ aprender Java Portátil: Um programa em Java não roda (é executado) diretamente pelo processador do computador, mas sim passa primeiro pelo Java Virtual Machine por isso consegue rodar em qualquer computador onde o JVM esteja instalado Segura: Antes de rodar o programa no JVM, o programa precisa ser compilado no que é chamado de Java Bytecodes, o processo de compilação é policiado por uma série de regras que enforçam segurança no resultado final garantindo segurança onde o programa for rodar, além disso o próprio JVM possui uma série de restrições independente do meio ambiente que também enforçam segurança não somente no meio ambiente como no network onde o computador esteja situado Á prova de burros: Java utiliza uma série de critérios para garantir que erros em um programa sejam detectados antes de serem executados, um dos critérios envolve o chamado static typing que requer que todas as variáveis e os tipos dessas variáveis sejam explicitamente declaradas antes de serem usadas em um programa, isso faz com que as ferramentas usadas no processo de desenvolvimento possam implementar sistemas de aviso para garantir segurança quanto ao tipo de dados, erros na chamada de métodos, instanciamento de objetos etc. Outro importante recurso é o GC (Garbage Collector), em linguagens como C ou C++, o desenvolvedor é responsável por alocar e dealocar endereço na memória para uso pelo programa, em Java isso é feito automaticamento pelo Garbage Collector. Nada é realmente á prova de burros mas dentre as linguagens existentes Java é uma das linguagens que mais tentam detectar, avisar e mesmo proibir erros criados durante o desenvolvimento de programas Com o surgimento da Internet, James Gosling percebeu que muitos dos recursos que a linguagem fornecia seriam perfeitos para uso na web, então os esforços foram direcionados para que Java se tornasse a linguagem franca da Internet. A primeira versão (1.0) foi lançada em 1995 e os browsers da época implementaram a capacidade de rodar Java applets nas páginas web. Java 1.0 foi uma versão extremamente lerda e com muitos poucos recursos, para resolver esses problemas o time da Sun trabalhou intensamente e Java 2 foi lançado em 1998. Comparado com Java 1.0, Java 2 era 2 ~ 3 vezes maior e foi dividido em várias versões: J2SE (Java 2 Standard Edition): Para computadores pessoais J2EE (Java 2 Enterprise Edition): Para uso em sistemas empresariais J2ME (Java 2 Micro Edition): Para uso embutido em aparelhos como telefone celular Linguagens como C possuem um padrão definido pelo ISO/IEC, Sun Microsystems também pensou em desenvolver e adotar um padrão pela norma ISO mas voltou atrás e criou o seu próprio padrão controlado pelo JCP (Java Community Process), uma entidade que decide tudo relativo á linguagem Java e que é formado por profissionais de várias empresas ligadas á área tecnológica. A versão de Java para uso em computadores pessoais possue duas versões disponíveis para Download : JRE (Java Runtime Environment): Voltado para o usuário comum, permite rodar aplicativos Java no computador JDK (Java Development Kit): Voltado para desenvolvedores, inclui o JRE e ferramentas para desenvolvimento de programas em Java
A linguagem Java se distingue de outras linguagens por ser uma das únicas linguagens que rodam dentro de uma VM (Máquina Virtual) -> o JVM (Java Virtual Machine) isso possibilita que o mesmo programa escrito para o Windows também rode no Mac OS X ou no Linux, esse é o lema da linguagem Java: "Write Once, Run Anywhere": Desenvolva uma vez, Rode em qualquer lugar A ilustração abaixo ajuda a entender o JVM e o lema da linguagem Java Em 2002, Sun lançou a versão Java2 1.4, até então Java havia se expandido no mercado empresarial de larga escala sendo muito usado na área financeira. As razões para a rápida expansão da linguagem no meio empresarial foi a adaptação da linguagem para as necessidades das grandes empresas que até então estavam sendo forçadas a rodar programas de até mais de 20 anos de idade, extremamente dificeis de fazer manutenção, e que não possuiam um plano de atualização. Em 2004, Sun lançou a versão Java2 1.5 e mudou a denominação da versão de Java retirando o J2 (Java 2) para Java 5.0, e todas as versões futuras seguem esse padrão: Java 6 lançado em 2006, Java 7 lançado em 2011 e Java 8 com lançamento previsto para 2013. Java2 Enterprise Edition passou a se chamar somente JEE e J2ME foi arquivado. Uma versão para criação de UI (User Interface) chamado JavaFX foi atualizado e a versão 2.0 lançado em 2011. Em 2006, Sun Microsystems começou o processo de tornar a linguagem Java Open Source (Código Aberto), o processo foi finalizado em 2007, como resultado foi criado a versão OpenJDK que é a implementação oficial da linguagem Java. Em 2009 ~ 2010, Oracle Corporation comprou a Sun Microsystems e detêm os direitos do uso da marca Java. Em 2010, James Gosling, o criador da linguagem Java pediu demissão. Muitas faculdades e colégios começaram a adotar Java como linguagem principal para ser ensinado aos alunos e desde 2001 a linguagem Java sempre esteve em primeiro lugar no ranking tiobe de linguagens mais utilizadas
(fonte tiobe.com) variando sempre a posição com a linguagem C.
3. Meu primeiro programa em Java 1. Vá para o Local Disk C e crie um diretório chamado workspace 2. Vá para http://notepad-plus-plus.org/ e faça download do notepad++. 3. Abra o notepad++ e digite o texto como está abaixo : public class Programa1 { public static void main(string[] args) { System.out.println("Meu Primeiro Programa!"); } } Na linguagem Java, espaços e linhas em branco são ignoradas portando tanto faz escrever o código acima como no exemplo abaixo: public class Programa1 { public static void main ( String [] args) { System.out.println ( "Meu Primeiro Programa!") ; } } 4. Clique no File menu -> Save as 5. Siga o exemplo abaixo: salve o file dentro do diretório workspace, nomeie como Programa1.java e o encode como UTF-8
6. Abra o Command Prompt (se não estiver aberto) e digite : cd.. e tecle Enter. O comando cd quer dizer "change directory" e os dois pontos.. fazem com que você mude um diretório acima de onde você estiver. Normalmente quando você abre o Command Prompt ele abre dentro do diretório do seu user (C:\Documments and Settings>user). Repita o comando até que você esteja no diretório C, digite então : cd workspace e tecle Enter para mudar para o diretório workspace. Digite dir para listar os files que existem dentro do diretório:
7. Digite javac Programa1.java e tecle Enter Ops se aparecer uma mensagem como 'javac' is not recognized... é porque não configuramos o path do programa javac no windows. Para configurar o path, primeiro precisamos saber o path completo do JDK, vá para C:\Program Files, procure e abra a pasta Java -> procure e abra a pasta jdk1.6_xx -> procure e abra a pasta bin. Na parte de cima do explorer você terá o path completo para a pasta bin, selecione o path completo e faça uma cópia (Control + c):
abra o Start menu -> Control Panel e abra o System: Clique em "Avançado" e em Environment Variables (Variáveis de Meio Ambiente)
Na parte de cima (User Variables) clique no botão New, preencha os dados como abaixo e clique OK Na parte de baixo: Variáveis do Sistema, procure por Path, selecione e clique no botão Editar
Em Valor da Variável, vá para o final da linha, acrescente um ; (ponto e virgula), cole o path copiado e clique OK : Feito isso feche o Command Prompt e abra novamente. Vá para o diretório workspace e digite o comando novamente: javac Programa1.java e tecle Enter; digite o comando java Programa1 e tecle Enter, o programa irá rodar e a mensagem Meu Primeiro Programa! vai aparecer no Comand Prompt O que você acabou de fazer foi : 1. 2. 3. Você criou um programa em Java chamado Programa1 Ao rodar: javac Programa1.java, você compilou o seu programa e ele gerou um file chamado Programa1.class no mesmo diretório: workspace Ao rodar java Programa1, você invocou o Programa1.class compilado e ele foi executado, Parabéns! o programa não faz muita coisa : exibe uma mensagem no Comand Prompt mas é o seu primeiro programa em java.
4. Sintaxe Vamos analisar nosso primeiro programa : public class Programa1 { public static void main ( String[] args) { System.out.println("Meu Primeiro Programa!"); } } Vamos analisar a primeira linha: public class Programa1 public: quer dizer que é público e accessível por qualquer outra parte do programa class: quer dizer que é uma classe (iremos comentar mais a respeito de OOP, por enquanto pense somente que todo o código que você escrever em Java precisa estar contido dentro de uma classe) Programa1: é o nome da classe. Você pode chamar sua classe como quiser, mas precisa seguir essas convenções e regras : Usar camel case no nome. Camel Case é quando você usa maiúsculas na primeira letra de cada palavra: MeuPrograma, MinhaClasse, etc Não colocar espaços entre os nomes (se o nome for composto por mais de uma palavra): Meu Programa, Minha Classe, etc Não iniciar o nome com um número ou simbolo: 2Programa, 345MeuPrograma, #Programa20, etc O nome do file precisa ser o mesmo que o nome da classe. Se sua classe se chama Programa1, o nome do file criado no computador precisa ser Programa1.java O bloco de código dentro da classe precisa ser contido entre duas chaves : Uma boa prática é de criar as duas chaves: de abertura e fechamento antes de escrever algo dentro, garante que você não esquecerá de criar a chave de fechamento public class Programa1 { <- Chave de abertura } <- Chave de fechamento Analisando a segunda linha (método main) : public static void main ( String[] args) { } public: quer dizer que é público e accessivel por qualquer parte do programa static: será explicado mais tarde mas quer dizer que pode ser acessado diretamente sem necessidade de se criar uma instância da classe void: quer dizer que não retorna nada, geralmente para métodos que processam algo mas que não produzem um resultado ou cujo resultado não é necessário ser retornado main: Em programas para rodar em um computador, o método main é o ponto de entrada e inicio do programa. É o primeiro bloco de código executado quando você dá dois cliques para abrir um aplicativo
(String[] args) São os parâmetros que serão passados para o método main, no caso um array de strings chamado args Finalmente temos as chaves de abertura e fechamento do método main. Tudo que estiver contido dentro dessas chaves faz parte do método main e será lido e executado quando o método main for invocado, tudo que estiver fora não é de conhecimento do método Convenção no nome de métodos: O nome dos métodos precisam começar com uma minúscula e seguir o camelcase nas palavras posteriores, ex: calculodatangente, somarprecototal, etc Usar nomes que digam o que o método faz, geralmente começam com um verbo : calculodoperimetro, somatoriadofaturamento, etc Analisando a terceira linha : System.out.println("Meu Primeiro Programa"); System: Classe que faz parte da linguagem Java. Contêm vários métodos utilitários. É uma classe estática e por isso não pode ser instanciada out: Um dos campos da classe System. Contêm métodos utilitários para facilitar no output de dados println(): Método que imprime o que foi passado como parâmetro (dentro dos parentêses) na tela e executa um CR ou LN dependendo do sistema operacional: Carriage Return ou Line Feed = nova linha "Meu Primeiro Programa" em parentêses: Parâmetro que está sendo passado para o método println() ; O ponto e vírgula são necessários no final de toda declaração para que o compilador Java saiba onde começa e termina a declaração de seu código
5. Exercicio Crie um programa chamado NamePrinter que imprima o seu nome no command prompt
6. Usando um IDE - Eclipse Um IDE (Integrated Development Environment) ou Meio ambiente Integrado de Desenvolvimento é uma ferramenta que auxilia, agiliza e oferece vários recursos na hora de desenvolver programas. O eclipse é uma ferramenta muito utilizada em projetos de larga escala. Eclipse era uma ferramenta da IBM originalmente usada no desenvolvimento de programas para a linguagem Smalltalk, hoje o código base do eclipse é Java e é uma ferramenta que foi lançada como open source por um grupo de empresas que incluia: Borland, IBM, Rational, Red Hat, SuSE e outros em 2004. Através de plugins, eclipse é capaz de interpretar, compilar e executar outras linguagens como C, C++, Cobol, Python, PHP, Ruby, Scala, Groovy etc.. e hoje é mais do que somente um IDE, eclipse é uma plataforma que serve inclusive para criação de meio ambientes e UI de programas. 1. 2. 3. 4. 5. 6. 7. 8. 9. Vá para http://eclipse.org Clique no menu Downloads Selecione Eclipse IDE for Java Developers -> Windows 32 bit Quando o download estiver terminado, descomprima o file (de preferência na pasta Program Files) Vá para a pasta descomprimida e abra o programa eclipse Ele vai perguntar para selecionar um workspace (área de trabalho), selecione o diretório workspace criado anteriormente, cheque o "use this as the default..." e clique no botão OK Clique no botão para expandir a janela do eclipse para cobrir todo o monitor Clique no botão para fechar o Welcome screen Clique no botão X para fechar o Task List A interface é dividido em 4 áreas principais de trabalho : A : Package Explorer ou Navigation: Fornece uma lista hierárquica da lista de files do seu projeto B: Área do Editor: Abre o código á ser editado ou criado para que você possa digitar o código C: Outline: Muda conforme o file selecionado e mostra os membros e métodos do file D: Output, mostra mensagens do resultado de comandos assim como imprime o resultado de comandos print no código quando executado Criando um projeto no Eclipse 1. 2. 3. 4. 5. No Package Explorer, right-click e selecione : New -> Java Project Dê o nome de Salario, clique em Finish Uma pasta chamada Salario deve aparecer no Package Explorer, clique no + para mostrar o conteúdo Na pasta src: right-click e selecione: New -> Package
5. No nome do package digite: com.escolaparalelo.curso clique em Finish A pasta src é a pasta onde você colocará todos os códigos do programa. Em projetos imensos (com milhões de files) um problema que pode ocorrer é programadores criando classes com o mesmo nome, para resolver esse problema usamos packages em Java (que é nada menos do que pastas dentro de pastas), packages também serverm para organizar melhor o projeto e mesmo que duas classes tenham o mesmo nome, se estiverem em packages diferentes não haverá problemas na hora de compilacão e execução do programa. Como convenção para o nome de packages é usado o domain name da companhia ao reverso + setor ou nome do projeto Criando a classe Salario 1. 2. Clique no package criado e right-click: New -> Class Nomeie a classe como Salario, cheque o public static void main.. e clique em Finish Como você pode perceber, eclipse gerou a classe Salario, dentro da classe Salario gerou o método main e abriu a classe na área de edição. Você também pode ver que no Outline ele está mostrando os métodos e membros da classe Salario (como somente há um método, é somente isso que é mostrado). Você pode notar também que há algo dentro do método main: // TODO Auto-generated method stub Comentários Em qualquer parte de uma classe, você pode usar comentários para auxiliar a compreensão do código, Java ignora os comentários, eles não são compilados nem executados. Há 3 tipos de comentários que você pode escrever em seu programa :
// Single line: Tudo o que estiver após os dois // serão tratados como comentários e ignorados /* Multiple line: Tudo o que estiver dentro mesmo estando em várias linhas é ignorado */ /** Comentário para o JavaDoc. O JavaDoc é um utilitário que cria documentos baseado no que estiver dentro desse tipo de comentário Aceita estilos html para formatar o output <BR /> **/ A palavra TODO, quer dizer realmente TO-DO (algo a ser feito), é muito útil para quando você pretende deixar uma mensagem de algo importante a ser feito. Quando você quiser procurar pelos lugares onde você deixou um TODO no comentário, basta ir para o menu Window -> Show view -> Tasks e uma lista de todos os lugares onde houver um comentário TODO aparecerá na parte de baixo do eclipse Pequeno exercicio: Dentro do método main crie o código para fazer ele imprimir seu nome. Após criar o código, clique no menu Run -> Run e veja se ele imprimiu seu nome na área de baixo da interface.