LEKCJA 4 – instrukcje warunkowe w języku C#

W tej lekcji języka Microsoft C# opowiem Ci o instrukcjach warunkowych.

Będzie to kluczowa lekcja. Dziś dowiesz się za chwilę:

  • Wejdziesz na kolejny poziom programowania w języku C#
  • Jak używamy instrukcji warunkowej if
  • Jak rozbudować jej konstrukcję za pomocą słowa kluczowego else
  • Jak rozgryźć zadanie z rozmowy rekrutacyjnej na stanowisko programisty .NET

Czym są instrukcje warunkowe?

Czasami chcemy wykonać pewną czynność w zależności od tego czy zaszła jakaś konkretna sytuacja.

Oto trzy przykłady sytuacji, które za chwile przedstawimy za pomocą kodu C#:

  • Chcemy wyjść na spacer jeśli nie pada deszcz
  • Sprzedawca w sklepie może sprzedać alkohol tylko jeżeli klient ma ukończone 18 lat
  • Jeśli w samochodzie masz niski poziom paliwa to jedziesz na stację zatankować paliwo

Wszystkie te sytuacje mają ze sobą coś wspólnego – chodzi o słowo jeśli – po angielsku if. Dlatego właśnie słowo if za chwile pojawi się w przykładach poniżej.

Jak używać instrukcji if?

Przedstawmy te same 3 sytuacje w języku C#. Prawdopodobnie każdy programista zapisałby taki kod nieco inaczej ale koncepcja będzie mniej więcej taka:

Pierwszy przykład: Chcemy wyjść na spacer jeśli nie pada deszcz

var isRaining = true;
if(isRaining) 
{
    Console.WriteLine("Idz na spacer");
}

Drugi przykład: Sprzedawca w sklepie może sprzedać alkohol tylko jeżeli klient ma ukończone 18 lat

int age = 20
if(age>=18)
{
    Console.WriteLine("Można sprzedać alkohol klientowi");
}

Trzeci przykład: Jeśli w samochodzie masz niski poziom paliwa to jedziesz na stację zatankować paliwo

var outOfFuel = true;
if(outOfFuel)
{
    Console.WriteLine("Brak paliwa, zatankuj.");
}

Jak używać instrukcji if-else?

Teraz na bazie tych pierwszego z 3 przykładów zrobimy coś bardziej skomplikowanego. Zastosujemy konstrukcję if-else, która polega na dodaniu słowa else, które po angielsku możemy rozumieć jako „w przeciwnym razie”. Konstrukcja ta służy do tego aby określić co ma się stać jeśli podany warunek nie będzie spełniony.

Pierwszy przykład: Chcemy wyjść na spacer jeśli nie pada deszcz. A jeśli nie pada to zostajemy w domu.

var isRaining = false;
if(isRaining) 
{
    Console.WriteLine("Idz na spacer");
} 
else 
{
    Console.WriteLine("Zostań w domu");
}
UWAGA: We wszystkich podanych tu przykładach można pominąć nawiasy klamrowe. Ja jednak zawarłem je w przykładach ponieważ jest to dobra praktyka programistyczna, która pozwoli uniknąć błędów. Więc najlepiej zawsze tak rób. 

Zadanie dla Ciebie

Oto przykładowe zadanie, które możesz dostać na rozmowie rekrutacyjnej. Ma ono za zadanie sprawdzić czy wiesz jak działają instrukcje warunkowe w języku C#. Dodam, że zadanie jest podchwytliwe i należy zwrócić uwagę na nawiasy klamrowe:

Jak myślisz, co wyświetli następujący program?

int liczba = 100;

if(liczba > 0)
  Console.WriteLine("1");
else 
  Console.WriteLine("2");  
  Console.WriteLine("3");

Teraz zrób trzy rzeczy:

  1. spróbuj zgadnąć co się wyświetli w konsoli kiedy uruchomimy ten program.
  2. Skopiuj ten program i stwórz nowy program konsolowy i wklej ten kod do metody main.
  3. Jeśli zdziwił Cię wynik to spróbuj dodać nawiasy klamrowe i zobacz co się stanie. Nie bój się dodawać nawiasy. Można je oddać na kilka sposobów. Twoim celem jest dodać nawiasy tak, żeby program miał sens.
  4. Jak myślisz, dlaczego powyższy program bez nawiasów wyświetlił liczby: 1 3?