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 <= 6
  • 10 / 2 + 3 * 5 == 19 && true
  • int 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