1 / 85

Java

Java. Índice. Referências UA 1 - Introdução a Java UA 2 - Tipos de dados, operadores e comandos de fluxo UA 3 - Uso classes e objetos: String, arrays, Math, outras UA 4 - Criação de métodos, classes e objetos UA 5 - Herança e polimorfismo UA 6 - Classes abstratas e interfaces

lilika
Download Presentation

Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java

  2. Índice • Referências • UA 1 - Introdução a Java • UA 2 - Tipos de dados, operadores e comandos de fluxo • UA 3 - Uso classes e objetos: String, arrays, Math, outras • UA 4 - Criação de métodos, classes e objetos • UA 5 - Herança e polimorfismo • UA 6 - Classes abstratas e interfaces • UA 7 - Tratamento de exceções • UA 8 - Componentes gráficos em Java (AWT e Swing) • UA 9 - Multithreading • UA 10 - Acesso a banco de dados via JDBC

  3. Objetivos • Posicionar a linguagem Java no contexto do desenvolvimento de sistemas; • Conceituar os vários termos usados em Java como Swing, Applets, Servlets, JSP, EJB, etc.; • Desenvolvimento de sistemas cliente servidor com acesso a banco de dados usando JDBC.

  4. Pré-requisitos • Noções de Programação • Noções de Orientação a Objetos • Noções de SQL

  5. Livros • Java Como Programar • Beginning Java 1.3 • The Java 2 Complete Certification Study Guide • Core Java 2: Guia Autorizado • The Java Class Libraries, Second Edition, Volumes I e II

  6. Internet • http://java.sun.com/ • http://www.javaboutique.com/ • http://www.javaworld.com • http://www.componentsource.com/java • http://www.jguru.com/portal • http://www.theserverside.com/ • http://www.javareport.com/ Referências

  7. Introdução a Java

  8. O que é a linguagem Java?

  9. O que é a linguagem Java? Você aprenderá: • Histórico da linguagem. • Características mais importantes. • Versões existentes. • Uma aplicação inicial.

  10. Histórico da Linguagem • Projeto Oak • 1990 • Integração de aparelhos • Advento da internet • 1994 lançamento oficial • animações, applets e conexão com servidores • JVM embutida nos browsers • Panorama Atual • Grande utilização nos servidores web • Suportada pela grande maioria dos servidores de aplicação • SGBD com JVM

  11. Características importantes • Orientada a objeto • “Modificar é a regra e não a exceção” • Interpretada e independente de plataforma • JVM com JIT - Just in Time Compilers • Multithreaded • Executa, por natureza, vários trechos de código ao mesmo tempo • Robusta e segura • Fortemente tipada, sem acesso direto a endereços de memória evitando erros de acesso e perda de ponteiros, applets sem acesso a disco, etc.. • Dinâmica e distribuída • Alterações feitas apenas nas classes pertinentes sem a necessidade de recompilação de todo o sistema. Possibilidade de “entrega” de componentes pela rede de forma transparente para o usuário

  12. Versões existentes • Versão 1.0 • Versão 1.1 - Ainda muito usado • Versão 1.2 (Java 2) - Grandes mudanças • Versão 1.3 • Versão 1.4 • De uma versão para outra um método, atributos ou mesmo uma classe inteira pode ficar “deprecated” ou depreciada, obsoleta.Tenha sempre em mãos a documentação apropriada.

  13. Especializações do JDK • JRE - Java Runtime Edition • É o próprio interpretador Java, o mínimo necessário para executar programas em Java. Browsers instalam apenas o JRE (5Mb aprox.). • J2SE - Java 2 Standard Edition • Também conhecido como JDK - Java Development Kit. É composto do JRE, ferramentas de desenvolvimento e compilador (45Mb aprox). • J2EE - Java 2 Enterprise Edition • Complemento ao JDK que instala um conjunto de bibliotecas necessárias para suportar Servlets, JSP, JDBC e outras (aprox. 17Mb). • J2ME - Java 2 Micro Edition • Simplificação da linguagem usada para desenvolvimento de aplicações para palmtops e dispositivos hand-held • Documentação • Fornecido separadamente. Existem versões próprias para cada especialização do JDK (aprox. 20Mb).

  14. Alguns Ambientes de Desenvolvimento • Ferramentas de linha de comando • Notepad :) • TextPad • UltraEdit • Ferramentas visuais • Borland JBuilder • IBM Visual Age for Java • Visual Café • Oracle JDeveloper (facilidades para o DB) • MS Visual J++ (Evitem – problemas de compatibilidade) • iPlanet Fortè

  15. Uma aplicação inicial Comentários: // - uma única linha./* ...*/ - várias linhas/** .... */ javadoc Nome da classe, tambémdefine o nome do arquivo.java Método main( ). Ponto de entrada no sistema 1 // Isso é um programa exemplo 2 public class HelloWorld { 3 public static void main (String args[]) { 4 System.out.println(“Oi mundo!”); 5 } 6 } Case sensitive, sensívelà maiúsculas e minúsculas ; - ponto-e-vírgulaé obrigatório ao finalde cada instrução. { } - chaves delimitam um bloco de comando. Obs.: Todo código Java tem que estar dentro de uma classe (class). Classes serão usadas para criação de objetos, mas aqui, foi colocada apenas por compatibilidade.

  16. Lab 01-Bcaixa de mensagem Objetivo: • Aprofundar conceitos Tarefas: • Altere seu programa conforme o código abaixo: Observe que as linhas 5 e 6 representam uma mesma instrução. 1 // Programa exemplo 2 public class HelloWorld2 { 3 public static void main (String args[]) { 4 System.out.println("Antes da mensagem"); 5 javax.swing.JOptionPane.showMessageDialog(null, 6 "Oi mundo!", "exercício Java",1); 7 System.out.println("Depois da mensagem"); 8 } 9 }

  17. Máquina Virtual Java (JVM)

  18. Máquina Virtual Java (JVM) Você aprenderá: • O que é a máquina virtual Java. • Por “dentro” da JVM • Class Loader. • Bytecode Verifier. • Interpretador • Garbage Collector.

  19. O que é a máquina virtual Java (JVM) • É o ambiente onde os programas desenvolvidos na linguagem Java são executados. • Responsável pela importante característica de portabilidade de Java. • Vem junto com o JDK e em alguns browsers (Microsoft Internet Explorer e Netscape Navigator) para execução de applets.

  20. Por “dentro” da JVMClass Loader e Bytecode Verifier • Class Loader - Carregador de classe • Faz a carga de todas as classes necessárias para a execução do programa feito em Java. • Faz parte do esquema de segurança da linguagem. • Bytecode Verifier - Verificador de Bytecode • Testa o código contido no arquivo com extensão class antes de executá-lo. • Verifica se há código ilegal. • Também faz parte do esquema de segurança da linguagem.

  21. Por “dentro” da JVM Interpretador • Lê os bytecodes e os traduz para uma linguagem que o computador pode entender. • Armazena valores dos dados enquanto executa o programa.

  22. Por “dentro” da JVM Garbage Collector • O GC ou “coletor de lixo” é responsável pelo gerenciamento da memória usada pelo programa. • Evita que acessos a posições inválidas de memória sejam feitas pelos programadores. • A implementação varia de acordo com a plataforma considerada.

  23. Lab 1.Dobservação de erros comuns Objetivo: • Praticar o processo de edição-compilação-execução de código Java Tarefas: • Resolvendo pequenos problemas (bugs) ocorridos em tempo de compilação e execução.

  24. Arquiteturas de Desenvolvimento

  25. O desenvolvimento de sistemas • As arquiteturas para desenvolvimento de sistemas podem ser dividas em 3 grupos: • 1-tier (1 camada) • 2-tier (2 camadas) • 3-tier (3 camadas)

  26. Arquitetura 1-tier • Arquitetura antiga onde as aplicações e os dados residem em um único ambiente, geralmente um computador central como os mainframes. Os clientes são terminaissem poder de processamento.

  27. Arquitetura 2-tier • Arquitetura recente e muito utilizada. Mais conhecida como arquitetura cliente/servidor (nome muito comum); • Os componentes são geralmente o cliente, residente em estações de trabalho, e o servidor, residente em máquinas centrais, de maior capacidade; • O componente cliente faz solicitações que são atendidas pelo componente servidor, criando um interação contínua.

  28. Arquitetura 2-tier • Na arquitetura cliente/servidor, os dados ficam armazenados em bancos de dados e é necessário instalar o software nos clientes. servidor (banco de dados) Clientes (Front-End) Oracle Informix Sybase SQL Server ...

  29. Arquitetura 3-tier • Arquitetura diretamente derivada da cliente/servidor, o modelo 3-tier foi uma divisão lógica feita em relação ao modelo precursor e que pode ser considerada o padrão para o desenvolvimento de aplicações baseadas na Web (Web-based applications). • Isola o cliente da base de dados.

  30. Características 1a. CamadaServiço de Apresentação 2a. CamadaServiço deNegócios 3a. CamadaServiço deDados cliente (browser) servidor (servidor Web) servidor (banco de dados) Oracle Informix Sybase SQL Server ... aplicação dinâmica

  31. Conceitos de Java no Desenvolvimento de Sistemas

  32. Programação JavaConceitos Fundamentais • Regras da linguagem - sintaxe; • Estruturas de controle de fluxo; • Métodos e classes - Programação Baseada em Objetos; • O estudo destes tópicos será foco deste curso.

  33. Programação Java Conceitos Avançados • Herança, polimorfismo, interfaces - programação Orientada a Objetos; • Tratamento de exceções • Capacidade multithreding

  34. AWT e Swing • Classes Java usadas para criação de interfaces gráficas para sistemas cliente/servidor (2 camadas)

  35. Applet • Classe Java usada na arquitetura Web (3 camadas), mais especificamente na primeira camada, encapsulado ao Browser.

  36. Conectividade de banco de dados Java - JDBC • Tecnologia que permite acessar banco de dados. • Possui várias características importantes: • Modelo próprio de Serviços de Negócios • Reduz o risco do negócio • Permite a portabilidade entre plataformas • Especificado por Comitê • O estudo de JDBC será foco deste curso.

  37. Servlets • Classes Java que executam dentro do servidor Web (2ª camada); • Possui várias características importantes: • É executada dentro de processos especiais • Pode ser chamado por múltiplos clientes, sejam eles feitos em Java ou não. • Processamento de pedidos concorrentes. • Os métodos de um servlet são executados em threads. • As instâncias de um servlet são reutilizadas quando necessárias.

  38. Java Server Pages - JSP • Páginas HTML geradas dinamicamente no Servidor Web (2ª camada); • Possui várias características importantes: • São independentes de plataforma, eficientes e seguros. • Separa a interface do usuário do conteúdo dinâmico. • Podem conectar-se a um JavaBean . • O estudo de servles é foco do curso “Java II - Servlets e JSP” do Instituto Infnet.

  39. Enterprise JavaBeans - EJB • Empacotamento de classes definidas como componentes de software reutilizáveis. • Possui várias características importantes: • Modelo próprio de Serviços de Negócios • Reduz o risco do negócio • Permite a portabilidade entre plataformas • Especificado por Comitê UA “Introdução a Java” - BCA “Arquiteturas de Desenvolvimento e o Java ”

  40. Tipos de Dados, Operadores e Comandos de Fluxo

  41. Tipos de Dados Primitivos

  42. Identificadores • Usados para identificar variáveis, constantes, classes, instâncias de classe (objetos), métodos, etc.. • Regras de formação de identificadores • Algumas convenções estabelecidas

  43. IdentificadoresPrincipais regras • Começa com letras ou _(sublinhado). $ é válido mas deve ser evitado; • Pode conter dígitos no meio ou no final; • Há distinção entre maiúsculas e minúsculas; • Não podemos usar caracteres acentuados de qualquer tipo; • Não podemos usar palavras reservadas.

  44. IdentificadoresPrincipais convenções • Métodos e variáveis: • Palavras simples - tudo em minúsculo • Palavras compostas - Começa com minúscula e a inicial das outras palavras em maiúscula. • Constantes: • Tudo em maiúsculo. Palavras compostas separadas com _ (sublinhado). • Classes: • Palavras simples - Começa com maiúscula • Palavras compostas Começa com maiúscula e a inicial das outras palavras em maiúscula. • Arquivos: • Mesmas convenções das classes.

  45. Identificadores • Exemplos de identificadores válidos: • Botafogo • _teste20 • $dinheiro • futebolProfissionalBrasileiro • nome_jogador • thisOne • TAXA_SERVICO

  46. Os 8 Tipos Primitivos • byte (8 bits) • short (16 bits) • int (32 bits) • long (64 bits) • float (32 bits) • double (64 bits) • char (16 bits) • boolean (1 bit) Numéricos sem casa decimal Numéricos com casa decimal Caracter da tabela unicode true/false (não pode ser numérico)

  47. Os 8 Tipos Primitivos Lógico – boolean boolean status = true; // os literais sempre em letra minúscula

  48. Os 8 Tipos Primitivos Textual – char - 16 bits - 2 bytes char meuCaracter = ‘L’; char meuCharUnicode = ‘\u0058’; A contrabarra indica uma seqüência de escape.

  49. Os 8 Tipos Primitivos ‘\b’ - backspace ‘\t’ - tab ‘\f’ - form feed ‘\n’ - line feed ‘\r’ - carriage return ‘\’’ - aspas simples ‘\”’ - aspas duplas ‘\\’ - contrabarra

  50. Os 8 Tipos Primitivos Inteiros – byte, short, int e long A diferença entre eles está no intervalo de valores que cada um pode suportar byte menor = 10; // 1 byte -128 a 127 short pequeno = 456;// 2 bytes int normal = 10252; // 4 bytes long muitoGrande = 6263732239; // 8 bytes

More Related