58
Módulo III Começando com Java Francisco Souza Márcio de Paula

Java aula 03

Embed Size (px)

Citation preview

Módulo IIIComeçando com Java

Francisco Souza

Márcio de Paula

Bibliografia

Beginning ProgrammingWith Java for Dummies

Barry Burd

http://goo.gl/bGycju

Project MARK - Orientação a Obejtos com Java 2

Bibliografia

Java for Dummies

Barry Burd

http://goo.gl/EpCl2O

Project MARK - Orientação a Obejtos com Java 3

Bibliografia

Java How To Program

Paul Deitel

Harvey Deitel

Project MARK - Orientação a Obejtos com Java 4

História

1991

Project Green

Sun Micrisystems

James Goslin

Project MARK - Orientação a Obejtos com Java 5

História

1993

Quase abandono do Project Green

Explosão da Internet

Conteúdo dinâmico em páginas HTML

Project MARK - Orientação a Obejtos com Java 6

História

1995

Apresentação oficial

Desenvolvimento de aplicações comerciais.

Delphi, VB e C++

Project MARK - Orientação a Obejtos com Java 7

Características

Características Gerais

Orientada a Objetos

Principais recursos da OO

Não suporta herança múltipla

Favorece a extensibilidade e o reuso.

Project MARK - Orientação a Obejtos com Java 8

Características

Características Gerais

Conexão nativa a Internet

TCP/IP

HTTP/FTP

Acesso a vários tipos de URL

Project MARK - Orientação a Obejtos com Java 9

Características

Características Gerais

Portável

Estratégia de Máquina Virtual

Completamente especificada

Independência da implementação

Project MARK - Orientação a Obejtos com Java 10

Características

JVM – Java Virtual Machine

“Software de ambiente computacional que executa programas de computador como se fosse um computador real.”

Project MARK - Orientação a Obejtos com Java 11

Características

JVM – Java Virtual Machine

“Duplicata isolada e eficiente de uma máquina real.”

Project MARK - Orientação a Obejtos com Java 12

Características

JVM – Java Virtual Machine

Carregamento e execução de aplicações Java

Conversão de bytecodes

Gerenciamento de aplicações

Project MARK - Orientação a Obejtos com Java 13

Características

Project MARK - Orientação a Obejtos com Java 14

Edição

Um editor de texto cria arquivos .java com o programa e armazena no disco.

Características

Project MARK - Orientação a Obejtos com Java 15

Compilador usa os arquivos .javapara criar os bytecodes da aplicação e os armazena em arquivos .class

Edição

Compilação

Características

Project MARK - Orientação a Obejtos com Java 16

O carregador de classes, carrega os arquivos compilados (disco) na memória do computador.

Edição

Compilação

Carregamento

Características

Project MARK - Orientação a Obejtos com Java 17

VerificaçãoO verificador de segurança avalia se os bytecodes são válidos e se não violam restrições de segurança.

Edição

Compilação

Carregamento

Características

Project MARK - Orientação a Obejtos com Java 18

Edição

Verificação

Execução

Compilação

Carregamento

Bytecodes são traduzidos para a linguagem de máquina e o programa é executado.

Características

Características Gerais

RobustaFortemente tipada

Uso disciplinado de ponteiros

Inicialização automática de variáveis

Tratamento de exceções

Project MARK - Orientação a Obejtos com Java 19

Características

Características Gerais

Segura

Restrições de acesso

Manipulação indireta de ponteiros

Não é útil para fazer drivers

Project MARK - Orientação a Obejtos com Java 20

Características

Características Gerais

Concorrente

Permite processamento paralelo

Threads e monitores

Project MARK - Orientação a Obejtos com Java 21

Características

Javac

Compilador Java

Responsável por transformar código Java em bytecodes

Project MARK - Orientação a Obejtos com Java 22

Características

Java

Invocação da JVM

Responsável por executar uma aplicação java.

Project MARK - Orientação a Obejtos com Java 23

Exemplo 01

$ javac Hello.java

$ls

Hello.java Hello.class

$java Main.class

Hello, people!

Project MARK - Orientação a Obejtos com Java 24

Gerenciamento de Memória

Java GC

Processo de baixa prioridade da JVM

Automatiza a recuperação de memória não mais necessária ao programa

Impossível de adivinhar quando será invocado.

Project MARK - Orientação a Obejtos com Java 25

Código Java

Estrutura de Código Java

Classe como estrutura Básica

Uso de pacotes para evitar conflito de nomes.

Project MARK - Orientação a Obejtos com Java 26

Código Java

Pacotes

Grupo de tipos relacionadas que provê proteção e gerenciamento de nomes.

Project MARK - Orientação a Obejtos com Java 27

Código Java

Project MARK - Orientação a Obejtos com Java 28

Exemplo 02

