Definições da Linguagem Java
Prof. Daniel Brandão
Metodologia e Linguagem de Programação
Já vimos até aqui:
Histórico e fundamentos da linguagem Java
Etapas: edição, compilação, interpretação e
execução de programas em Java
Princípios de Orientação a Objetos
Hoje: Definições da Linguagem Java
Construtores e sobrecarga 2
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”;
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
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
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
Tipos primitivos
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és
da variável de referência associada
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
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)
Precedência
A precedência determina em que ordem as operações em
uma expressão serão realizadas.
Por exemplo, operações de multiplicação são realizadas
antes 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.
Operadores aritméticos
 + adição
ƒ - subtração
ƒ * multiplicação
ƒ / divisão
ƒ % módulo (resto)
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
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!
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!
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 !=)
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
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
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
Estruturas de decisão
Estruturas de contoleEstruturas de controle
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;
Exercício 3
• Escreva um programa que pede o nome e a idade
de uma pessoa e imprime uma mensagem com
tais informações
– Ex: Olá José. Você tem 25 anos!
Os Exercícios 2 e 3 devem ser entregues via
e-mail, até 00h de Segunda (22/02)
professordanielbrandao@gmail.com

Aula 03 - Definições da linguagem Java

  • 1.
    Definições da LinguagemJava Prof. Daniel Brandão Metodologia e Linguagem de Programação
  • 2.
    Já vimos atéaqui: Histórico e fundamentos da linguagem Java Etapas: edição, compilação, interpretação e execução de programas em Java Princípios de Orientação a Objetos Hoje: Definições da Linguagem Java Construtores e sobrecarga 2
  • 3.
    Conceito de atributo Oestado 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”;
  • 4.
    Tipos primitivos xtipos 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
  • 5.
    Tipos primitivos xtipos 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
  • 6.
    Tipos primitivos xtipos 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
  • 7.
  • 8.
    Tipos referência Usamos otipo referência para guardar a instância de uma classe; É possível ter acesso a um objeto criado através da variável de referência associada
  • 9.
    Exercício 1 No projetoFabricaCelular 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
  • 10.
    Operadores Um operador produzum 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)
  • 11.
    Precedência A precedência determinaem que ordem as operações em uma expressão serão realizadas. Por exemplo, operações de multiplicação são realizadas antes 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.
  • 12.
    Operadores aritméticos  +adição ƒ - subtração ƒ * multiplicação ƒ / divisão ƒ % módulo (resto)
  • 13.
    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
  • 14.
    Operadores incremento edecremento 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!
  • 15.
    Operadores incremento edecremento 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!
  • 16.
    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 !=)
  • 17.
    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
  • 18.
    Operadores orientados abit & 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
  • 19.
    Tabela de Precedência OperadoresAssociatividade 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
  • 20.
  • 21.
  • 22.
    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;
  • 23.
    Exercício 3 • Escrevaum programa que pede o nome e a idade de uma pessoa e imprime uma mensagem com tais informações – Ex: Olá José. Você tem 25 anos!
  • 24.
    Os Exercícios 2e 3 devem ser entregues via e-mail, até 00h de Segunda (22/02) professordanielbrandao@gmail.com