zadanie 1.2 Logika, porównania i typy nullable
CHash
Priorytet: Normalny
Szkic
Zadanie 1.2: Logika, Porównania i Typy Nullable
Wstęp
W programowaniu zmienne nie tylko przechowują dane, ale służą też do podejmowania decyzji. W tym zadaniu nauczysz się porównywać wartości, łączyć warunki logiczne oraz radzić sobie z sytuacją, gdy zmienna... nie ma żadnej wartości (null).
Czego się nauczysz?
- Operatory porównania:
==,!=,>,<,>=,<=. - Operatory logiczne:
&&(I),||(LUB),!(NEGACJA). - Typy Nullable: Jak pozwolić liczbie być pustą (
int?). - Operator Null-coalescing:
??(podstawianie domyślnej wartości). - Logika w praktyce: Tworzenie prostych testów warunkowych.
Przygotowanie Projektu
- Otwórz terminal w folderze zadania (
cHash/zadanie1.2). - Stwórz projekt:
dotnet new console -o Projekt1_2 - Wejdź do folderu i wyczyść
Program.cs.
Twoje Zadanie: 30 Wyzwań
Sekcja A: Porównywanie Wartości
- Zadeklaruj dwie zmienne
int x = 15;orazint y = 20;. - Wyświetl wynik
x == y(czy są równe?). - Wyświetl wynik
x != y(czy są różne?). - Sprawdź, czy
xjest większe ody. - Sprawdź, czy
yjest mniejsze lub równe 20. - Zadeklaruj
string s1 = "kot";orazstring s2 = "KOT";. - Porównaj
s1 == s2i wyświetl wynik. Zauważ różnicę w wielkości liter! - Użyj metody
s1.Equals(s2, StringComparison.OrdinalIgnoreCase), aby porównać je ignorując wielkość liter. - Sprawdź, czy długość napisu
s1jest większa niż 0. - Zadeklaruj
double d1 = 0.1 + 0.2;i sprawdź, czyd1 == 0.3. (Uwaga na precyzję double!).
Sekcja B: Operatory Logiczne
- Zadeklaruj
bool maKlany = true;orazbool maKlucz = false;. - Wyświetl wynik
maKlany && maKlucz(czy ma oba?). - Wyświetl wynik
maKlany || maKlucz(czy ma chociaż jedno?). - Wyświetl zaprzeczenie
!maKlany. - Zadeklaruj
int temperature = 25;. - Sprawdź, czy temperatura jest w zakresie od 18 do 30 stopni (
temp >= 18 && temp <= 30). - Sprawdź, czy temperatura jest poza zakresem (poniżej 10 LUB powyżej 40).
- Zadeklaruj
bool jestWeekend = true;orazbool maWolne = false;. - Wyświetl wynik:
(jestWeekend || maWolne) && temperature > 20. - Stwórz zmienną
bool wynikLogiczny = !(5 > 10);i wyświetl ją.
Sekcja C: Nullable i Operatory Specjalne
- Zadeklaruj zmienną
int? wiekMozeBycNull = null;(znak?jest kluczowy). - Wyświetl, czy zmienna ma wartość używając
.HasValue. - Przypisz do niej wartość
25i ponownie sprawdź.HasValue. - Zadeklaruj
int wiekDomyslny = wiekMozeBycNull ?? 18;(użycie operatora??). - Wyświetl
wiekDomyslny. - Zadeklaruj
string imieUzytkownika = null;. - Użyj operatora
??, aby przypisać "Anonim", jeśliimieUzytkownikajest nullem. - Zadeklaruj
int? punkty = null;. - Wyświetl
punkty.GetValueOrDefault()– co się wyświetliło? - Wyświetl komunikat: "Zadanie 1.2 ukończone pomyślnie!".
Debugowanie
- NullReferenceException: To "najpopularniejszy" błąd. Próbujesz zrobić coś na zmiennej, która jest
null(np.nullText.Length). Zawsze sprawdzaj, czy zmienna nie jest nullem! - Błędy logiczne: Pamiętaj o nawiasach w złożonych warunkach, np.
(a || b) && cto co innego niża || (b && c).
Git Help
Zapisz postępy:
git add .
git commit -m "C# Zadanie 1.2: Logika i nullables gotowe"