Operatory logiczne

Operatory te służą do łączenia wyrażeń. Wykorzystujemy je przy tworzeniu rozbudowanych instrukcji sterujących z wykorzystaniem słowa kluczowego if.

Operator !

Jest to operator negacji warunku. Czyli stosując ten operator zmieniamy zwracaną wartość logiczną przez warunek na odwrotną.
Zobaczmy przykład:

using System;
class Program {
    static void Main() {
        int a = 100;
        int b = 12;
        if (!(a - b > 0)) {
            Console.WriteLine("Warunek został spełniony");
        } else {
            Console.WriteLine("Nie spełniono warunku");
        }       
        Console.ReadLine();
    }
}

W metodzie Main() zainicjowałem dwie zmienne typu int o nazwie „a”, nadałem jej wartość 100 oraz zmienną o nazwie „b”, której nadałem wartość 12. Następnie sprawdzam czy a-b jest większe od 0. W tej instrukcji sterującej if użyłem operatora negacji !. Po sprawdzeniu warunku zostanie wyświetlony odpowiedni napis na ekranie.

operatory logiczne rys1Rys. Rezultat działania aplikacji

Warunek a-b>0 został spełniony, ale poprzez zastosowanie operatora negacji zostaje zwrócona wartość false, więc wykonana zostaje część else instrukcji warunkowej if.

Operator &&

Jest to operator oznaczający iloczyn warunków. Aby połączone wyrażenie zwróciło wartość true wyrażenie po prawej stronie operatora && i po lewej musi zwracać wartość true.
Zobaczmy przykład:

using System;
class Program {
    static void Main() {
        int a = 100;
        int b = 12;
        if ((a - b > 0) && (a > b)) {
            Console.WriteLine("Warunki zostały spełnione");
        } else {
              Console.WriteLine("Nie spełniono warunków lub warunku");
        }
       
        Console.ReadLine();
    }
}

W metodzie Main() zainicjowałem dwie zmienne typu int o nazwie „a” nadałem jej wartość 100 oraz zmienną o nazwie „b”, której nadałem wartość 12. Następnie sprawdzam czy a-b jest większe od 0 i czy „a” jest większe od „b”. Po sprawdzeniu warunków zostanie wyświetlony odpowiedni napis na ekranie.

operatory logiczne rys 2
Rys. Rezultat działania aplikacji

Oba warunki zostały spełnione, więc na ekranie wyświetlił się odpowiedni napis.
Zmodyfikuję teraz program tak, aby jeden z warunków nie został spełniony.

using System;
class Program {
    static void Main() {
       int a = 100;
       int b = 12;
       if ((a - b > 0) && (a < b)) {
            Console.WriteLine("Warunki zostały spełnione");
        } else {
            Console.WriteLine("Nie spełniono warunków lub warunku");
        }
       
        Console.ReadLine();
    }
}

operatory logiczne rys3

Rys. Rezultat działania aplikacji

Warunek a<b nie jest spełniony, dlatego wykonała się część else.

Operator ||

Jest to operator oznaczający sumę warunków. Aby połączone wyrażenie zwróciło wartość true wyrażenie po prawej stronie operatora || lub po lewej musi zwracać wartość true.
Zobaczmy przykład:

using System;
class Program {
    static void Main() {
        int a = 100;
        int b = 12;
        if ((a - b > 0) || (a < b)) {
            Console.WriteLine("Przynajmniej jeden z warunków został spełniony");
        } else {
            Console.WriteLine("Nie spełniono warunków");
        }       
        Console.ReadLine();
    }
}

W metodzie Main() zainicjowałem dwie zmienne typu int o nazwie „a” nadałem jej wartość 100 oraz zmienną o nazwie „b” której nadałem wartość 12. Następnie sprawdzam czy a-b jest większe od 0 lub czy a jest mniejsze od b. Po sprawdzeniu warunków zostanie wyświetlony odpowiedni napis na ekranie.

operatory logiczne rys4

Rys. Rezultat działania aplikacji

Warunek a-b>0 jest spełniony natomiast warunek a<b nie jest spełniony. Poprzez zastosowanie w tym przykładzie operatora || całe wyrażenie jest spełnione, ponieważ przynajmniej jedno z wyrażeń składowych zwraca wartość true.