Menu
Coddy logo textTech

Operator Precedence

Parte de la sección Lógica y Flujo del Journey de C# de Coddy — lección 38 de 66.

La precedencia de operadores determina el orden en que se evalúan los operadores en una expresión. Comprender la precedencia es crucial para escribir expresiones lógicas correctas.

Mira este ejemplo:

int result = 5 + 3 * 2;

¿Cuál es el valor de result? Es 11, no 16, porque la multiplicación tiene mayor precedencia que la suma.

Aquí hay un orden de precedencia simplificado (de mayor a menor):

  1. Paréntesis ()
  2. Multiplicación/División * / %
  3. Suma/Resta + -
  1. Operadores de comparación < > <= >=
  2. Operadores de igualdad == !=
  1. AND lógico &&
  2. OR lógico ||
  3. Operadores de asignación = += -= etc.

Veamos cómo se aplica esto:

bool result = 5 > 3 && 10 < 20 || 7 == 8;

Primero, se evalúan las comparaciones: 5 > 3 es true, 10 < 20 es true, y 7 == 8 es false.
Luego, AND lógico: true && true es true.
Finalmente, OR lógico: true || false es true.

Entonces el resultado es true.

Utiliza paréntesis para hacer tu código más claro:

bool result = (5 > 3 && 10 < 20) || (7 == 8);
challenge icon

Desafío

Fácil

Crea un método llamado EvaluateExpression que tome tres enteros (a, b, c) y devuelva un booleano.

Tu método debe devolver el resultado de esta expresión:
a > b || a == c && b < c

Luego, crea otro método llamado EvaluateWithParentheses que evalúe:
(a > b || a == c) && b < c

Tu programa debe leer tres enteros desde la consola e imprimir los resultados de ambas evaluaciones en líneas separadas.

Hoja de referencia

La precedencia de operadores determina el orden en que se evalúan los operadores en una expresión.

Orden de precedencia (de mayor a menor):

  1. Paréntesis ()
  2. Multiplicación/División * / %
  3. Suma/Resta + -
  4. Operadores de comparación < > <= >=
  5. Operadores de igualdad == !=
  6. AND lógico &&
  7. OR lógico ||
  8. Operadores de asignación = += -= etc.

Ejemplo:

int result = 5 + 3 * 2; // result is 11, not 16

Expresión lógica compleja:

bool result = 5 > 3 && 10 < 20 || 7 == 8;
// Evaluates to: true && true || false = true || false = true

Usa paréntesis para mayor claridad:

bool result = (5 > 3 && 10 < 20) || (7 == 8);

Pruébalo tú mismo

using System;

class Program
{
    public static bool EvaluateExpression(int a, int b, int c)
    {
        // Escribe tu código aquí
    }
    
    public static bool EvaluateWithParentheses(int a, int b, int c)
    {
        // Escribe tu código aquí
    }
    
    static void Main(string[] args)
    {
        Console.WriteLine("Enter three integers:");
        int a = int.Parse(Console.ReadLine());
        int b = int.Parse(Console.ReadLine());
        int c = int.Parse(Console.ReadLine());
        
        // Llama a tus métodos e imprime los resultados
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo