0Pricing
C# Academy · Lekcja

Operatory i wyrażenia: arytmetyczne, porównania i logiczne

Pracuj z operatorami arytmetycznymi (+, -, *, /, %), porównaniami (==, !=, , =) oraz operatorami logicznymi (&&, ||, !). Poznaj priorytet operatorów i ewaluację z krótkim spięciem.

Operatory i wyrażenia: arytmetyczne, porównania i logiczne to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 2 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 3 lekcji w sumie.

Mapa operatorów

Cel: używać operatorów arytmetycznych, porównania i logicznych do tworzenia jasnych wyrażeń.

  • Obliczenia za pomocą + - * / %
  • Porównywanie wartości
  • Łączenie warunków za pomocą && i ||

Podstawy arytmetyki

Arytmetyka: dzielenie liczb całkowitych za pomocą / obcina część ułamkową; do uzyskania wyników ułamkowych należy używać typu double.

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
  }
}

Podstawy porównywania

Operatory porównania zwracają wyniki typu bool, które można łączyć za pomocą operatorów logicznych.

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));
  }
}

Operatory logiczne

Krótkie spięcie: && zatrzymuje działanie, gdy lewa strona ma wartość false, a || zatrzymuje je, gdy lewa strona ma wartość true. Pomaga to uniknąć niepotrzebnych operacji.

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));
  }
}

Priorytet operatorów i ()

Priorytet operatorów wpływa na wyniki; należy dodawać nawiasy, aby jasno określić intencję i uniknąć błędów.

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);
  }
}

Błędy, których należy unikać

Należy unikać niespodzianek: do wyników ułamkowych używać typu double, a dzięki mechanizmowi krótkiego spięcia pomijać kosztowne wywołania.

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
  }
}

Działanie krótkiego spięcia

Szybkie sprawdzenie: które stwierdzenie dotyczące && i || jest prawdziwe?

Podsumowanie

Podsumowanie: arytmetyka służy do obliczeń, porównania do podejmowania decyzji, a operatory logiczne do łączenia warunków. Dla jasności warto używać nawiasów i rozsądnie korzystać z mechanizmu krótkiego spięcia.

Często zadawane pytania

Czy lekcja „Operatory i wyrażenia: arytmetyczne, porównania i logiczne” jest bezpłatna?

Tak — pełny tekst „Operatory i wyrażenia: arytmetyczne, porównania i logiczne” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 3 lekcji w sumie.

Co nauczysz się w „Operatory i wyrażenia: arytmetyczne, porównania i logiczne”?

Pracuj z operatorami arytmetycznymi (+, -, *, /, %), porównaniami (==, !=, , =) oraz operatorami logicznymi (&&, ||, !). Poznaj priorytet operatorów i ewaluację z krótkim spięciem. Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć C# Academy?

Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 3.

Ile czasu zajmuje lekcja „Operatory i wyrażenia: arytmetyczne, porównania i logiczne”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?

Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Wartości a referencje; literały; inferencja var; const/readonly
  2. Operatory i wyrażenia: arytmetyczne, porównania i logiczne
  3. Przyrostki w praktyce; rzutowanie a konwersja; tworzenie obiektów w C# 6
← Powrót do C# Academy