Menu
Coddy logo textTech

Precedenza degli operatori

Fa parte della sezione Logica e flusso del percorso C# di Coddy. Lezione 38 di 66.

La precedenza degli operatori determina l'ordine in cui gli operatori vengono valutati in un'espressione. Comprendere la precedenza è fondamentale per scrivere espressioni logiche corrette.

Guarda questo esempio:

int result = 5 + 3 * 2;

Qual è il valore di result? È 11, non 16, perché la moltiplicazione ha una precedenza maggiore dell'addizione.

Ecco un ordine di precedenza semplificato (dal più alto al più basso):

  1. Parentesi ()
  2. Moltiplicazione/Divisione * / %
  3. Addizione/Sottrazione + -
  1. Operatori di confronto < > <= >=
  2. Operatori di uguaglianza == !=
  1. AND logico &&
  2. OR logico ||
  3. Operatori di assegnazione = += -= ecc.

Vediamo come si applica:

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

Per prima cosa, vengono valutati i confronti: 5 > 3 è true, 10 < 20 è true e 7 == 8 è false.
Poi, AND logico: true && true è true.
Infine, OR logico: true || false è true.

Quindi il risultato è true.

Usa le parentesi per rendere il codice più chiaro:

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

Sfida

Facile

Crea un metodo chiamato EvaluateExpression che accetti tre interi (a, b, c) e restituisca un booleano.

Il tuo metodo dovrebbe restituire il risultato di questa espressione:
a > b || a == c && b < c

Poi, crea un altro metodo chiamato EvaluateWithParentheses che valuti:
(a > b || a == c) && b < c

Il tuo programma dovrebbe leggere tre interi dalla console e stampare i risultati di entrambe le valutazioni su righe separate.

Provalo tu

using System;

class Program
{
    public static bool EvaluateExpression(int a, int b, int c)
    {
        // Scrivi qui il tuo codice
    }
    
    public static bool EvaluateWithParentheses(int a, int b, int c)
    {
        // Scrivi qui il tuo codice
    }
    
    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());
        
        // Chiama i tuoi metodi e stampa i risultati
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore C# online