0Pricing
C# Academy · Lezione

Operatori ed espressioni: aritmetici, di confronto e logici

Utilizzi gli operatori aritmetici (+, -, *, /, %), di confronto (==, !=, , =) e logici (&&, ||, !). Comprenda la precedenza e la valutazione short-circuit.

Operatori ed espressioni: aritmetici, di confronto e logici è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 3 lezioni in totale.

Mappa degli operatori

Obiettivo: utilizzare operatori aritmetici, di confronto e logici per creare espressioni chiare.

  • Operazioni matematiche con + - * / %
  • Confrontare i valori
  • Combinare i controlli con && e ||

Nozioni di base sull'aritmetica

Aritmetica: la divisione / tra int tronca il risultato; utilizzi double per ottenere risultati frazionari.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    int a = 9;
    int b = 4;
    Console.WriteLine("a + b = " + (a + b));
    Console.WriteLine("a - b = " + (a - b));
    Console.WriteLine("a * b = " + (a * b));
    Console.WriteLine("a / b = " + (a / b)); // integer division
    Console.WriteLine("a % b = " + (a % b)); // remainder
  }
}

Nozioni di base sui confronti

Gli operatori di confronto producono risultati di tipo bool che può combinare con operatori logici.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    int x = 5;
    int y = 7;
    Console.WriteLine("x == y: " + (x == y));
    Console.WriteLine("x != y: " + (x != y));
    Console.WriteLine("x < y:  " + (x < y));
    Console.WriteLine("x <= y: " + (x <= y));
    Console.WriteLine("x > y:  " + (x > y));
    Console.WriteLine("x >= y: " + (x >= y));
  }
}

Operatori logici

Valutazione con cortocircuito: && si interrompe quando il lato sinistro è false; || si interrompe quando il lato sinistro è true. È utile per evitare lavoro non necessario.

using System;

public class Program
{
  static bool ExpensiveCheck()
  {
    Console.WriteLine("ExpensiveCheck ran");
    return true;
  }

  public static void Main(string[] args)
  {
    bool ok = false;
    // && short-circuits when the left is false
    if (ok && ExpensiveCheck())
    {
      Console.WriteLine("Both true");
    }
    else
    {
      Console.WriteLine("Left was false, skipped right");
    }

    bool isAdmin = true;
    bool hasTicket = false;

    // || short-circuits when the left is true
    if (isAdmin || hasTicket)
    {
      Console.WriteLine("Allowed");
    }

    // Negation
    Console.WriteLine("!hasTicket = " + (!hasTicket));
  }
}

Precedenza e ()

La precedenza influisce sui risultati; aggiunga parentesi per rendere chiara l'intenzione ed evitare errori.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    int n = 10;
    int m = 3;
    bool r1 = n - m * 2 == 4;        // * before -
    bool r2 = (n - m) * 2 == 14;     // grouped
    Console.WriteLine("r1 = " + r1);
    Console.WriteLine("r2 = " + r2);

    // Logical precedence: && before ||, but use () for clarity
    bool a = true, b = false, c = true;
    bool r3 = a || b && c;           // b&&c first → true
    bool r4 = (a || b) && c;         // grouped → true
    Console.WriteLine("r3 = " + r3);
    Console.WriteLine("r4 = " + r4);
  }
}

Problemi da evitare

Eviti sorprese: promuova a double per ottenere risultati frazionari e faccia affidamento sul cortocircuito per saltare le chiamate costose.

using System;

public class Program
{
  static int Counter = 0;

  static int Next()
  {
    Counter = Counter + 1;
    return Counter;
  }

  public static void Main(string[] args)
  {
    // Integer division pitfall
    int a = 1, b = 2;
    Console.WriteLine("1/2 int = " + (a / b)); // 0
    Console.WriteLine("1/2 double = " + (a / 2.0)); // 0.5

    // Side effects: function called only if needed
    bool cond = false;
    if (cond && Next() > 0)
    {
      Console.WriteLine("Will not run");
    }
    Console.WriteLine("Counter = " + Counter); // 0 because Next() skipped
  }
}

Comportamento del cortocircuito

Verifica rapida: quale affermazione su && e || è corretta?

Riepilogo

Riepilogo: utilizzi l'aritmetica per i calcoli, i confronti per prendere decisioni e gli operatori logici per combinare i controlli. Preferisca le parentesi per maggiore chiarezza e utilizzi il cortocircuito con criterio.

Domande Frequenti

La lezione «Operatori ed espressioni: aritmetici, di confronto e logici» è gratuita?

Sì — il testo completo di «Operatori ed espressioni: aritmetici, di confronto e logici» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 3 lezioni in totale.

Cosa imparerò in «Operatori ed espressioni: aritmetici, di confronto e logici»?

Utilizzi gli operatori aritmetici (+, -, *, /, %), di confronto (==, !=, , =) e logici (&&, ||, !). Comprenda la precedenza e la valutazione short-circuit. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C# Academy?

Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 3.

Quanto tempo richiede la lezione «Operatori ed espressioni: aritmetici, di confronto e logici»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C# Academy?

Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Valore e riferimento; letterali; inferenza con var; const/readonly
  2. Operatori ed espressioni: aritmetici, di confronto e logici
  3. Suffissi nella pratica; casting e conversione; creazione di oggetti in C# 6
← Torna a C# Academy