Clase4 operadores

311 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
311
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Clase4 operadores

  1. 1. SCJP 6 Clase 4 – Operadores Ezequiel ArandaSun Microsystems Campus Ambassador
  2. 2. Disclaimer & Acknowledgments>!Even though Ezequiel Aranda is a full-time employee of Sun Microsystems, the contents here are created as his own personal endeavor and thus does not reflect any official stance of Sun Microsystems.>!Sun Microsystems is not responsible for any inaccuracies in the contents.>!Acknowledgments – The slides of this presentation are made from “SCJP Unit 4” by Warit Wanwithu and Thanisa Kruawaisayawan and SCJP Workshop by P. Srikanth.>!This slides are Licensed under a Creative Commons Attribution – Noncommercial – Share Alike 3.0 >!http://creativecommons.org/licenses/by-nc-sa/3.0/
  3. 3. AGENDA>! peradores de asignación O>!nstanceof i>! oncatenación de Strings C>! perador condicional O>! peradores lógicos O
  4. 4. Operadores de asignación>! uando asignamos un valor a un primitivo, el C tamaño importa. Debemos estar seguros de si se dará un casting implícito, uno explicito o si se truncará el número.>! na variable de referencia no es un objeto. Es U una forma de alcanzar un objeto.>! uando asignamos un valor a una variable de C referencia, el tipo importa. Debemos recordar las reglas para supertipos, subtipos y arrays.
  5. 5. Igualdad en referencias a objetos>! l operador == observa los bits en la variable, E y en el caso de las referencias esto significa que si los bits en ambas variables de referencia son iguales, entonces ambas hacen referencia al mismo objeto. JButton a = new JButton("Exit"); JButton b = new JButton("Exit"); JButton c = a; System.out.println("a == b? " + (a == b)); System.out.println("a == c? " + (a == c));
  6. 6. Comparación con instanceof>! s verdadera si el objeto E en el lado izquierdo del operador pasa la prueba “ES UN” para la clase o interfaz en el lado derecho.>! os arrays son objetos, L incluso cuando son arrays de primitivos.
  7. 7. class A { }class B extends A { public static void main (String [] args) { A myA= new B(); m2(myA); } public static void m2(A a) { if (a instanceof B) ((B)a).doBstuff(); //downcast } public static void doBstuff(){ System.out.println("a refers to a B"); }}
  8. 8. Operador de concatenación en Strings String a = "String"; int b = 3; int c = 7; System.out.println(a+ b + c);>! l signo ‘+’, ¿actuará como un operador de E suma o como uno de concatenación cuando opere las variables b y c?>! Y si hicieramos b+c+a? ¿
  9. 9. Operador de concatenación en Strings (II)>! Comenzamos con el String a, y le agregamos “ el carácter 3 (b), para producir el String “String3”. Después agregamos el carácter 7 (c), para producir el String “String37”, luego lo imprimimos”.>! i ambos operandos son Strings, ‘+’ actuará S como operador de concatenación. Si ambos son números, ‘+’ actuará como operador de adición.
  10. 10. Operador condicional>! l operador condicional es un operador E ternario que se utiliza para evaluar operaciones booleanas en forma similar al if.>! a diferencia es que en vez de ejecutar un L bloque de código, sólo podremos asignar un valor a una variable. x = (boolean expression) ? value to assign if true : value to assign if false
  11. 11. class Salary { public static void main(String[] args) { int numOfPets = 3; String status = (numOfPets<4) ? “Pet limit not exceeded” : “too many pets”; System.out.println("This pet status is " + status); }}
  12. 12. Operadores lógicos de “cortocircuito”>! os operadores ‘&&’ y ‘||’ evalúan L solo valores booleanos.>! &&’: short-circuit AND ‘>! ||’: short-circuit OR ‘>! e llaman de cortocircuito porque S evalúan primero el lado izquierdo de la operación y si logra una resolución, no evalúa la parte derecha.
  13. 13. XOR>! l operador XOR (‘^’) no E es de cortocircuito>! ara que una operación P XOR evalúe a true, uno y sólo uno de los operandos debe evaluar a true.
  14. 14. class Feline { public static void main(String[] args) { Long x = 42L; Long y = 44L; System.out.print(" " + 7 + 2 + " "); System.out.print(foo() + x + 5 + " "); System.out.println(x + y + foo()); }static String foo() { return "foo"; }}>!¿Cuál es el resultado?A. 9 foo47 86foo B. 9 foo47 4244fooC. 9 foo425 86foo D. 9 foo425 4244fooE. 72 foo47 86foo F. 72 foo47 4244fooG. 72 foo425 86foo H. 72 foo425 4244foo
  15. 15. Preguntas

×