Czym są instrukcje warunkowe?
Instrukcje warunkowe pozwalają programowi podejmować decyzje w zależności od tego, czy pewne warunki są spełnione (prawdziwe), czy nie. Dzięki nim program może wykonywać różne działania w zależności od danych wejściowych.
W życiu codziennym również podejmujemy decyzje na podstawie warunków, na przykład:
- Jeśli pada deszcz, to biorę parasol.
- Jeśli mam lekcje, to uczę się.
W programowaniu robimy to samo za pomocą instrukcji warunkowych.
Instrukcja if
Najprostsza instrukcja warunkowa to if
, co w języku angielskim oznacza „jeśli”. Pozwala ona sprawdzić, czy dany warunek jest prawdziwy. Jeśli tak, wykonujemy odpowiednie instrukcje.
Przykład :
int temperatura = 25;
if (temperatura > 20)
{
Console.WriteLine("Jest ciepło.");
}
if (temperatura > 20)
– program sprawdza, czy wartość zmiennejtemperatura
jest większa niż 20.- Jeśli to prawda (w tym przypadku temperatura wynosi 25), program wypisze „Jest ciepło.”.
Instrukcja else
Czasami chcemy, aby program zrobił coś innego, gdy warunek nie jest spełniony. Używamy wtedy instrukcji else
, co oznacza „w przeciwnym razie”.
Przykład z else
:
int temperatura = 15;
if (temperatura > 20)
{
Console.WriteLine("Jest ciepło.");
}
else
{
Console.WriteLine("Jest zimno.");
}
- Jeśli temperatura jest większa niż 20, program wypisze „Jest ciepło”.
- Jeśli temperatura jest równa lub mniejsza niż 20 (w tym przypadku 15), program wypisze „Jest zimno”.
Instrukcja else if
Co zrobić, gdy chcemy sprawdzić więcej niż jeden warunek? Możemy użyć instrukcji else if
, aby sprawdzić kolejne warunki po pierwszym.
Przykład z else if
:
int temperatura = 10;
if (temperatura > 30)
{
Console.WriteLine("Jest bardzo gorąco.");
}
else if (temperatura > 20)
{
Console.WriteLine("Jest ciepło.");
}
else if (temperatura > 10)
{
Console.WriteLine("Jest chłodno.");
}
else
{
Console.WriteLine("Jest zimno.");
}
- Program sprawdza, czy temperatura jest większa niż 30. Jeśli nie, sprawdza kolejny warunek – czy jest większa niż 20 itd.
- Na końcu, jeśli żaden z wcześniejszych warunków nie jest spełniony, program wykona blok
else
.
Operatory logiczne
Czasami chcemy, aby warunki były bardziej skomplikowane. Na przykład, chcemy, aby program sprawdzał dwa warunki jednocześnie. W tym celu możemy używać operatorów logicznych:
&&
(i) – oba warunki muszą być prawdziwe.||
(lub) – przynajmniej jeden warunek musi być prawdziwy.!
(nie) – zaprzeczenie warunku.
Przykład z operatorem &&
:
int temperatura = 18;
bool deszcz = true;
if (temperatura > 15 && deszcz == true)
{
Console.WriteLine("Jest ciepło, ale pada deszcz.");
}
Warunek temperatura > 15 && deszcz == true
oznacza, że oba warunki muszą być spełnione, aby wykonać kod w środku bloku if
.
Przykład użycia operatora ||
(lub)
Operator ||
oznacza „lub”, co oznacza, że wystarczy, aby jeden z warunków był prawdziwy, aby program wykonał instrukcje w bloku if
.
Przykład:
Chcemy napisać program, który sprawdza, czy jest weekend (sobota lub niedziela), aby powiedzieć uczniom, czy mają wolne od szkoły.
using System;
class Program
{
static void Main()
{
string dzienTygodnia = "Sobota";
// Sprawdzamy, czy dzisiaj jest sobota lub niedziela
if (dzienTygodnia == "Sobota" || dzienTygodnia == "Niedziela")
{
Console.WriteLine("Dzisiaj jest weekend! Masz wolne od szkoły.");
}
else
{
Console.WriteLine("Dzisiaj jest dzień nauki. Musisz iść do szkoły.");
}
}
}
dzienTygodnia == "Sobota" || dzienTygodnia == "Niedziela"
– Sprawdzamy, czy wartość zmiennejdzienTygodnia
to „Sobota” lub „Niedziela”.- Jeśli przynajmniej jeden z tych warunków jest spełniony (czyli jest sobota lub niedziela), program wypisze: „Dzisiaj jest weekend! Masz wolne od szkoły.”
- Jeśli żaden z warunków nie jest prawdziwy (czyli nie jest ani sobota, ani niedziela), program wypisze: „Dzisiaj jest dzień nauki. Musisz iść do szkoły.”
Podsumowanie:
if
sprawdza warunek – jeśli jest prawdziwy, wykonuje kod wewnątrz nawiasów.else
działa, jeśli warunek wif
nie jest prawdziwy.else if
umożliwia dodanie kolejnych warunków.- Operatory logiczne pozwalają łączyć różne warunki.