Operadores Java

 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
boolean b = false;
  if(b = true)
      → (b = true) retorna o valor que é
  atribuído à b que é um...
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...
Operador de atribuição
int x = 0;
  if(x = 1)
       → (x = 1) retorna o valor que é atribuído á
  x que é um inteiro, por...
Operadores de atribuição compostos

       +=         -=       *=        /=

•   x += 5;   →   x = x + 5;
•   x -= 5;   → ...
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


if(65 == 'A'){}
   → um char ('A') é um número e portanto é
   compativel com int (65)

if(1 == ...
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 = 10;
Integer b = 10;

System.out.println(a==b);        → true
  → As classes (Integer, ...
Operadores de igualdade
Integer a = new Integer(10);
Integer b = new Integer(10);

System.out.println(a==b);      →    fal...
Operadores de igualdade
Integer a = new Integer(5) + 5;
Integer b = 10;

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

  → E...
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 c = a + b; →   ILEGAL

  → Não existe os operadores aritméticos para
 tipos menores que int
 ...
Operadores aritméticos
Solução:

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” ER...
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
  →O aninhamento é feito igual if-else: cada :
  casa com o ? anterior mais próximo que ainda
  não p...
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 operando ...
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 Java

16,708
-1

Published on

Slides apresentado para o grupo de estudos da UFPB para a certificação java (SCJP). São tratados os operadores: compostos, aritméticos, lógicos, relacionais, instanceof, condicional

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
16,708
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
175
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Operadores Java

  1. 1. Operadores Java Raphael Marques
  2. 2. Objetivo • Operadores de atribuição: =, +=, -=, *=, /= • Operadores aritméticos: +, -, *, /, %, ++, -- • Operadores relacionais: <, <=, >, >=, ==, != • Operador instanceof • 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 boolean b = false; if(b = true) → (b = true) retorna o valor que é atribuído à b que é um booleano
  8. 8. 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?
  9. 9. 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?
  10. 10. Operador de atribuição int x = 0; if(x = 1) → (x = 1) retorna o valor que é atribuído á x que é um inteiro, por isso não pode ser colocado como condição de um if
  11. 11. 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; • X %= 5; → NÃO CAI NA PROVA
  12. 12. 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
  13. 13. Operadores relacionais < <= > >= == != • Retornam sempre um valor booleano. • <, <=, >, >= – apenas tipos numéricos • ==, != – todos tipos inclusive referência
  14. 14. Operadores de igualdade == != • Comparam números, booleanos e referências • Os operandos devem ser compatíveis
  15. 15. Operadores de igualdade if(false == 'a'){} ILEGAL if(65 == 'A'){} LEGAL if(1 == quot;Aquot;){} ILEGAL if(1 == new Integer(1)){} LEGAL
  16. 16. Operadores de igualdade if(65 == 'A'){} → um char ('A') é um número e portanto é compativel com int (65) if(1 == new Integer(1)){} → O objeto Integer é convertido para int
  17. 17. 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?
  18. 18. 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?
  19. 19. Operadores de igualdade Integer a = 10; Integer b = 10; System.out.println(a==b); Qual a saída?
  20. 20. Operadores de igualdade Integer a = 10; Integer b = 10; System.out.println(a==b); → true Qual a saída?
  21. 21. Operadores de igualdade Integer a = 10; Integer b = 10; System.out.println(a==b); → true → As classes (Integer, Byte, Short, Character e Long) apontam para a mesma referência quanto recebem um valor até 127 por atribuição.
  22. 22. Operadores de igualdade Integer a = new Integer(10); Integer b = new Integer(10); System.out.println(a==b); → false → Usar new garante a criação de objetos diferentes
  23. 23. Operadores de igualdade Integer a = new Integer(5) + 5; Integer b = 10; System.out.println(a==b); → true → Em operações que resultam em valores até 127 também são utilizadas as referências constantes
  24. 24. Operadores de igualdade enum Color {RED,GREEN,BLUE} ... Color a = Color.RED; Color b = Color.RED: System.out.println(a==b); → true → Enums são objetos, mas cada valor de um enum é uma constante (public static final)
  25. 25. Operador instanceof • Verifica se o OBJETO referenciado pelo lado esquerdo “É UM” objeto do tipo do lado direito. • Utilizado apenas com referências • Também funciona com interfaces • Retorna um booleano • Ex: referencia instanceof Tipo
  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(a instanceof Animal); → true System.out.println(a instanceof Baleia); → false
  27. 27. 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
  28. 28. 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
  29. 29. 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
  30. 30. Operador instanceof interface Animal { } class Manifero implements Animal { } class Baleia extends Mamifero { } ... Baleia b = new Baleia(); ...println(b instanceof Animal); → true
  31. 31. Operadores aritméticos • + adição • - subtração • * multiplicação • / divisão • % resto ...println(17 % 5); → 2 ...println(17.0 % 5.0); → 2.0
  32. 32. Operadores aritméticos int a = 8; int b = 6; int c = a + b;
  33. 33. Operadores aritméticos short a = 8; short b = 6; short c = a + b; → ILEGAL
  34. 34. Operadores aritméticos short c = a + b; → ILEGAL → Não existe os operadores aritméticos para tipos menores que int → Os valores são automaticamente convertidos para int, e por isso a expressão não pode ser atribuída a um short
  35. 35. Operadores aritméticos Solução: short a = 8; short b = 6; short c = a; c += b; → LEGAL
  36. 36. 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”
  37. 37. Incremento e Decremento int x = 5; ...println(x++); → 5 ...println(x); → 6 ...println(++x); → 7 ...println(x); → 7 ...println(x--); → 7 ...println(x); → 6
  38. 38. 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”
  39. 39. Operador condicional →O aninhamento é feito igual if-else: cada : casa com o ? anterior mais próximo que ainda não possua um : hora < 12 ? quot;Mquot; : hora < 18 ? quot;Tquot; : quot;N“ hora > 12 ? hora < 18 ? quot;Tquot; : quot;Nquot; : quot;M”
  40. 40. Operadores lógicos & | ^ ! && || • Operandos são expressões booleanas • O resultado é um booleano • Na prova não cai operadores binários!!!
  41. 41. 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 && ??????){} • Cuidado com incrementos/decrementos no segundo operador.
  42. 42. Operadores lógicos • Operadores sem curto-circuito –&e| • Os dois operando sempre serão avaliados
  43. 43. 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
  44. 44. 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.

×