O que é Java Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/ 1 Objetivos • Responder o que é Java; • Mostrar as vantagens e desvantagens do Java; • Compilar e executar um programa simples. 2 Java • Lançamento focado no uso em clientes web (browsers) para rodar pequenas aplicações (applets). • Foco atual no lado do servidor. • Desenvolvido e mantido pela Sun e seu site principal é o http://java.sun.com 3 Máquina Virtual • Esquema de geração de código executável em C • O código fonte é compilado para uma plataforma e sistema operacional específicos. • O código executável (binário) resultante será executado pelo sistema operacional e, por este motivo, deve saber conversar com ele. 4 Máquina Virtual 5 Máquina Virtual • Java utiliza do conceito de máquina virtual → uma camada extra de software responsável por “traduzir” o que sua aplicação deseja fazer para as respectivas chamadas do sistema operacional hospedeiro: 6 Máquina Virtual • A aplicação é independente da plataforma ou do sistema operacional onde ela está rodando; • A máquina virtual é um computador simulado por software (semelhante a um avião ou um instrumento musical simulados por software) • Sua aplicação roda sem nenhum envolvimento com o sistema operacional hospedeiro! 7 Máquina Virtual • Bytecode: nome dado ao código binário gerado pelo compilador Java • Write Once, Run Anywhere (WORA) Escreva uma vez e rode em qualquer lugar • Compile Once, Run Everywhere (CORE) Compile uma vez, rode em qualquer lugar • Os dois acronismos acima enfatizam o fato de que o bytecode gerado pelo processo de compilação é independente de plataforma e de sistema operacional. 8 Versões do Java • • • • • • • • Java 1.0 Java 1.1 Java2 1.2 Java2 1.3 Java2 1.4 Java 5 Java 6 Update 18 Existe compatibilidade reversa em todas as versões do Java → bytecodes gerados pelo javac versão 1.2 têm de, necessariamente, rodar na JVM 6.0 9 O que você vai baixar do site da SUN? • Vá até http://java.sun.com/javase/downloads/index.jsp só o JDK ou o JDK mais o NetBeans 10 Onde usar e os objetivos do Java • • Onde usar? – aplicações de médio a grande porte... – desenvolvidas por vários programadores... – envolvendo plataformas (ambientes e sistemas operacionais) heterogêneas... – sujeitas a mudanças freqüentes de requisitos; Forças da linguagem – Inteiramente orientada a objetos → facilidade de manutenção e extensão de software existente; – Independente de plataforma e de sistema operacional – Enorme quantidade de bibliotecas existentes (relatórios, gráficos, sistemas de busca, geração de códigos de barra, manipulação de XML, tocadores de vídeo, manipuladores de texto, persistência, impressão, etc.) 11 Meu primeiro programa Java 12 Usando um editor de textos e o console Passo 1: Inicie o editor de textos – Iniciar → Programas → Acessórios → Bloco de Notas Passo 2: Escreva o código fonte do seu programa no Editor de Textos Passo 3: Salve seu programa em uma pasta qualquer – Arquivo: Alo.java Passo 4: Abra uma janela do console – Iniciar → Executar... → cmd 13 Usando um editor de textos e o console Passo 5: Compilando seu programa – Vá para a janela do console – Vá até a pasta onde você salvou o programa – Para compilar um programa java, digite o seguinte comando: javac [nome_do_arquivo] – Neste caso, digite: javac Alo.java – Se o programa não contiver erros, o compilador cria um arquivo no disco chamado nome_do_arquivo.class ou, neste caso, Alo.class, contendo os bytecodes 14 Usando um editor de textos e o console Passo 6: Execute o programa – Para executar o programa, digite o seguinte comando no console: java [nome do arquivo sem a extensão] – no caso do exemplo, digite: java Alo – Você verá na tela: Alo Mundo! 15 O que aconteceu? 16 O que pode dar errado? • Erro de sintaxe public class Alo { public static void main(String[] args) { System.out.println("Alo Mundo!") } } 17 Outros erros • esquecer o static no main... public class Alo { public void main(String[] args) { System.out.println("Alo Mundo!"); } } 18 Outros erros • não colocar o método main como público... public class Alo { static void main(String[] args) { System.out.println("Alo Mundo!"); } } 19