Programación

1º DAM/DAW - Curso 2023-2024

User Tools

Site Tools


apuntes:operadores

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
apuntes:operadores [2019/02/15 08:32] Santiago Faciapuntes:operadores [2023/06/04 11:20] (current) – [Operador condicional] Santiago Faci
Line 14: Line 14:
 </code> </code>
  
-  * Operador ''--''  Al igual que ocurre con el anterior operador, puede ser utilizado como operador de predecremento posdecremento, dependiendo de si se coloca a la izquierda o derecha de la variable, respectivamente+  * Operador ''- -''  Al igual que ocurre con el anterior operador, puede ser utilizado como operador de predecremento posdecremento, dependiendo de si se coloca a la izquierda o derecha de la variable, respectivamente
  
 <code java> <code java>
-    int x = 10; +int x = 10; 
-    System.out.println(--x);    // 9 +System.out.println(--x);    // 9 
-    System.out.println(x--);    // 9 +System.out.println(x--);    // 9 
-    System.out.println(x);      // 8+System.out.println(x);      // 8
 </code> </code>
  
Line 26: Line 26:
  
 <code java> <code java>
-    boolean terminado = false; +boolean terminado = false; 
-    System.out.println(!terminado); // true+System.out.println(!terminado); // true
 </code> </code>
  
Line 33: Line 33:
          
 <code java> <code java>
-    int x = -100; +int x = -100; 
-    int y = 500; +int y = 500; 
-    int z = -y; +int z = -y; 
-    System.out.println(x);  // -100 +System.out.println(x);  // -100 
-    System.out.println(y);  // 500 +System.out.println(y);  // 500 
-    System.out.println(z);  // -500+System.out.println(z);  // -500
 </code> </code>
-    +
   * Operador ''+'': El operador ''+'' se utiliza para indicar que un número es positivo. No es habitual usarlo puesto que la ausencia del mismo indica lo mismo.   * Operador ''+'': El operador ''+'' se utiliza para indicar que un número es positivo. No es habitual usarlo puesto que la ausencia del mismo indica lo mismo.
- 
 ===== Los operadores aritméticos ===== ===== Los operadores aritméticos =====
  
Line 50: Line 49:
  
 <code java> <code java>
-    int valor = 3 + 3 + otraVariable;+int valor = 3 + 3 + otraVariable;
 </code> </code>
  
   * Operador resta ''-'' Permite restar dos expresiones   * Operador resta ''-'' Permite restar dos expresiones
-    +
 <code java> <code java>
-    int valor = 3 - otraVariable;+int valor = 3 - otraVariable;
 </code> </code>
-    +
   * Operador multiplicación ''*'' Permite multiplicar dos expresiones   * Operador multiplicación ''*'' Permite multiplicar dos expresiones
-    +
 <code java> <code java>
-    float peso = miPeso * 10f;+float peso = miPeso * 10f;
 </code> </code>
-    +
   * Operador división ''/'' Permite dividir dos expresiones   * Operador división ''/'' Permite dividir dos expresiones
-    +
 <code java> <code java>
-    double distancia = 100.23 / 4;+double distancia = 100.23 / 4;
 </code> </code>
-    +
   * Operador módulo ''%'' Permite obtener el módulo entre dos expresiones   * Operador módulo ''%'' Permite obtener el módulo entre dos expresiones
-    +
 <code java> <code java>
-    int modulo = 2 % 1;+int modulo = 2 % 1;
 </code> </code>
  
Line 82: Line 81:
  
   * Operador de asignación ''='' Asigna al operando de la izquierda el valor del resultado de la expresión de la derecha   * Operador de asignación ''='' Asigna al operando de la izquierda el valor del resultado de la expresión de la derecha
-    +
 <code java> <code java>
-    int x = 2; +int x = 2; 
-    System.out.println(x);  // 2 +System.out.println(x);  // 2 
-    int y; +int y; 
-    y = x * 10; +y = x * 10; 
-    System.out.println(y);  // 20+System.out.println(y);  // 20
 </code> </code>
