Ejercicio 13 – Precedencia de Operadores
Enunciado
1. Escribe un programa en Java qué evalúe las siguientes expresiones.
2. Muestra el resultado de cada expresión y explica qué operadores tienen mayor precedencia.
3. Usa operadores aritméticos, relacionales, lógicos y operadores de asignación.
Expresiones a evaluar:
10 + 5 * 2 > 20 && 4 == 4!(7 + 3 > 10) || 3 * 2 <= 610 / 2 + 3 * 5 == 19 && trueint x = 5; x += 3 * 2;boolean b = false; b = !b || 7 % 2 == 1;
Explicación general
En Java, la precedencia de operadores determina qué parte de una expresión se evalúa antes.
Precedencia más importante de este ejercicio:
- () paréntesis → se evalúa primero
- * / % multiplicación, división, módulo
- + - suma y resta
- > < >= <= == != Comparaciónes
- && AND lógico
- || OR lógico
- = += -= asignación
Solución en Java
public class Ejercicio13 {
public static void main(String[] args) {
// 1.
boolean exp1 = 10 + 5 * 2 > 20 && 4 == 4;
System.out.println("1) 10 + 5 * 2 > 20 && 4 == 4 → " + exp1);
// 2.
boolean exp2 = (!(7 + 3 > 10)) || 3 * 2 <= 6;
System.out.println("2) (!(7 + 3 > 10)) || 3 * 2 <= 6 → " + exp2);
// 3.
boolean exp3 = 10 / 2 + 3 * 5 == 19 && true;
System.out.println("3) 10 / 2 + 3 * 5 == 19 && true → " + exp3);
// 4.
int x = 5;
x += 3 * 2;
System.out.println("4) x += 3 * 2 → x = " + x);
// 5.
boolean b = false;
b = !b || 7 % 2 == 1;
System.out.println("5) b = !b || 7 % 2 == 1 → b = " + b);
}
}
Análisis de cada expresión
1) 10 + 5 * 2 > 20 && 4 == 4
- 5 * 2 → 10
- 10 + 10 → 20
- 20 > 20 → false
- 4 == 4 → true
- false && true → false
2) !(7 + 3 > 10) || 3 * 2 <= 6
- 7 + 3 → 10
- 10 > 10 → false
- !(false) → true
- 3 * 2 → 6
- 6 <= 6 → true
- true || true → true
3) 10 / 2 + 3 * 5 == 19 && true
- 10 / 2 → 5
- 3 * 5 → 15
- 5 + 15 → 20
- 20 == 19 → false
- false && true → false
4) x += 3 * 2
- 3 * 2 → 6
- x += 6 → x = 5 + 6 → 11
5) b = !b || 7 % 2 == 1
- b = false
- !b → true
- 7 % 2 → 1
- 1 == 1 → true
- true || true → true
Salida esperada
1) ... → false
2) ... → true
3) ... → false
4) ... → x = 11
5) ... → b = true