Operadores

Raphael Marques
Objetivo
• Operadores de atribuição:
     =, +=, -=, *=, /=
• Operadores aritméticos:
     +, -, *, /, %, ++, --
• Operado...
Objetivo
• Não é assunto da prova:
  – Operadores de deslocamento de bits
  – Operadores binários (bit-a-bit)
  – Compleme...
Operador de atribuição

• Para números, o tamanho importa.
  int x = 5f;         ERRO
  byte b = 500;       ERRO


• Para ...
Operador de atribuição
boolean b = false;
  if(b = true)
      System.out.println(quot;SIMquot;);
  else
      System.out....
Operador de atribuição
boolean b = false;
  if(b = true)
      System.out.println(quot;SIMquot;);
  else
      System.out....
Operador de atribuição
int x = 0;
  if(x = 1)
       System.out.println(quot;SIMquot;);
  else
       System.out.println(q...
Operador de atribuição
int x = 0;
  if(x = 1)      → ILEGAL
       System.out.println(quot;SIMquot;);
  else
       System...
Operadores de atribuição compostos

       +=          -=          *=   /=

•   x += 5;   →   x = x + 5;
•   x -= 5;   →  ...
Operadores de atribuição compostos
• Atualmente a prova não cobra muita
  precedência de operadores!
  x = y++ + ++x/z;


...
Operadores de atribuição compostos
• Atualmente a prova não cobra muito
  precedência de operadores!
  x = y++ + ++x/z;


...
Operadores relacionais

    <         <=        >        >=     ==   !=

• Retornam sempre um valor booleano.

• <, <=, >,...
Operadores de igualdade

                 ==     !=

• Comparam números, booleanos e referências

• Os operandos devem ser...
Operadores de igualdade
if(false == 'a'){}          ILEGAL

if(65 == 'A'){}             LEGAL

if(1 == quot;Aquot;){}     ...
Operadores de igualdade
JButton a = new JButton(quot;Exitquot;);
JButton b = new JButton(quot;Exitquot;);
JButton c = a;
S...
Operadores de igualdade
JButton a = new JButton(quot;Exitquot;);
JButton b = new JButton(quot;Exitquot;);
JButton c = a;
S...
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);      →   fals...
Operadores de igualdade
Integer a = new Integer(5) + 5;
Integer b = 10;

System.out.println(a==b);         →   true

Qual ...
Operadores de igualdade
enum Color {RED,GREEN,BLUE}
...
Color a = Color.RED;
Color b = Color.RED:

