introducao logica2

37
1 Lógica de Programação Denilton Luiz Darold

Upload: denilton-darold

Post on 06-Jul-2015

325 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Introducao logica2

1

Lógica de Programação

Denilton Luiz Darold

Page 2: Introducao logica2

2

Revisão

• Definição de algoritmo• Teste de mesa• Diagramas de Bloco• Operadores

– Lógicos– Relacionais– Aritméticos

• Estrutura de repetição

2

Page 3: Introducao logica2

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

Page 4: Introducao logica2

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

Page 5: Introducao logica2

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

Page 6: Introducao logica2

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

Page 7: Introducao logica2

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

Page 8: Introducao logica2

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

Page 9: Introducao logica2

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

Page 10: Introducao logica2

10

JVM

Page 11: Introducao logica2

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

Page 12: Introducao logica2

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

Page 13: Introducao logica2

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

Page 14: Introducao logica2

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

Page 15: Introducao logica2

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

Page 16: Introducao logica2

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

Page 17: Introducao logica2

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

Page 18: Introducao logica2

18

Estrutura de Código

Page 19: Introducao logica2

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

Page 20: Introducao logica2

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)

Page 21: Introducao logica2

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

Page 22: Introducao logica2

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

Page 23: Introducao logica2

23

Exemplo de código

Page 24: Introducao logica2

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

Page 25: Introducao logica2

25

Compilação e Execução

• Primeiro passa compilar. O comando abaixo gerará um nome arquivo .class.– javac Exemplo.java

25

Page 26: Introducao logica2

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

Page 27: Introducao logica2

27

Erros Comuns

• COMPILAÇÃO

• Variável PATH mal configurada

• Erro de Digitação

27

Page 28: Introducao logica2

28

...continuação

• Case-sensitive – Ou nome de arquivo diferente do nome da classe

pública

• EXECUÇÃO

• Variável CLASSPATH mal configurada

28

Page 29: Introducao logica2

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

Page 30: Introducao logica2

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.”)}

}

Page 31: Introducao logica2

31

Sintaxe

• Delimitadores– Símbolos usados pelo compilador para

diferenciar comandos, blocos de comandos, métodos, classes, etc..

31

Page 32: Introducao logica2

32

Sintaxe

• Identificadores

32

Page 33: Introducao logica2

33

Sintaxe

• Palavras reservadas

33

Page 34: Introducao logica2

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

Page 35: Introducao logica2

35

Exemplo de código

35

Page 36: Introducao logica2

36

Tipos Primitivos

• ...

36

Page 37: Introducao logica2

37

It’s over..

Thank you!Thank you!Thank you!Thank you!Denilton