-    +
   * Operador de asignación suma ''+='' Incrementa la variable del lado izquierdo el valor de la expresión del lado derecho, y le asigna el resultado   * Operador de asignación suma ''+='' Incrementa la variable del lado izquierdo el valor de la expresión del lado derecho, y le asigna el resultado
-    +
 <code java> <code java>
-    int x = 10; +int x = 10; 
-    x += 2; +x += 2; 
-    System.out.println(x);      // 12+System.out.println(x);      // 12
 </code> </code>
-    +
   * Operador de asignación resta ''-='' Decrementa la variable del lado izquierdo el valor de la expresión del lado derecho, y le asigna el resultado   * Operador de asignación resta ''-='' Decrementa la variable del lado izquierdo el valor de la expresión del lado derecho, y le asigna el resultado
-    +
 <code java> <code java>
-    int x = 10; +int x = 10; 
-    x -= 1; +x -= 1; 
-    System.out.println(x);      // 9 +System.out.println(x);      // 9 
-    x -= 10 + 2; +x -= 10 + 2; 
-    System.out.println(x);      // -3+System.out.println(x);      // -3
 </code> </code>
-    +
   * Operador de asignación multiplicación ''*='' Multiplica el valor de la variable del lado izquierdo por el valor de la expresión del lado derecho, y le asigna el resultado   * Operador de asignación multiplicación ''*='' Multiplica el valor de la variable del lado izquierdo por el valor de la expresión del lado derecho, y le asigna el resultado
          
 <code java> <code java>
-    int x = 10; +int x = 10; 
-    x *= 2 + 3; +x *= 2 + 3; 
-    System.out.println(x);      // 50;+System.out.println(x);      // 50;
 </code> </code>
-    +
   * Operador de asignación división ''/='' Divide el valor de la variable del lado izquierdo por el valor de la expresión del lado derecho, y le asigna el resultado   * Operador de asignación división ''/='' Divide el valor de la variable del lado izquierdo por el valor de la expresión del lado derecho, y le asigna el resultado
          
 <code java> <code java>
-    int x = 100; +int x = 100; 
-    x /= 8 + 2; +x /= 8 + 2; 
-    System.out.println(x);      // 10+System.out.println(x);      // 10
 </code> </code>
-    +
   * Operador de asignación módulo ''%='' Calcula el módulo de la variable con la expresión del lado derecho, y le asigna el resultado   * Operador de asignación módulo ''%='' Calcula el módulo de la variable con la expresión del lado derecho, y le asigna el resultado
          
 <code java> <code java>
-    int x = 9; +int x = 9; 
-    x %= 3 - 1; +x %= 3 - 1; 
-    System.out.println(x);      // 1+System.out.println(x);      // 1
 </code> </code>
 +
 +<figure>
 +{{ arithmetic-assignment-operators.png }}
 +<caption>Operadores aritméticos y de asignación</caption></figure>
  
 ===== Los operadores de comparación ===== ===== Los operadores de comparación =====
Line 140: Line 143:
          
 <code java> <code java>
-    System.out.println(10 == 3);    // false +System.out.println(10 == 3);    // false 
-    int x = 3; +int x = 3; 
-    int y = 3; +int y = 3; 
-    System.out.println(x == y);    // true+System.out.println(x == y);    // true
 </code> </code>
-    +
   * Operador distinto que ''!=''    * Operador distinto que ''!='' 
          
 <code java> <code java>
-    System.out.println(10 != 3);    // true +System.out.println(10 != 3);    // true 
-    int x = 3; +int x = 3; 
-    int y = 3; +int y = 3; 
-    System.out.println(x != y);    // false+System.out.println(x != y);    // false
 </code> </code>
-    +
   * Operador mayor que ''>''   * Operador mayor que ''>''
          
 <code java> <code java>
-    System.out.println(10 > 3);    // true+System.out.println(10 > 3);    // true
 </code> </code>
-    +
   * Operador mayor o igual que ''>=''   * Operador mayor o igual que ''>=''
          
 <code java> <code java>
