SCJP, Clase 4: Operadores

4,184 views
4,145 views

Published on

Slides de la cuarta clase del curso de Java SCJP dictado en la Universidad Nacional de Centro de La Provincia de Buenos Aires.

Contenido:
1. Operadores

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,184
On SlideShare
0
From Embeds
0
Number of Embeds
1,285
Actions
Shares
0
Downloads
512
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

SCJP, Clase 4: Operadores

  1. 1. SCJP 6 Clase 4 – Operadores Ezequiel Aranda Sun 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(quot;Exitquot;); JButton b = new JButton(quot;Exitquot;); JButton c = a; System.out.println(quot;a == b? quot; + (a == b)); System.out.println(quot;a == c? quot; + (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(quot;'a' refers to a Bquot;); } }
  8. 8. Operador de concatenación en Strings String a = quot;Stringquot;; 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(quot;This pet status is quot; + 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(quot; quot; + 7 + 2 + quot; quot;); System.out.print(foo() + x + 5 + quot; quot;); System.out.println(x + y + foo()); } static String foo() { return quot;fooquot;; } } > ¿Cuál es el resultado? A. 9 foo47 86foo B. 9 foo47 4244foo C. 9 foo425 86foo D. 9 foo425 4244foo E. 72 foo47 86foo F. 72 foo47 4244foo G. 72 foo425 86foo H. 72 foo425 4244foo
  15. 15. Preguntas

×