aula 03 - definições da linguagem java

24
Definições da Linguagem Java Prof. Daniel Brandão Metodologia e Linguagem de Programação

Upload: daniel-brandao

Post on 22-Jan-2018

171 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Aula 03 - Definições da linguagem Java

Definições da Linguagem Java

Prof. Daniel Brandão

Metodologia e Linguagem de Programação

Page 2: Aula 03 - Definições da linguagem Java

Já vimos até aqui:

Histórico e fundamentos da linguagem Java

Etapas: edição, compilação, interpretação eexecução de programas em Java

Princípios de Orientação a Objetos

Hoje: Definições da Linguagem Java

Construtores e sobrecarga 2

Page 3: Aula 03 - Definições da linguagem Java

Conceito de atributo

O estado de um objeto é dado por valores de

atributos e por ligações que possuem com outros

objetos

Os relacionamentos TEM UM são utilizando os atributos da classe

Variáveis de instância

Variáveis de classe

Exemplo de declarações de atributos da classe celular

protected Placa placa = new Placa();

private Celular celular;

private int codigo;

private String cor = “branca”;

Page 4: Aula 03 - Definições da linguagem Java

Tipos primitivos x tipos referência

Tipos primitivos

São nativos da linguagem

São atômicos

Só armazenam um valor declarado por vez

São inicializados com 0 ou false

Por referência

Referenciam objetos

Os objetos podem conter várias variáveis e métodos

São inicializadas com null

Page 5: Aula 03 - Definições da linguagem Java

Tipos primitivos x tipos referência

Tipos primitivos (atômicos)

Um inteiro ou um caractere,

Um literal booleano (true ou false)

Tipos referência

Uma data: pode ser decomposta em três inteiros, representando dia, mês e ano

Um vetor de inteiros: pode ser decomposto em suas partes

Uma seqüência de caracteres: pode ser decomposta me ‘n’ caracteres que a formam

Page 6: Aula 03 - Definições da linguagem Java

Tipos primitivos x tipos referência

Em Java, tipos referência são armazenados como objetos

Apesar de serem objetos, sequências de caracteres (strings) em Java podem ser representadas literalmente

Page 7: Aula 03 - Definições da linguagem Java

Tipos primitivos

Page 8: Aula 03 - Definições da linguagem Java

Tipos referência

Usamos o tipo referência para guardar a

instância de uma classe;

É possível ter acesso a um objeto criado atravésda variável de referência associada

Page 9: Aula 03 - Definições da linguagem Java

Exercício 1

No projeto FabricaCelular criado na aula anterior, crie uma nova classe chamada de Bateria composta pelo atributos

voltagem (int)

duracao (String)

material (String)

Na classe Celular feita na aula anterior, crie um atributo referencia do tipo Bateria

Page 10: Aula 03 - Definições da linguagem Java

Operadores

Um operador produz um novo valor a partir de um ou mais argumentos

Os operadores em Java são praticamente os mesmos encontrados em outras linguagens

+, -, /, *, =, ==, <, >, >=, &&, etc.

A maior parte dos operadores só trabalha com valores de tipos primitivos.

Exceções:

• + e += são usados na concatenação de strings

• !=, = e == são usados também com objetos (embora não funcionem da mesma forma quanto aos valores armazenados nos objetos)

Page 11: Aula 03 - Definições da linguagem Java

Precedência

A precedência determina em que ordem as operações emuma expressão serão realizadas.

Por exemplo, operações de multiplicação são realizadasantes de operações de soma:

int x = 2 + 2 * 3 – 9 / 3; // 2+6–3 = 5

Parênteses podem ser usados para sobrepor a precedência

int x = (2 + 2) * (3 – 9) / 3; // 4*(– 6)/3 = – 8

A maior parte das expressões de mesma precedência é calculada da esquerda para a direita

int y = 13 + 2 + 4 + 6; // (((13 + 2) + 4) + 6)

Há exceções. Por exemplo, atribuição.

Page 12: Aula 03 - Definições da linguagem Java

Operadores aritméticos

+ adição

ƒ - subtração

