Anúncio

Aula 03 - Definições da linguagem Java

Professor em IFPB - UNIPÊ
18 de Mar de 2016
Anúncio

Mais conteúdo relacionado

Anúncio

Mais de Daniel Brandão(20)

Último(20)

Anúncio

Aula 03 - Definições da linguagem Java

  1. Definições da Linguagem Java 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 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”;
  4. 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
  5. 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
  6. 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
  7. Tipos primitivos
  8. 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
  9. 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
  10. 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)
  11. 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.
  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 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!
  15. 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!
  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 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
  19. 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
  20. Estruturas de decisão
  21. Estruturas de contoleEstruturas de controle
  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 • 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!
  24. Os Exercícios 2 e 3 devem ser entregues via e-mail, até 00h de Segunda (22/02) professordanielbrandao@gmail.com
Anúncio