Introdução ao java Alo Mundo

23
Introdução ao Java Mario Jorge Pereira

Transcript of Introdução ao java Alo Mundo

Introdução ao Java

Mario Jorge Pereira

Objetivos

● Descrever as principais características da tecnologia Java● Escrever, compilar e executar uma aplicação simples da

tecnologia Java● Descrever a função da Java virtual machine (JVM)● Definir o que é a coleta de lixo

Sobre a Tecnologia Java

● A tecnologia Java é uma linguagem de programação e uma plataforma.

● Principais Objetivos○ Proporcionar uma linguagem de fácil uso e Orientada a

Objetos○ Proporcionar um ambiente interpretado para aumentar a

velocidade do desenvolvimento e permitir a portabilidade do código

A Linguagem de Programação Java

A linguagem de programação Java é uma linguagem de alto nível que pode ser caracterizada por todas as palavras a seguir:

Simples Arquitetura neutraOrientada a objeto Portável

Distribuída Alto desempenhoMultithre RobustaDinâmica Segura

O paper, The Java Language Environment escrito por James Gosling e McGilton Henry, detalha cada um das características citadas acima.

A Linguagem de Programação Java

● O código fonte é escrito em arquivos com a extensão .java.

● O arquivos .java são compiladas em arquivos .class, pelo javac , o compilador.

● Os arquivos .class contém bytecodes (linguagem da Java Virtual Machine), não contém código nativo para o processador.

● Para executar a sua aplicação utiliza-se o comando java em uma instância do Java Virtual Machine.

A Linguagem de Programação JavaOs arquivos .class da aplicação são executados sobre a máquina virtual Java.

Existe máquina virtual Java disponível para diferentes sistemas operacionais:● Microsoft Windows● Solaris OS● Linux ● Mac OS

Através da máquina virtual Java, o mesmo aplicativo é capaz de rodar em múltiplas plataformas.

A Plataforma Java

●Uma plataforma é o ambiente de hardware ou software em que um programa é executado.

●A maioria das plataformas podem ser descritas como uma combinação de sistema operacional e hardware subjacente.

●A plataforma Java é uma plataforma de software que roda em cima de outras plataformas que tem hardware subjacente.

●A plataforma Java tem dois componentes: ○A Java Virtual Machine○O Java Application Programming Interface (API)

Java Virtual Machine

● A Java Virtual Machine, é a base para a plataforma Java e é portado para diversas plataformas baseadas no hardware.

● A API é uma coleção de componentes de software que fornece diversos recursos para construção de aplicações.

A API e Java Virtual Machine isolam o programa a partir da plataforma baseada no hardware (Sistemas Operacionais).

Tecnologia Java

● Java é uma linguagem de propósito geral● A plataforma oferece a você o seguinte:

○ Ferramentas de desenvolvimento: tudo que você precisa para compilar, executar, monitoramento, depuração e documentar de seus aplicativos .

○ API: classes prontas para uso em seus próprios aplicativos.

○ Tecnologias de implantação: mecanismos para implantação de aplicativos para usuários finais.

○ Ferramentas para Interface : mecanismos que ajudam a criação de interfaces gráfica de usuário (GUI).

○ Bibliotecas de integração: permitir o acesso a bancos de dados e manipulação de objetos remotos.

O que promete o Java

● A tecnologia Java promete:● Simplicidade● Qualidade● Produtividade● Portabilidade

O "Olá Mundo!"

Como compilar e executar um simples "Olá Mundo!"? Para escrever o programa, você vai precisar:1. O Java SE Development Kit 6 (JDK 6)Faça o download da

JDK de acordo com sua plataforma e instale. (Certifique-se de baixar o JDK, e não o JRE).

2. Um editor de textoPor exemplo, o Bloco de Notas, um editor simples incluídas com as plataformas Windows.

Isso é tudo que você precisa para escrever seu primeiro programa.

