Menu
Coddy logo textTech

Priorytet operatorów

Część sekcji Logika i sterowanie przepływem ścieżki C# w Coddy. Lekcja 38 z 66.

Priorytet operatorów określa kolejność, w jakiej operatory są obliczane w wyrażeniu. Zrozumienie priorytetów ma kluczowe znaczenie dla pisania poprawnych wyrażeń logicznych.

Spójrz na ten przykład:

int result = 5 + 3 * 2;

Jaka jest wartość zmiennej result? To 11, a nie 16, ponieważ mnożenie ma wyższy priorytet niż dodawanie.

Oto uproszczona kolejność priorytetów (od najwyższego do najniższego):

  1. Nawiasy ()
  2. Mnożenie/dzielenie * / %
  3. Dodawanie/odejmowanie + -
  1. Operatory porównania < > <= >=
  2. Operatory równości == !=
  1. Logiczne AND &&
  2. Logiczne OR ||
  3. Operatory przypisania = += -= itd.

Zobaczmy, jak to działa:

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

Najpierw wykonywane są porównania: 5 > 3 daje true, 10 < 20 daje true, a 7 == 8 daje false.
Następnie logiczne AND: true && true daje true.
Na końcu logiczne OR: true || false daje true.

Zatem wynik to true.

Używaj nawiasów, aby Twój kod był bardziej czytelny:

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

Wyzwanie

Łatwy

Utwórz metodę o nazwie EvaluateExpression, która przyjmuje trzy liczby całkowite (a, b, c) i zwraca wartość logiczną.

Twoja metoda powinna zwracać wynik tego wyrażenia:
a > b || a == c && b < c

Następnie utwórz inną metodę o nazwie EvaluateWithParentheses, która oblicza:
(a > b || a == c) && b < c

Twój program powinien wczytać trzy liczby całkowite z konsoli i wypisać wyniki obu obliczeń w osobnych wierszach.

Spróbuj swoich sił

using System;

class Program
{
    public static bool EvaluateExpression(int a, int b, int c)
    {
        // Wpisz tutaj swój kod
    }
    
    public static bool EvaluateWithParentheses(int a, int b, int c)
    {
        // Wpisz tutaj swój kod
    }
    
    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());
        
        // Wywołaj swoje metody i wypisz wyniki
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i sterowanie przepływem

Poćwicz samodzielnie: Kompilator C# online