Java: Introduction
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
6,526
On Slideshare
6,511
From Embeds
15
Number of Embeds
2

Actions

Shares
Downloads
187
Comments
0
Likes
3

Embeds 15

http://www.slideshare.net 14
http://senastage.blackboard.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Java: introdução y Tecnologia Java y Tipos de programas y Ambiente de compilação/execução y Processo de Execução y Estrutura de programas y Exemplos de programas Java: apresentação z Java como linguagem de programação: y desenvolvimento de aplicações locais, centralizadas e distribuídas y desenvolvimento de aplicações cliente/servidor z Java como plataforma: y ambiente de execução neutro (JVM - Java Virtual Machine) para diferentes plataformas
  • 2. Programas JAVA z Aplicações ( puras) y são programas carregados e executados localmente pelo interpretador Java y possuem acesso a todos os recursos do ambiente local: diretórios, arquivos y sempre contém um método principal (main) onde inicia a execução y podem fazer chamadas a programas em código nativo Programas cliente/servidor z Applets (Little Applications): cliente y são programas inseridos em páginas HTML e executados pelo browser (interpretador Java) y programas (classes) podem ser carregados remotamente y restrições de segurança: não podem acessar recursos locais z Servlets: servidor y executados sob o controle do servidor y classe carregada dinamicamente por requisição de um cliente
  • 3. Java applets x JavaScript z Códigos executáveis em páginas HTML (páginas dinâmicas) y Código Java: classes compiladas e carregadas remotamente y Código JavaScript: instruções interpretadas e dispersas ao longo da página HTML z Java é uma LP de uso geral, fortemente tipada, orientada a objetos: classes, objetos, herança e polimorfismo z JavaScript: linguagem script (comandos), fracamente tipada: sem classes, sem herança e sem polimorfismo Desenvolvimento de programas Benvindo.java > javac Benvindo.java Benvindo.class código processador código fonte da linguagem objeto Benvindo.class classes código usuário/ executável biblioteca Local ou remoto String.class
  • 4. J2SE : Java2 Standard Edition z Desenvolvido e distribuído livremente pela Sun MicroSystems contendo y ferramentas para desenvolver e testar programas: compilador e depurador y ambiente de execução de programas: máquina virtual, bibliotecas de classes e outros arquivos y classes de demonstração, arquivos utilitários, plug-in para browsers y documentação de classes y códigos fonte de classes http://www.java.sun.com/ Ambiente de compilação e execução INTERNET bytecode fonte Browser {HTML} interpretador interpretador JAVA compilador JAVA JAVA plataforma plataforma local remota aplicativo applet
  • 5. Compilação x interpretação z Interpretação: problema de desempenho y A flexibilidade e segurança prejudicam o tempo de execução; y Um programa Java típico roda 10 vezes mais lento que um programa equivalente em linguagem nativa z Solução: JIT (Just-in-time compilation) y Compiladores JIT convertem programas Java para linguagem de máquina nativa assim que os mesmos são lidos. y Penalidade: a leitura dos programas se torna mais lenta. Java: compilação e execução Compilação compilador código Bytecodes Java fonte Execução Execução JVM código compila nativo JIT Java JIT é uma otimização
  • 6. Programa Java: Classe • Uma classe é um arquivo fonte (texto) class public class Nome Nome1 mesmo Nome class Nome2 Nome.java •Um arquivo pode conter Nome1.java várias classes Classe: unidade de compilação Arquivo fonte : Nome1.java Arquivos executáveis: class Nome1.class bytecodes public class Nome1 { Nome2.class class Nome2 {... bytecodes
  • 7. Execução de programas Java arquivo ... web/ .class /lib LAN classes do classes classes de classes programa locais biblioteca remotas verifica carregadores de classes segurança dados JVM Meu primeiro programa Cuidar maiúsculas class Benvindo { e minúsculas! public static void main (String[] args) { System.out.println (“Benvindo a Java.”); } } Método main: onde inicia a execução
  • 8. Passo 1: inicialização JVM z A JVM inicia a execução quando solicitada a executar uma aplicação y Exemplo: java Benvindo y classe: Benvindo y método: main (public static void..) •localizar arquivo •diretório local Benvindo.class Passo 2: classe principal z A classe especificada deve ser y carregada (load) y ligada (link) a outros tipos que necessita y inicializada Benvindo.class String.class System.class class Benvindo { public static void main(String[] args) { System.out.println(“Benvindo a Java ”); }
  • 9. Carregador de classes z Carregador de classes - ClassLoader y carrega além do arquivo .class, as classes herdadas ou referenciadas no código class Data{ class Pessoa{ int dia...} Data nasc....} class Aluno main extends JVM Pessoa{...} Verificador de Bytecodes z Objetivos : garantir que o código esteja de acordo com a especificação Java e não viole a integridade do sistema Data Pessoa main Aluno JVM
  • 10. Ligação: verificação z Verificação: assegura que a representação binária (bytecodes) de uma classe/interface é estruturalmente correta y cada instrução possui um código de operação válido? y a assinatura de cada método está correta? y o sistema de tipos foi obedecido? Java é uma linguagem tipada: existe verificação de tipos estática e dinâmica Classe Java: apenas o método principal assinatura padrão do método main class Benvindo { public static void main (String[] args) { System.out.println (“Benvindo a Java.”); } }
  • 11. Convenção para Nomes z Java, como C/C++ distingue entre letras maiúsculas e minúsculas y Exemplo: benvindo difere de Benvindo z Nomes de classes iniciam com maiúscula y Exemplo: class Benvindo z Nomes de variáveis iniciam com minúsculas y Exemplo: int peso; z Nomes de métodos são verbos que iniciam com minúscula e após usam maiúsculas y Exemplo: alteraPeso z Representação: Unicode (16 bits - 65.536 caracteres) Exemplo de objeto/métodos System.out.println (“Benvindo a Java.”); parâmetro método objeto System.out.print (“Benvindo a Java.”); parâmetro método objeto
  • 12. Chamada parametrizada class Benvindo { public static void main (String[] args) { System.out.println (“Parabéns ” + args[0]); } } Método main: aceita argumentos para execução Exemplo de chamada: > java Benvindo Pedro Classe Java: com dois métodos class Benvindo2 { static void imprime(){ System.out.println (“Benvindo a Java.”); } public static void main (String[] args) { imprime(); } } método static: método de classe não aplicável sobre objetos
  • 13. Classe Java: com dois métodos class Benvindo2 { static void imprime(){ System.out.println (“Benvindo a Java.”); } public static void main (String[] args) { imprime(); } } método static: método de classe não aplicável sobre objetos Classe Java: com um objeto class Benvindo2 { void imprime(){ System.out.println (“Benvindo a Java.”); } public static void main (String[] args) { Benvindo2 instancia=new Benvindo2(); instancia.imprime(); } } método de instância somente aplicável sobre objetos
  • 14. Uso de bibliotecas z As classes Java são agrupadas em pacotes z O pacote padrão é : java.lang z Classes que pertencem a outros pacotes devem ser importadas z Exemplos de importação import java.awt.Rectangle; import java.awt.*; Exemplo de utilização de GUI import javax.swing.JOptionPane; // classe do pacote swing class Exe01Swing{ public static void main (String[] args) { JOptionPane.showMessageDialog(null,quot;Consegui!quot;); System.exit(0); // termina o programa } }
  • 15. Exemplo de execução em IDE Exemplo de Entrada e Saída com GUI import javax.swing.JOptionPane; // classe do pacote swing class Exe02Swing{ public static void main (String[] args) { String nome=JOptionPane.showInputDialog(quot;Seu nome?quot;); JOptionPane.showMessageDialog(null,quot;Parabéns quot; + nome + quot;n você conseguiu!quot;); System.exit(0); // termina o programa }}
  • 16. import java.awt.event.*; Exemplo de import javax.swing.JOptionPane; conversão de class LeituraSwing { String para número public static void main(String[] args){ LeituraSwing ls=new LeituraSwing(); // leitura de caracteres e conversão para primitivo String valor= JOptionPane.showInputDialog(quot;Digite um número: quot;); // Converter um String para inteiro int i = Integer.parseInt(valor); // Observar a conversão da expressao (i+100) para String JOptionPane.showMessageDialog(null,quot;Seu número + 100: quot; + (i+100)); System.exit(0); // termina o programa }} Prática de Laboratório