O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Introducao logica2

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Próximos SlideShares
classes_objetos_ e_cia_em_java
classes_objetos_ e_cia_em_java
Carregando em…3
×

Confira estes a seguir

1 de 37 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Anúncio

Semelhante a Introducao logica2 (20)

Mais recentes (20)

Anúncio

Introducao logica2

  1. 1. Lógica de Programação Denilton Luiz Darold
  2. 2. Revisão <ul><li>Definição de algoritmo </li></ul><ul><li>Teste de mesa </li></ul><ul><li>Diagramas de Bloco </li></ul><ul><li>Operadores </li></ul><ul><ul><li>Lógicos </li></ul></ul><ul><ul><li>Relacionais </li></ul></ul><ul><ul><li>Aritméticos </li></ul></ul><ul><li>Estrutura de repetição </li></ul>
  3. 3. Aula 2 <ul><li>Introdução a Java </li></ul><ul><li>Java Virtual Machine - JVM </li></ul><ul><li>Garbage Collection </li></ul><ul><li>Ambiente de Desenvolvimento </li></ul><ul><li>Estrutura de Código/Primeiro Programa </li></ul><ul><li>Sintaxe </li></ul><ul><li>Compilação e Execução </li></ul><ul><li>Exercícios </li></ul>
  4. 4. Introdução Java <ul><li>Visão Geral </li></ul><ul><ul><li>linguagem de programação orientada a objetos </li></ul></ul><ul><ul><li>uma coleção de APIs </li></ul></ul><ul><ul><li>um ambiente de execução </li></ul></ul><ul><li>História </li></ul><ul><ul><li>Criada em 90 pela Sun Microsystems.(Oracle) </li></ul></ul><ul><ul><li>Projeto liderado por James Gosling, com o principal objetivo de ser multi-plataforma. </li></ul></ul>
  5. 5. Java - Características <ul><li>Orientação a Objetos </li></ul><ul><li>Simples e robusta </li></ul><ul><li>Gerenciamento automático de memória </li></ul><ul><li>Independência de plataforma </li></ul><ul><li>Multi-threading (Multi tarefas) </li></ul>
  6. 6. Plataformas <ul><li>J2SE - Java 2 Standard Edition </li></ul><ul><ul><li>PCs, notebooks, etc.. </li></ul></ul><ul><li>J2EE - Java 2 Enterprise Edition </li></ul><ul><ul><li>Hoje JEE </li></ul></ul><ul><li>J2ME - Java 2 Micro Edition </li></ul><ul><ul><li>Dispositivos móveis, como celulares, smart phones. </li></ul></ul><ul><li>Objetivo do Curso J2SE e princípios de JEE. </li></ul>
  7. 7. Ambiente de Desenvolv. <ul><li>J2SDK </li></ul><ul><ul><li>Java 2 System Development Kit </li></ul></ul><ul><ul><li>Implementa a plataforma J2SE, provendo ambiente básico necessário para o desenvolvimento de aplicações </li></ul></ul><ul><ul><li>Consiste de: </li></ul></ul><ul><ul><ul><li>JRE(Java Runtime Environment) </li></ul></ul></ul><ul><ul><ul><li>Ferramentas para desenvolvimento: compilador, debugger, gerador de documentação, empacotador JAR; </li></ul></ul></ul><ul><ul><ul><li>Conjunto de APIs e código fonte de classes </li></ul></ul></ul>
  8. 8. Arquitetura Java <ul><li>JVM </li></ul><ul><ul><li>Java Virtual Machine </li></ul></ul><ul><li>Garbage Collection </li></ul><ul><ul><li>Gerenciamento de alocação/liberação de memória </li></ul></ul><ul><li>Sand Box </li></ul><ul><ul><li>Módulo de segurança </li></ul></ul>
  9. 9. JVM <ul><li>Coração da JRE </li></ul><ul><ul><li>JRE: Conjunto de programas que possibilita executar aplicações Java </li></ul></ul><ul><li>Possibilita a portabilidade de código </li></ul><ul><ul><li>Compile once, run anywhere </li></ul></ul>“ Uma máquina imaginária que é implementada via software ou hardware. Um código a ser executado por essa máquina deve ser gravado em um arquivo com extensão .class. e possuir código compatível com as instruções Java.”
  10. 10. JVM
  11. 11. JVM <ul><li>Conjunto de instruções(CPU) </li></ul><ul><li>Conjunto de registradores </li></ul><ul><li>Formato de padrões de classe </li></ul><ul><li>Pilha de memória </li></ul><ul><li>Pilha de objetos coletados (garbage col.) </li></ul><ul><li>Área de memória </li></ul>
  12. 12. + JVM <ul><li>A JVM emula uma máquina real possuindo um conjunto de instruções próprio e atua em áreas de gerenciamento de memória; </li></ul><ul><li>A JVM possui uma especificação que pode ser implementada nas diversas arquiteturas; </li></ul><ul><li>os ambientes de execução e de desenvolvimento são fornecidos por fabricantes de hardware e software(MacOS,Linux, Windows) </li></ul><ul><li>Não trabalha diretamente com a linguagem de programação e sim arquivos .class, que contem byte-codes . </li></ul>
  13. 13. + JVM <ul><li>O Código java é compilado, gerando o byte-code </li></ul><ul><li>Esse byte-code é aplicado à JVM que se encarrega de interpretar os comandos para o sistema operacional onde o programa está rodando. Ou seja, a máquina virtual traduz as instruções de código Java para as instruções válidas no sistema operacional em que está rodando. </li></ul><ul><li>Esse byte-code poderá então ser interpretado por qualquer máquina virtual Java, em Linux, Windows, Mac OS..etc.. </li></ul>
  14. 14. + JVM <ul><li>Um programa só executado caso o seu byte-code passe pela verificação de segurança do JVM, que consiste em: </li></ul><ul><ul><li>o programa foi escrito utilizando a sintaxe e semântica da linguagem; </li></ul></ul><ul><ul><li>não existem violações de áreas restritas </li></ul></ul><ul><ul><li>o código não gera Stack Overflow </li></ul></ul><ul><ul><li>os tipos de parâmetros dos métodos estão corretos </li></ul></ul><ul><ul><li>não existem nenhuma conversão ilegal de dados </li></ul></ul><ul><ul><li>o acesso à objetos está corretamente declarado </li></ul></ul>
  15. 15. Biblioteca de Classes <ul><li>Na maioria dos sistemas operacionais modernos, um corpo de código reusável é organizado e disponibilizado para simplificador o trabalho do programador; </li></ul><ul><li>Esse código encontra-se, geralmente, na forma de bibliotecas dinâmicas; </li></ul><ul><li>Como Java é multi-plataforma, disponibiliza um grande conjunto padronizado de bibliotecas de classe, que contém praticamente o mesmo número de funções encontradas nos sistemas operacionais modernos. </li></ul>
  16. 16. Gerenciamento de Memória <ul><li>Durante a execução de um programa, ocorre a alocação e liberação dinâmica de memória RAM. Dados são escritos e lidos na memória satisfazendo os requisitos do programa; </li></ul><ul><li>Em linguagens tradicionais essa alocação fica sob responsabilidade do programador; ( stack Overflow ) </li></ul><ul><li>Para facilitar o trabalho e evitar erros comuns associados à alocação de memória, Java implementou garbage collection . </li></ul>
  17. 17. Garbage Collection <ul><li>Em outras linguagens(como C), o programa é responsável pelo gerenciamento de memória </li></ul><ul><li>Em Java, é automático, através da JVM </li></ul><ul><li>Controla a liberação de memória não mais utilizada </li></ul><ul><li>O coletor é executado periodicamente, num processo de baixa prioridade </li></ul>
  18. 18. Estrutura de Código
  19. 19. Estrutura de Código <ul><li>Linhas 1 e 2: comentários </li></ul><ul><li>Linha 4: Declaração do nome do programa </li></ul><ul><li>Linha 5 e 9: Início de bloco </li></ul><ul><li>Linha 8: Deve estar em todo programa Java. O interpretador JVM executa os comandos que estiverem nesse bloco (main) </li></ul><ul><li>Linha 10: Código propriamente dito </li></ul><ul><li>Linha 11 e 12: Fechamento de bloco </li></ul>
  20. 20. + sobre o código <ul><li>Main </li></ul><ul><ul><li>Ponto de entrada. Nem toda classe irá possuí-lo. </li></ul></ul><ul><ul><li>Uma classe sem esse método não pode ser executado. </li></ul></ul>public static void main(String[] args)
  21. 21. Convenções de Nomes <ul><li>O código fonte Java é armazenado em arquivos com extensão .Java </li></ul><ul><li>Um arquivo poderá armazenar mais de uma classe </li></ul><ul><li>Use o nome da classe principal para nomear o arquivo </li></ul><ul><ul><li>Ex: Cliente.Java </li></ul></ul>
  22. 22. + Convenções <ul><li>Nome de Classes </li></ul><ul><ul><li>Substantivos ou frases explicativas </li></ul></ul><ul><ul><li>Primeira letra maiúscula </li></ul></ul><ul><ul><ul><li>MyFirstClass </li></ul></ul></ul><ul><li>Nome de Métodos </li></ul><ul><ul><li>Verbos </li></ul></ul><ul><ul><li>Primeira letra minúscula e cada inicial interna maiúscula (também para variáveis) </li></ul></ul><ul><ul><ul><li>getUserName() </li></ul></ul></ul>
  23. 23. Exemplo de código
  24. 24. Ambiente <ul><li>Verifique a instalação do sdk </li></ul><ul><ul><li>java -version ( No prompt de comando do windows) </li></ul></ul><ul><li>Verifique a instanciação das variáveis de ambiente </li></ul><ul><ul><li>path=%path%;c:2sdkin </li></ul></ul><ul><ul><li>classpath=%classpath%;.;c:2sdkreib </li></ul></ul>
  25. 25. Compilação e Execução <ul><li>Primeiro passa compilar. O comando abaixo gerará um nome arquivo .class. </li></ul><ul><ul><li>javac Exemplo.java </li></ul></ul>
  26. 26. <ul><li>Com o arquivo .class, podemos executá-lo, através do comando seguinte comando: </li></ul><ul><ul><li>java Exemplo </li></ul></ul><ul><li>Isso irá chamar JVM, que executará o método main da classe em questão. </li></ul>
  27. 27. Erros Comuns <ul><li>COMPILAÇÃO </li></ul><ul><li>Variável PATH mal configurada </li></ul><ul><li>Erro de Digitação </li></ul>
  28. 28. ...continuação <ul><li>Case-sensitive </li></ul><ul><ul><li>Ou nome de arquivo diferente do nome da classe pública </li></ul></ul><ul><li>EXECUÇÃO </li></ul><ul><li>Variável CLASSPATH mal configurada </li></ul>
  29. 29. Compilação e Execução <ul><li>Digite o código do Alô Mundo </li></ul><ul><li>Salve em um arquivo com o nome AloMundo.java </li></ul><ul><li>Abra o console DOS </li></ul><ul><ul><li>Iniciar->Executar->CMD </li></ul></ul><ul><li>Vá ao diretório onde se encontra o arquivo </li></ul><ul><li>Execute o compilador Java, informando o arquivo a ser compilado </li></ul><ul><li>Liste o diretório e verifique a existência do .class </li></ul><ul><li>Execute o programa </li></ul>
  30. 30. Exercícios <ul><li>Faça um programa que mostre seu nome </li></ul><ul><li>Faça um programa passando seu nome como parâmetro </li></ul><ul><li>Corrija o código a seguir </li></ul><ul><li>class Errado{ </li></ul><ul><li>public static void main (string a()) </li></ul><ul><ul><li>sistem.println(“Existem erros.”) </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><li>} </li></ul>
  31. 31. Sintaxe <ul><li>Delimitadores </li></ul><ul><ul><li>Símbolos usados pelo compilador para diferenciar comandos, blocos de comandos, métodos, classes, etc.. </li></ul></ul>
  32. 32. Sintaxe <ul><li>Identificadores </li></ul>
  33. 33. Sintaxe <ul><li>Palavras reservadas </li></ul>
  34. 34. Declarando Variáveis <ul><li>Segue o seguinte esquema: </li></ul><ul><ul><li>< tipo >+<espaço>+ identificador +; </li></ul></ul><ul><ul><li>< tipo >+<espaço>+ identificador +=+ valor +; </li></ul></ul><ul><li>Onde: </li></ul><ul><li>tipo é um primitivo de dados ou classe ou interface </li></ul><ul><li>identificador é o nome </li></ul><ul><li>valor é o valor atribuído </li></ul>
  35. 35. Exemplo de código
  36. 36. Tipos Primitivos <ul><li>... </li></ul>
  37. 37. It’s over.. Thank you! Thank you! Thank you! Thank you! Denilton

×