O "Olá Mundo!"Criando o código fonte: No editor de textos de sua preferência digite: / *** A classe OlaMundoApp implementa uma * aplicação que simplesmente imprime * "Olá Mundo!" para a saída padrão.**/ class OlaMundoApp{ public static void main (String args []) { System.out.println("Olá Mundo!");//Imprime. }}* Digite o código exatamente como esta java é case-sensitive

O "Olá Mundo!"

1. Salve o arquivo com o nome OlaMundoApp.java.Abra o terminal ou prompt de comando.

2. Compile ○ Digite: javac OlaMundoApp.java○ Isso vai criar o arquivo OlaMundoApp.class○ O comando deve ser digitado no mesmo caminho (pasta)

em que esta o arquivo. 3. Execute

○ Digite: javac OlaMundoApp ○ Deve aparecer no terminal o texto: Olá Mundo!

Parabéns! Seu programa funciona!

O "Olá Mundo!"

Agora que você executou o programa detalhar o código.Em negrito temos os comentários, eles são ignorados pelo compilador, mas são de grade ajuda para os desenvolvedores. / *** A classe OlaMundoApp implementa uma * aplicação que simplesmente imprime * "Olá Mundo!" para a saída padrão.**/ class OlaMundoApp{ public static void main (String args []) { System.out.println("Olá Mundo!");//Imprime. }}

O "Olá Mundo!"

Java possui 3 tipos de comentários:/* text */ Múltiplas, linhas, o compilador ignora tudo entre /* e a */. /** documentation */ Comentário de documentação. O javadoc usa comentários de documentação na elaboração de documentação gerada automaticamente. // text Uma linha o compilador ignora tudo, desde // para o fim da linha.

O "Olá Mundo!"

Em negrito é o bloco de definição de classe./ *** A classe OlaMundoApp implementa uma * aplicação que simplesmente imprime * "Olá Mundo!" para a saída padrão.**/ class OlaMundoApp { public static void main (String args []) { System.out.println("Olá Mundo!");//Imprime. }}

O "Olá Mundo!"

class nome { ...} A palavra-chave class começa a definição de classe para uma classe chamada name e o código de cada classe aparece entre o abrir e fechar uma chave em negrito acima. Por enquanto é suficiente saber que cada classe começa com uma definição de classe.

O "Olá Mundo!"

O texto em negrito é a definição do método main :/ *** A classe OlaMundoApp implementa uma * aplicação que simplesmente imprime * "Olá Mundo!" para a saída padrão.**/ class OlaMundoApp { public static void main (String args []) { System.out.println("Olá Mundo!");//Imprime. }}

O "Olá Mundo!"

Em Java um programa deve conter pelo menos um método main cuja assinatura é:

public static void main(String[] args)●public e static são modificadores podem ser escritos

em qualquer ordem, mas a convenção é usar public static

● O método main é o ponto de entrada da sua aplicação, o primeiro método a ser executado, através dele deve-se chamar todos os outros métodos.

● O main método aceita um array de String, essa é a forma de passar informações para seu aplicativo. Por exemplo:

java MyApp arg1 arg2

O "Olá Mundo!"

A linha: System.out.println ("Olá Mundo!"); A classe System da API java serve para imprimir a mensagem "Olá Mundo!" na saída padrão. / *** A classe OlaMundoApp implementa uma * aplicação que simplesmente imprime * "Olá Mundo!" para a saída padrão.**/ class OlaMundoApp { public static void main (String args []) { System.out.println("Olá Mundo!");//Imprime. }}

Erros Comuns - Compilação

Microsoft Windows 'javac' is not recognized as an internal or external command, operable program or batch fileWindows não consegue encontrar o compilador ( javac ). Verifique se o JDK esta instalado ou se esta no path.Class names, 'Programa', are only accepted if annotation processing is explicitly requestedEsqueceu de incluir a extensão .java na tentativa de compilar o programa. O comando é javac Programa.java e não javac Programa.

Erros Comuns - Compilação

Sistemas UNIXjavac: Command not foundSistema Operacional não encontrou o compilador javac. Verifique se o JDK esta instalado ou se foi incluído no PATHClass names, 'Programa', are only accepted if annotation processing is explicitly requestedEsqueceu de incluir a extensão .java na tentativa de compilar o programa. O comando é javac Programa.java e não javac Programa.

Erros Comuns - Execução

Exception in thread "main" java.lang.NoClassDefFoundError: Programa java não consegue encontrar o arquivo de bytecode, Programa.class.Verifique onde esta o arquivo .class.Exception in thread "main" java.lang.NoClassDefFoundError: Programa/class Tentando executar java Programa.class quando o correto é java Programa.Exception in thread "main" java.lang.NoSuchMethodError: mainA máquina virtual Java requer que a classe a ser executada tenha um método main.