Java: introdução

  y   Tecnologia Java
  y   Tipos de programas
  y   Ambiente de compilação/execução
  y   Processo de E...
Programas JAVA

z Aplicações ( puras)
  y são programas carregados e executados
    localmente pelo interpretador Java
  y...
Java applets x JavaScript

z Códigos executáveis em páginas HTML
  (páginas dinâmicas)
   y Código Java: classes compilada...
J2SE : Java2 Standard Edition

z Desenvolvido e distribuído livremente pela
  Sun MicroSystems contendo
   y ferramentas p...
Compilação x interpretação

z Interpretação: problema de desempenho
  y A flexibilidade e segurança prejudicam o tempo de
...
Programa Java: Classe

    • Uma classe é um arquivo fonte (texto)



          class
                                    ...
Execução de programas Java


                    arquivo        ...          web/
                    .class        /lib  ...
Passo 1: inicialização JVM

z A JVM inicia a execução quando
  solicitada a executar uma aplicação
  y Exemplo: java Benvi...
Carregador de classes

z Carregador de classes - ClassLoader
  y carrega além do arquivo .class, as classes
    herdadas o...
Ligação: verificação

z Verificação: assegura que a
  representação binária (bytecodes) de uma
  classe/interface é estrut...
Convenção para Nomes

z Java, como C/C++ distingue entre letras
  maiúsculas e minúsculas
  y Exemplo: benvindo difere de ...
Chamada parametrizada


class Benvindo {
      public static void main (String[] args) {
      System.out.println
        ...
Classe Java: com dois métodos

    class Benvindo2 {
          static void imprime(){
            System.out.println
     ...
Uso de bibliotecas

z As classes Java são agrupadas em
  pacotes
z O pacote padrão é : java.lang
z Classes que pertencem a...
Exemplo de execução em IDE




   Exemplo de Entrada e Saída com GUI

import javax.swing.JOptionPane; // classe do pacote ...
import java.awt.event.*;
                                            Exemplo de
import javax.swing.JOptionPane;
          ...
Upcoming SlideShare
Loading in …5
×

Java: Introduction

4,196 views

Published on

Published in: Technology, News & Politics
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,196
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
190
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Java: Introduction

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×