SlideShare una empresa de Scribd logo
SCJP 6
   Clase 4 – Operadores




    Ezequiel Aranda
Sun Microsystems Campus
      Ambassador
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/
AGENDA

>! peradores de asignación
 O
>!nstanceof
 i
>! oncatenación de Strings
 C
>! perador condicional
 O
>! peradores lógicos
 O
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.
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));
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.
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");
  }
}
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?
 ¿
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.
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
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);
    }
}
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.
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.
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 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
Preguntas

Más contenido relacionado

DOCX
Cuestionario
PPTX
Universidad fermin toro decanato de ingeniería cabudare
PPTX
OPERADORES LOGICOS
PPTX
Operadores
DOCX
Actividad N° 7 - Unidad 4
PDF
Operadores utilizados en programación
PPTX
Automatas de estado finito
Cuestionario
Universidad fermin toro decanato de ingeniería cabudare
OPERADORES LOGICOS
Operadores
Actividad N° 7 - Unidad 4
Operadores utilizados en programación
Automatas de estado finito

La actualidad más candente (16)

PDF
Guía sobre integral indefinida
PPTX
Compuertas logicas
PDF
automatas finitos
PPTX
Maquinas de estado finito mapa mental
PDF
Integral indefinida
DOCX
Laboratorio 1
PPT
Leccion 2 Java
DOCX
1.1 palabras reservadas para hacer un pseudocódigo
PPTX
Estructura de un programa
PDF
Propiedades de la integral indefinida
DOC
Operadores C SHARP
DOCX
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...
PPTX
Presentación de automata finito no deterministico, ana belgica vallejo y saud...
DOCX
Tipos de operadores
PPT
Presentacion 2 - Maquinas de Estado Finito
PPTX
Guía sobre integral indefinida
Compuertas logicas
automatas finitos
Maquinas de estado finito mapa mental
Integral indefinida
Laboratorio 1
Leccion 2 Java
1.1 palabras reservadas para hacer un pseudocódigo
Estructura de un programa
Propiedades de la integral indefinida
Operadores C SHARP
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...
Presentación de automata finito no deterministico, ana belgica vallejo y saud...
Tipos de operadores
Presentacion 2 - Maquinas de Estado Finito
Publicidad

Similar a Clase4 operadores (20)

PDF
SCJP, Clase 4: Operadores
DOCX
Ap n° 7 rios,m. fernanda
PPTX
El Lenguaje de Programacipon java.
PPS
Estructuras control java-
PPT
Estructuras Control Java. Fundamentos del Lenguaje
PPTX
Certificación java 6 cap 4
DOCX
DOCX
Practica13
PPTX
5-Unidad 1. Paradigma de la Programación-Orientación a Objetos
PPTX
Tipos de operadores_para_c_
PPTX
Tipos de operadores_para_c_(2)
PDF
Clase No.03 GENERALIDADES DEL LENGUAJE JAVA.pdf
PPTX
Tipos de operadores_para_c_
PDF
Curso java desde cero nivel i - modulo ii
PPTX
Diapositivas de JAVA
PDF
PROGRAMACIÓN EN JAVA
ODP
Seccion Fundamentos SCJP
PDF
Tipos basicos de java
SCJP, Clase 4: Operadores
Ap n° 7 rios,m. fernanda
El Lenguaje de Programacipon java.
Estructuras control java-
Estructuras Control Java. Fundamentos del Lenguaje
Certificación java 6 cap 4
Practica13
5-Unidad 1. Paradigma de la Programación-Orientación a Objetos
Tipos de operadores_para_c_
Tipos de operadores_para_c_(2)
Clase No.03 GENERALIDADES DEL LENGUAJE JAVA.pdf
Tipos de operadores_para_c_
Curso java desde cero nivel i - modulo ii
Diapositivas de JAVA
PROGRAMACIÓN EN JAVA
Seccion Fundamentos SCJP
Tipos basicos de java
Publicidad

Más de jorg_marq (20)

PDF
Clase9 threads
PDF
Clase8 innerclasses
PDF
Clase7 generics
PDF
Clase6 collections
PDF
Clase5 controldeflujo
PDF
Clase3 asignaciones
PDF
Clase2 ejemplosdeenumpoo
PDF
Clase1 introduccinalcurso
PDF
Capitulos 8 9-10
PDF
Capitulo 7
PDF
Capitulo 6
PDF
Capitulo 5
PDF
Capitulo 4
PDF
Capitulo 3
PDF
Capitulo 2
PDF
Capitulo 1
PDF
Clase10 stringsio
PDF
Whither cman
PDF
Ex300 objectives
PDF
Ex200 objectives
Clase9 threads
Clase8 innerclasses
Clase7 generics
Clase6 collections
Clase5 controldeflujo
Clase3 asignaciones
Clase2 ejemplosdeenumpoo
Clase1 introduccinalcurso
Capitulos 8 9-10
Capitulo 7
Capitulo 6
Capitulo 5
Capitulo 4
Capitulo 3
Capitulo 2
Capitulo 1
Clase10 stringsio
Whither cman
Ex300 objectives
Ex200 objectives

Clase4 operadores

  • 1. SCJP 6 Clase 4 – Operadores Ezequiel Aranda Sun Microsystems Campus Ambassador
  • 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. AGENDA >! peradores de asignación O >!nstanceof i >! oncatenación de Strings C >! perador condicional O >! peradores lógicos O
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 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