ƒ * multiplicação

ƒ / divisão

ƒ % módulo (resto)

Page 13: Aula 03 - Definições da linguagem Java

Operadores aritméticos

Operadores unários• -n e +n (ex: -23) (em uma expressão: 13 + -12)

• Melhor usar parênteses: 13 + (-12)

Atribuição com operação• +=, -=, *=, /=, %=

• x = x + 1 equivale a x += 1

Page 14: Aula 03 - Definições da linguagem Java

Operadores incremento e decremento

Exemplo

int a = 10;

int b = 5;

ƒ Incrementa ou decrementa antes de usar a variável

int x = ++a; // a contém 11, x contém 11

int y = --b; // b contém 4, y contém 4

A atribuição foi feita DEPOIS!

Page 15: Aula 03 - Definições da linguagem Java

Operadores incremento e decremento

Exemplo

ƒ Incrementa ou decrementa depois de usar a variável

int x = a++; // a contém 11, x contém 10

int y = b--; // b contém 4, y contém 5

A atribuição foi feita ANTES!

Page 16: Aula 03 - Definições da linguagem Java

Operadores relacionais

== igual

ƒ != diferente

ƒ < menor

ƒ <= menor ou igual

ƒ > maior

ƒ >= maior ou igual

ƒ Sempre produzem um resultado booleano

true ou false

ƒ Comparam os valores de duas variáveis ou de uma variável e uma constante

ƒ Comparam as referências de objetos (apenas == e !=)

Page 17: Aula 03 - Definições da linguagem Java

Operadores Lógicos

&& E (and)

ƒ || Ou (or)

ƒ ! Negação (not)

ƒ Produzem sempre um valor booleano

true ou false

ƒ Argumentos precisam ser valores booleanos ou expressões com resultado booleano

Por exemplo: (3 > x) && !(y <= 10)

ƒ Expressão será realizada até que o resultado possa ser determinado de forma não ambíguaƒ

Exemplo: (false && <qualquer coisa>)

A expressão <qualquer coisa> não será calculada

Page 18: Aula 03 - Definições da linguagem Java

Operadores orientados a bit

& and

ƒ | or

ƒ ^ xor (ou exclusivo)

ƒ ~ not

ƒ Para operações em baixo nível (bit por bit)

Operam com inteiros e resultados são números inteiros

Se argumentos forem booleanos, resultado será igual ao obtido com operadores booleanos, porém:

Exemplo: (false & <qualquer coisa>)

A expressão <qualquer coisa> sempre será calculada

Page 19: Aula 03 - Definições da linguagem Java

Tabela de Precedência

Operadores Associatividade Tipo

++ -- Direita -> esquerda Unário pós-fixo

++ -- + - ! Direita -> esquerda Unário pré-fixo

* / % Esquerda -> direita Multiplicativo

+ - Esquerda -> direita Aditivo

< <= > >= Esquerda -> direita Relacional

== != Esquerda -> direita Igualdade

& Esquerda -> direita E lógico booleano

^ Esquerda -> direita OU exc. lógico booleano

| Esquerda -> direita OU inc. lógico booleano

&& Esquerda -> direita E condicional

|| Esquerda -> direita Ou condicional

?: Direita -> esquerda condicional

= += -= *= /=

%=

Direita -> esquerda atribuição

Page 20: Aula 03 - Definições da linguagem Java

Estruturas de decisão

Page 21: Aula 03 - Definições da linguagem Java

Estruturas de contoleEstruturas de controle

Page 22: Aula 03 - Definições da linguagem Java

Exercício 2

• A) Imprima todos os números pares entre 1 e 100;

• B) Imprima todos os múltiplos de 3 entre 1 e 100;

Page 23: Aula 03 - Definições da linguagem Java

Exercício 3

• Escreva um programa que pede o nome e a idadede uma pessoa e imprime uma mensagem comtais informações– Ex: Olá José. Você tem 25 anos!

Page 24: Aula 03 - Definições da linguagem Java

Os Exercícios 2 e 3 devem ser entregues via

e-mail, até 00h de Segunda (22/02)

[email protected]