class MyClass {

/*

*

* Write your own code here...

*

*/

}

Project MARK - Orientação a Obejtos com Java 29

Código Java

O método main

Ponto de entrada de todo e qualquer programa Java.

Análogo à função main do C

Project MARK - Orientação a Obejtos com Java 30

Exemplo 04

void main(int argc, char *argv[]) {

/*

* Do something...

*/

}

Project MARK - Orientação a Obejtos com Java 31

Exemplo 04

class MyClass {

public static void main(String args[]) {

//Do something...

}

}Project MARK - Orientação a Obejtos com Java 32

Demo

Project MARK - Orientação a Obejtos com Java 33

Identificadores

O que são?

Nomes dados a entidades do programa.

Legibilidade e Inteligibilidade

Formato convencionado.

Project MARK - Orientação a Obejtos com Java 34

Conceituação

Regras

Todo identificador deverá começar por uma letra, um cifrão ou um caractere de conexão.

Project MARK - Orientação a Obejtos com Java 35

Exemplo 05

int _media;

int $soma;

float _$;

float __peso;

Project MARK - Orientação a Obejtos com Java 36

Exemplo 05

Project MARK - Orientação a Obejtos com Java 37

int :entry;

int -x;

float s#;

float 7g;

Exemplo 05

Project MARK - Orientação a Obejtos com Java 38

int :entry;

int -x;

float s#;

float 7g;

Conceituação

Regras

Depois do primeiro caractere, o identificador pode conter qualquer combinação de letras, cifrão números e caracteres de conexão.

Project MARK - Orientação a Obejtos com Java 39

Exemplo 06

String media_02;

int __amout__;

float mMonthPayment;

Project MARK - Orientação a Obejtos com Java 40

Conceituação

Regras

Os identificadores em Java são case sensitive.

Project MARK - Orientação a Obejtos com Java 41

Exemplo 07

String foo;

Project MARK - Orientação a Obejtos com Java 42

String Foo;≠

Conceituação

Regras

Não é permitido usar uma palavra-chave do Java como identificador.

Project MARK - Orientação a Obejtos com Java 43

Exemplo 08

Project MARK - Orientação a Obejtos com Java 44

abstract boolean break byte

char class final continue

interface for while do

return try catch ...

Boas Práticas

Padrões de Código

Foram criados (formalmente ou por convenção) para facilitar a legibilidade e o compartilhamento de código na comunidade Java.

Project MARK - Orientação a Obejtos com Java 45

Boas Práticas

Indentação

Delimita o surgimento de um novo bloco de código

Java não requer indentação para funcionar corretamente.

Project MARK - Orientação a Obejtos com Java 46

Exemplo 10

class MyClass{public static voidmain(String args[]){System.out.println(“Sou um códigonão-identado...”);}}

Project MARK - Orientação a Obejtos com Java 47

Boas Práticas

Indentação

Indentação errada torna o código confuso, pouco inteligível e difícil de debugar.

Project MARK - Orientação a Obejtos com Java 48

Boas Práticas

Indentação

Um tab a cada novo bloco de código.

Um recuo de tab antes do caractere “ } ”

Project MARK - Orientação a Obejtos com Java 49

Exemplo 11

class MyClass {

public static void main(String args[]) {

System.out.println(“^_^”);

}

}

Project MARK - Orientação a Obejtos com Java 50

Boas Práticas

Nomeação de Classes

Deve-se usar o padrão CamelCase

Não se utilizam caracteres acentuados.

Geralmente usa-se substantivos.

Project MARK - Orientação a Obejtos com Java 51

Exemplo 12

Student

User

PrintWritter

AccountHelper

ImageButton

StringTokenizer

Project MARK - Orientação a Obejtos com Java 52

Boas Práticas

Nomeação de Métodos

Deve-se usar o padrão CamelCase com a primeira letra minúscula.

Geralmente usa-se verbos.

Project MARK - Orientação a Obejtos com Java 53

Exemplo 13

getName

findUser

nextInteger

createCustomer

close

seek

Project MARK - Orientação a Obejtos com Java 54

Boas Práticas

Nomeação de Variáveis

Deve-se usar o padrão CamelCase com a primeira letra minúscula.

Nomes curtos e significativos

Project MARK - Orientação a Obejtos com Java 55

Exemplo 13

name

age

randomNum

foundItem

gradeAvarage

Project MARK - Orientação a Obejtos com Java 56

Boas Práticas

Nomeação de Constantes

Deve-se utilizar todas as letras em caixa alta.

As palavras são separadas por undescores ( _ )

Project MARK - Orientação a Obejtos com Java 57

Exemplo 13

PI

SECRET_KEY

MIN_SIZE

DEFAULT_CODE

BASE_URL

Project MARK - Orientação a Obejtos com Java 58