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

Introducao logica2

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