• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Operadores
 

Operadores

on

  • 2,487 views

 

Statistics

Views

Total Views
2,487
Views on SlideShare
2,410
Embed Views
77

Actions

Likes
0
Downloads
19
Comments
0

6 Embeds 77

http://www.elenilsonvieira.com.br 50
http://blogs.sun.com 11
http://blogs.oracle.com 5
http://www.slideshare.net 4
https://blogs.oracle.com 4
http://www.elenilsonvieira.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Operadores Operadores Presentation Transcript

    • Operadores Raphael Marques
    • Objetivo • Operadores de atribuição: =, +=, -=, *=, /= • Operadores aritméticos: +, -, *, /, %, ++, -- • Operadores relacionais: <, <=, >, >=, ==, != • Operador instanfeof • Operadores lógicos: &, |, ^, !, &&, || • Operador condicional: ?:
    • Objetivo • Não é assunto da prova: – Operadores de deslocamento de bits – Operadores binários (bit-a-bit) – Complemento de 2 – Divisão por zero
    • Operador de atribuição • Para números, o tamanho importa. int x = 5f; ERRO byte b = 500; ERRO • Para referências, o “tipo” importa. Integer y = “5”; ERRO
    • Operador de atribuição boolean b = false; if(b = true) System.out.println(quot;SIMquot;); else System.out.println(quot;NAOquot;); Qual a saída?
    • Operador de atribuição boolean b = false; if(b = true) System.out.println(quot;SIMquot;); else System.out.println(quot;NAOquot;); Qual a saída? → quot;SIMquot;
    • Operador de atribuição int x = 0; if(x = 1) System.out.println(quot;SIMquot;); else System.out.println(quot;NAOquot;); Qual a saída?
    • Operador de atribuição int x = 0; if(x = 1) → ILEGAL System.out.println(quot;SIMquot;); else System.out.println(quot;NAOquot;); Qual a saída?
    • Operadores de atribuição compostos += -= *= /= • x += 5; → x = x + 5; • x -= 5; → x = x - 5; • x *= 5; → x = x * 5; • x /= 5; → x = x / 5;
    • Operadores de atribuição compostos • Atualmente a prova não cobra muita precedência de operadores! x = y++ + ++x/z; • Em alguns casos sim: x *= 2 + 5; → x = x * 2 + 5;
    • Operadores de atribuição compostos • Atualmente a prova não cobra muito precedência de operadores! x = y++ + ++x/z; • Em alguns casos sim: x *= 2 + 5; → x = x * 2 + 5; ERRADO x *= 2 + 5; → x = x * (2 + 5); CERTO
    • Operadores relacionais < <= > >= == != • Retornam sempre um valor booleano. • <, <=, >, >= – apenas tipos numéricos • ==, != – todos tipos inclusive referência
    • Operadores de igualdade == != • Comparam números, booleanos e referências • Os operandos devem ser compatíveis
    • Operadores de igualdade if(false == 'a'){} ILEGAL if(65 == 'A'){} LEGAL if(1 == quot;Aquot;){} ILEGAL if(1 == new Integer(1)){} LEGAL
    • Operadores de igualdade JButton a = new JButton(quot;Exitquot;); JButton b = new JButton(quot;Exitquot;); JButton c = a; System.out.println(a == b); System.out.println(a == c); Qual a saída?
    • Operadores de igualdade JButton a = new JButton(quot;Exitquot;); JButton b = new JButton(quot;Exitquot;); JButton c = a; System.out.println(a == b); → false System.out.println(a == c); → true Qual a saída?
    • Operadores de igualdade Integer a = 10; Integer b = 10; System.out.println(a==b); Qual a saída?
    • Operadores de igualdade Integer a = 10; Integer b = 10; System.out.println(a==b); → true Qual a saída?
    • Operadores de igualdade Integer a = new Integer(10); Integer b = new Integer(10); System.out.println(a==b); → false Qual a saída?
    • Operadores de igualdade Integer a = new Integer(5) + 5; Integer b = 10; System.out.println(a==b); → true Qual a saída?
    • Operadores de igualdade enum Color {RED,GREEN,BLUE} ... Color a = Color.RED; Color b = Color.RED: System.out.println(a==b); Qual a saída?
    • Operadores de igualdade enum Color {RED,GREEN,BLUE} ... Color a = Color.RED; Color b = Color.RED: System.out.println(a==b); → true Qual a saída?
    • Operador instanceof • Verifica se o OBJETO referenciado pelo lado esquerdo “É UM” objeto do tipo do lado direito. • Utilizado apenas com referências • Retorna um booleano • Ex: referencia instanceof Tipo
    • Operador instanceof class Animal { } class Baleia extends Animal { } ... Animal a = new Animal(); Baleia b = new Baleia(); Object c = new Baleia(); ... System.out.println(a instanceof Animal); → true System.out.println(a instanceof Baleia); → false
    • Operador instanceof class Animal { } class Baleia extends Animal { } ... Animal a = new Animal(); Baleia b = new Baleia(); Object c = new Baleia(); ... System.out.println(b instanceof Animal); → true System.out.println(b instanceof Baleia); → true
    • Operador instanceof class Animal { } class Baleia extends Animal { } ... Animal a = new Animal(); Baleia b = new Baleia(); Object c = new Baleia(); ... System.out.println(c instanceof Animal); → true System.out.println(c instanceof Baleia); → true
    • Operador instanceof class A { } ... A a = new A(); ... ...println(“x” instanceof A); ILEGAL ...println(a instanceof Object); SEMPRE TRUE ...println(array instanceof Object); SEMPRE TRUE ...println(null instanceof A); SEMPRE FALSE
    • Operador instanceof interface Animal { } class Manifero implements Animal { } class Baleia extends Mamifero { } ... Baleia b = new Baleia(); ...println(b instanceof Animal); → true
    • Operadores aritméticos • + adição • - subtração • * multiplicação • / divisão • % resto ...println(17 % 5); → 2 ...println(17.0 % 5.0); → 2.0
    • Operadores aritméticos int a = 8; int b = 6; int c = a + b;
    • Operadores aritméticos short a = 8; short b = 6; short c = a + b; → ILEGAL
    • Operadores aritméticos short a = 8; short b = 6; short c = a; c += b; → LEGAL
    • Concatenação de Strings 5 + 4 + “x” → “9x” ERRO??? 5 + (4 + “x”) → “54x” “x” + 5 + 4 → “x54” ERRO??? “x” + (5 + 4) → “x9” String s = “alguma”; s += “coisa”; → “algumacoisa”
    • Incremento e Decremento int x = 5; ...println(x++); → 5 ...println(x); → 6 ...println(++x); → 7 ...println(x); → 7 ...println(x--); → 7 ...println(x); → 6
    • Operador condicional hora < 12 ? quot;Mquot; : quot;Tquot; (hora < 12) ? quot;Mquot; : quot;Tquot; hora < 12 ? quot;Mquot; : hora < 18 ? quot;Tquot; : quot;N“ hora > 12 ? hora < 18 ? quot;Tquot; : quot;Nquot; : quot;M”
    • Operador condicional hora < 12 ? quot;Mquot; : quot;Tquot; (hora < 12) ? quot;Mquot; : quot;Tquot; hora < 12 ? quot;Mquot; : hora < 18 ? quot;Tquot; : quot;Nquot; hora > 12 ? hora < 18 ? quot;Tquot; : quot;Nquot; : quot;Mquot;
    • Operadores lógicos & | ^ ! && || • Operandos são expressões booleanas • O resultado é um booleano • Na prova não cai operadores binários!!!
    • Operadores lógicos • Operadores com curto-circuito – && e || • Dependendo do valor do 1º operando, o segundo operando pode não ser avaliado if( true || ?????? ){} if( false && ??????){}
    • Operadores lógicos • Operadores sem curto-circuito –&e| • Os dois operando sempre serão avaliados
    • Operadores lógicos • XOR (OU exclusivo) ^ – Retorna true se APENAS um operando é true – Os dois operandos sempre são avaliados • Negação ! true → false false → true
    • THE END