Jak wiemy instrukcje w naszych programach dotychczas były wykonywane jedna po drugiej. Jednak często zachodzi potrzeba zamiany kolejności wykonywania instrukcji, jak to zrobić. Istnieje wiele instrukcji nam w tym pomagających, teraz zapoznasz się z jedną z nich, jest to instrukcja if która sprawdza jakiś warunek czy jest prawdą po czym wykonuje instrukcje w niej zawarte.
Ogólna deklaracja instrukcji if wygląda następująco:
1 2 3 4 5 6 7 8 9 10 11 |
if (warunek) instrukcja ; LUB if(warunek) { instrukcje; … } |
Gdzie warunek jest typem boolean, czyli bool (true lub false).
Najlepiej zrozumiesz wykonywanie programu na przykładzie:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
using System ; class Pokaz_if { public static void Main() { int a = 10 ; Console.WriteLine("Teraz nastąpi pokaz instrukcji warunkowej if"); if (a == 10) { Console.WriteLine("Zgadza się! a jest równe 10"); Console.WriteLine("więc jest to prawdą"); } if( a < 10 ) Console.WriteLine("A nie jest mniejsze od 10"); // A instrukcja się nigdy nie wykona } } |
Przy pierwszym ich jako warunek wpisujemy „a” równe 10. Można to odczytać tak, jeżeli „a” jest równe 10 to wykonaj instrukcje. Przy drugim jako warunek wpisujemy „a” < 10 czyli a mniejsze od 10, odczytujemy to w taki sposób: jeżeli „a” jest mniejsze od 10 to wykonaj instrukcję. Ta instrukcja się nie wykona z prostego powodu, ponieważ „a” jest równe 10, więc jest to nie prawdą dla warunku a < 10. Więc operator < zwróci nam wartość false, a znowu operator == dla pierwszego if zwróci nam wartość true. Mam nadzieję że wszystko jest zrozumiałe. Jako trenig napisz program który w zmiennej „lata” przechowuje wiek, oraz dwie instrukcje ich mówiące nam czy skończyło się 18 lat. Napisze słownie że program powinien sprawdzić w pierwszej instrukcji czy wiek jest większy lub równy 18, a w drugiej czy jest mniejszy. Oraz trzeba napisać odpowiedni tekst który będzie się wyświetlał podczas.
Po niżej znajdują się wszystkie operatory porównań:
> Większy
< Mniejszy
== Równy
!= Różny
<= Mniejszy lub równy
>= Większy lub równy