System.out.println(a==b...
Operadores de igualdade
enum Color {RED,GREEN,BLUE}
...
Color a = Color.RED;
Color b = Color.RED:

System.out.println(a==b...
Operador instanceof
• Verifica se o OBJETO referenciado pelo lado
  esquerdo “É UM” objeto do tipo do lado
  direito.
• Ut...
Operador instanceof
class Animal { }
class Baleia extends Animal { }
...
Animal a = new Animal();
Baleia b = new Baleia();...
Operador instanceof
class Animal { }
class Baleia extends Animal { }
...
Animal a = new Animal();
Baleia b = new Baleia();...
Operador instanceof
class Animal { }
class Baleia extends Animal { }
...
Animal a = new Animal();
Baleia b = new Baleia();...
Operador instanceof
class A { }
...
A a = new A();
...
...println(“x” instanceof A);          ILEGAL
...println(a instance...
Operador instanceof
interface Animal { }
class Manifero implements Animal { }
class Baleia extends Mamifero { }
...
Baleia...
Operadores aritméticos
•   +   adição
•   -   subtração
•   *   multiplicação
•   /   divisão
•   %   resto
    ...println...
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            ...
Incremento e Decremento
int x = 5;
...println(x++);   →   5
...println(x);     →   6
...println(++x);   →   7
...println(x...
Operador condicional
hora < 12 ? quot;Mquot; : quot;Tquot;

(hora < 12) ? quot;Mquot; : quot;Tquot;

hora < 12 ? quot;Mquo...
Operador condicional
hora < 12 ? quot;Mquot; : quot;Tquot;

(hora < 12) ? quot;Mquot; : quot;Tquot;

hora < 12 ? quot;Mquo...
Operadores lógicos

          &    |    ^     !   &&    ||

• Operandos são expressões booleanas

• O resultado é um boole...
Operadores lógicos
• Operadores com curto-circuito
  – && e ||


• Dependendo do valor do 1º operando, o
  segundo operand...
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 sempr...
THE END
Upcoming SlideShare
Loading in...5
×

Operadores

1,663

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,663
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Operadores

  1. 1. Operadores Raphael Marques
  2. 2. Objetivo • Operadores de atribuição: =, +=, -=, *=, /= • Operadores aritméticos: +, -, *, /, %, ++, -- • Operadores relacionais: <, <=, >, >=, ==, != • Operador instanfeof • Operadores lógicos: &, |, ^, !, &&, || • Operador condicional: ?:
  3. 3. Objetivo • Não é assunto da prova: – Operadores de deslocamento de bits – Operadores binários (bit-a-bit) – Complemento de 2 – Divisão por zero
  4. 4. 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
  5. 5. 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?
  6. 6. 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;
  7. 7. 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?
  8. 8. 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?
  9. 9. 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;
  10. 10. 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;
  11. 11. 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
  12. 12. Operadores relacionais < <= > >= == != • Retornam sempre um valor booleano. • <, <=, >, >= – apenas tipos numéricos • ==, != – todos tipos inclusive referência
  13. 13. Operadores de igualdade == != • Comparam números, booleanos e referências • Os operandos devem ser compatíveis
  14. 14. Operadores de igualdade if(false == 'a'){} ILEGAL if(65 == 'A'){} LEGAL if(1 == quot;Aquot;){} ILEGAL if(1 == new Integer(1)){} LEGAL
  15. 15. 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?
  16. 16. 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?
  17. 17. Operadores de igualdade Integer a = 10; Integer b = 10; System.out.println(a==b); Qual a saída?
  18. 18. Operadores de igualdade Integer a = 10; Integer b = 10; System.out.println(a==b); → true Qual a saída?
  19. 19. Operadores de igualdade Integer a = new Integer(10); Integer b = new Integer(10); System.out.println(a==b); → false Qual a saída?
  20. 20. Operadores de igualdade Integer a = new Integer(5) + 5; Integer b = 10; System.out.println(a==b); → true Qual a saída?
  21. 21. 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?
  22. 22. 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?
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. 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
  28. 28. Operador instanceof interface Animal { } class Manifero implements Animal { } class Baleia extends Mamifero { } ... Baleia b = new Baleia(); ...println(b instanceof Animal); → true
  29. 29. Operadores aritméticos • + adição • - subtração • * multiplicação • / divisão • % resto ...println(17 % 5); → 2 ...println(17.0 % 5.0); → 2.0
  30. 30. Operadores aritméticos int a = 8; int b = 6; int c = a + b;
  31. 31. Operadores aritméticos short a = 8; short b = 6; short c = a + b; → ILEGAL
  32. 32. Operadores aritméticos short a = 8; short b = 6; short c = a; c += b; → LEGAL
  33. 33. 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”
  34. 34. Incremento e Decremento int x = 5; ...println(x++); → 5 ...println(x); → 6 ...println(++x); → 7 ...println(x); → 7 ...println(x--); → 7 ...println(x); → 6
  35. 35. 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”
  36. 36. 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;
  37. 37. Operadores lógicos & | ^ ! && || • Operandos são expressões booleanas • O resultado é um booleano • Na prova não cai operadores binários!!!
  38. 38. 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 && ??????){}
  39. 39. Operadores lógicos • Operadores sem curto-circuito –&e| • Os dois operando sempre serão avaliados
  40. 40. 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
  41. 41. THE END
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×