introducao logica2
TRANSCRIPT
1
Lógica de Programação
Denilton Luiz Darold
2
Revisão
• Definição de algoritmo• Teste de mesa• Diagramas de Bloco• Operadores
– Lógicos– Relacionais– Aritméticos
• Estrutura de repetição
2
3
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
3
4
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.
4
5
Java - Características
• Orientação a Objetos
• Simples e robusta
• Gerenciamento automático de memória
• Independência de plataforma
• Multi-threading (Multi tarefas)
5
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.
6
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 classes7
8
Arquitetura Java
• JVM– Java Virtual Machine
• Garbage Collection– Gerenciamento de alocação/liberação de
memória
• Sand Box– Módulo de segurança
8
9
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
9
“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 umarquivo com extensão .class. e possuir código compatível com as instruções Java.”
10
JVM
11
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
11
12
+ 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.
12
13
+ 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..
13
14
+ 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 declarado14
15
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.
15
16
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.
16
17
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
17
18
Estrutura de Código
19
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
19
20
+ 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.
20
public static void main(String[] args)
21
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
21
22
+ 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()
22
23
Exemplo de código
24
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
24
25
Compilação e Execução
• Primeiro passa compilar. O comando abaixo gerará um nome arquivo .class.– javac Exemplo.java
25
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.
26
27
Erros Comuns
• COMPILAÇÃO
• Variável PATH mal configurada
• Erro de Digitação
27
28
...continuação
• Case-sensitive – Ou nome de arquivo diferente do nome da classe
pública
• EXECUÇÃO
• Variável CLASSPATH mal configurada
28
29
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
29
30
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
30
class Errado{public static void main (string a())
sistem.println(“Existem erros.”)}
}
31
Sintaxe
• Delimitadores– Símbolos usados pelo compilador para
diferenciar comandos, blocos de comandos, métodos, classes, etc..
31
32
Sintaxe
• Identificadores
32
33
Sintaxe
• Palavras reservadas
33
34
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
34
35
Exemplo de código
35
36
Tipos Primitivos
• ...
36
37
It’s over..
Thank you!Thank you!Thank you!Thank you!Denilton