-    System.out.println(3 >= 3);    // true+System.out.println(3 >= 3);    // true
 </code> </code>
-    +
   * Operador menor que ''<''   * Operador menor que ''<''
          
 <code java> <code java>
-    System.out.println(10 < 3);    // false+System.out.println(10 < 3);    // false
 </code> </code>
-    +
   * Operador menor o igual que ''<=''   * Operador menor o igual que ''<=''
-    +
 <code java> <code java>
-    System.out.println(2 <= 3);    // true+System.out.println(2 <= 3);    // true
 </code> </code>
 +
 +<figure>
 +{{ comparison-operators.png }}
 +<caption>Operadores de comparación</caption></figure>
  
 ===== El operador de concatenación ===== ===== El operador de concatenación =====
Line 184: Line 191:
  
 <code java> <code java>
-    String unaCadena = "Esto es "; +String unaCadena = "Esto es "; 
-    String otraCadena = "una cadena"; +String otraCadena = "una cadena"; 
-    String cadena = unaCadena + otraCadena; +String cadena = unaCadena + otraCadena; 
-    System.out.println(cadena);     // Esto es una cadena+System.out.println(cadena);     // Esto es una cadena
 </code> </code>
  
Line 195: Line 202:
  
 <code java> <code java>
-    int x = 3 + 2 * 5 +int x = 3 + 2 * 5 
-    System.out.println("Cuanto vale x?"); +System.out.println("Cuanto vale x?"); 
-    System.out.println(x);+System.out.println(x);
 </code> </code>
  
Line 205: Line 212:
  
 <code java> <code java>
-    int x = (3 + 2) * 5 +int x = (3 + 2) * 5 
-    System.out.println("Y ahora cuanto vale x?"); +System.out.println("Y ahora cuanto vale x?"); 
-    System.out.println(x);+System.out.println(x);
 </code> </code>
  
 <code java> <code java>
-    int x = (3 + 2) * 5 + (3 * 2 * (3 + 2)) +int x = (3 + 2) * 5 + (3 * 2 * (3 + 2)) 
-    System.out.println("Y ahora?"); +System.out.println("Y ahora?"); 
-    System.out.println(x);+System.out.println(x); 
 +</code> 
 + 
 +===== Operadores pre/pos incremento ===== 
 + 
 +<figure> 
 +{{ pre-pos-operators.png }} 
 +<caption>Operadores lógicos</caption></figure> 
 + 
 +===== Operadores combinados ===== 
 + 
 +<figure> 
 +{{ compound-operators.png }} 
 +<caption>Operadores lógicos</caption></figure> 
 + 
 +===== Operadores lógicos ===== 
 + 
 +<figure> 
 +{{ logical-operators.png }} 
 +<caption>Operadores lógicos</caption></figure> 
 + 
 +===== Operador condicional ===== 
 + 
 +Es un operator ternario que permite asignar un valor u otro a una variable en función de que se cumpla o no una condición. Es una forma reducida de utilizar una sentencia ''if .. else'' en casos específicos. 
 + 
 +La síntaxis del operador es: 
 + 
 +<code java> 
 +resultado = condicion ? valorSiVerdadero: valorSiFalso 
 +</code> 
 + 
 +Veamos un par de ejemplos: 
 + 
 +En este caso se asignará un valor a la cadena de texto dependiendo de si el número es par o impar: 
 +<code java> 
 +int numero = 10; 
 +String cadena = 10 % 2 == 0 ? "Es número par" : "Es número impar"; 
 +</code> 
 + 
 +Y en este otro ejemplo, se parsea la cadena de forma segura 
 + 
 +<code java> 
 +String valor = "30"; 
 +int cantidad = valor.equals("") ? 0 : Integer.parseInt(valor);
 </code> </code>
  
 ---- ----
  
-(c) 2019 Santiago Faci+(c) 2021-{{date>%Y}} Santiago Faci
apuntes/operadores.1550219538.txt.gz · Last modified: 2019/02/15 08:32 by Santiago Faci