1. Zmienne
Co to jest?
Zmienna to pojemnik na dane. Przechowuje wartości, które możemy później użyć w programie.
Kiedy się stosuje?
Kiedy potrzebujesz przechować informacje i pracować z nimi w programie.
Przykład
using System;
class Program
{
static void Main()
{
// Deklaracja zmiennych
int wiek = 25;
double wysokosc = 1.75;
string imie = "Anna";
bool jestStudentem = true;
Console.WriteLine("Imię: " + imie);
Console.WriteLine("Wiek: " + wiek);
Console.WriteLine("Wysokość: " + wysokosc);
Console.WriteLine("Student: " + jestStudentem);
}
}
2. Operatory Arytmetyczne
Co to jest?
Operatory to symbole używane do wykonywania operacji matematycznych na zmiennych.
Kiedy się stosuje?
Kiedy chcesz dodawać, odejmować, mnożyć, dzielić liczby.
Przykład
using System;
class Program
{
static void Main()
{
int a = 10;
int b = 3;
Console.WriteLine("Dodawanie: " + (a + b)); // 13
Console.WriteLine("Odejmowanie: " + (a - b)); // 7
Console.WriteLine("Mnożenie: " + (a * b)); // 30
Console.WriteLine("Dzielenie: " + (a / b)); // 3
Console.WriteLine("Reszta z dzielenia: " + (a % b)); // 1
}
}
3. Warunki (if, else)
Co to jest?
Warunki pozwalają wykonywać różny kod w zależności od tego, czy warunek jest prawdziwy czy fałszywy.
Kiedy się stosuje?
Kiedy chcesz podejmować decyzje w programie (np. "jeśli wiek > 18, to...").
Przykład
using System;
class Program
{
static void Main()
{
int wiek = 20;
if (wiek >= 18)
{
Console.WriteLine("Jesteś pełnoletni");
}
else
{
Console.WriteLine("Jesteś niepełnoletni");
}
// Warunki złożone
int ocena = 85;
if (ocena >= 90)
Console.WriteLine("Ocena: A");
else if (ocena >= 80)
Console.WriteLine("Ocena: B");
else if (ocena >= 70)
Console.WriteLine("Ocena: C");
else
Console.WriteLine("Ocena: F");
}
}
4. Pętle (for, foreach)
Co to jest?
Pętla powtarza blok kodu wiele razy. Pozwala uniknąć pisania tego samego kodu wielokrotnie.
Kiedy się stosuje?
Kiedy musisz powtórzyć jakąś czynność wiele razy (np. wypisać liczby od 1 do 100).
Przykład
using System;
class Program
{
static void Main()
{
// Pętla for
Console.WriteLine("--- Pętla for ---");
for (int i = 1; i <= 5; i++)
{
Console.WriteLine($"Liczba: {i}");
}
// Pętla foreach
Console.WriteLine("\n--- Pętla foreach ---");
int[] liczby = { 10, 20, 30, 40, 50 };
foreach (int liczba in liczby)
{
Console.WriteLine($"Wartość: {liczba}");
}
}
}
5. Tablice (Arrays)
Co to jest?
Tablica to kolekcja wielu elementów tego samego typu przechowywanych pod jedną nazwą.
Kiedy się stosuje?
Kiedy chcesz przechować wiele wartości tego samego typu (np. oceny, imiona, liczby).
Przykład
using System;
class Program
{
static void Main()
{
// Deklaracja tablicy
int[] liczby = { 10, 20, 30, 40, 50 };
Console.WriteLine("Pierwszy element: " + liczby[0]); // 10
Console.WriteLine("Ostatni element: " + liczby[4]); // 50
// Iteracja przez tablicę
Console.WriteLine("\nWszystkie liczby:");
for (int i = 0; i < liczby.Length; i++)
{
Console.WriteLine(liczby[i]);
}
// Foreach
Console.WriteLine("\nUsing foreach:");
foreach (int liczba in liczby)
{
Console.WriteLine(liczba);
}
}
}
6. Funkcje (Metody)
Co to jest?
Funkcja to blok kodu, który wykonuje konkretne zadanie. Możesz go używać wielokrotnie.
Kiedy się stosuje?
Kiedy chcesz podzielić program na mniejsze, logiczne części; gdy masz powtarzający się kod.
Przykład
using System;
class Program
{
// Funkcja bez parametrów
static void Pozdrowieni()
{
Console.WriteLine("Cześć!");
}
// Funkcja z parametrami
static void Powitaj(string imie)
{
Console.WriteLine("Cześć " + imie + "!");
}
// Funkcja ze zwracaniem wartości
static int Dodaj(int a, int b)
{
return a + b;
}
static void Main()
{
Pozdrowieni();
Powitaj("Ania");
int wynik = Dodaj(5, 3);
Console.WriteLine("5 + 3 = " + wynik);
}
}
Zwiekszenie, która przyjmuje liczbę i zwraca ją powiększoną o 10.
7. Klasy i Obiekty
Co to jest?
Klasa to szablon do tworzenia obiektów. Obiekty zawierają dane (właściwości) i akcje (metody).
Kiedy się stosuje?
Kiedy chcesz organizować kod w logiczne grupy; gdy pracujesz z rzeczywistymi danymi (np. osoba, samochód).
Przykład
using System;
class Osoba
{
// Właściwości
public string imie;
public int wiek;
// Konstruktor
public Osoba(string imie, int wiek)
{
this.imie = imie;
this.wiek = wiek;
}
// Metoda
public void Przedstaw()
{
Console.WriteLine("Jestem " + imie + " i mam " + wiek + " lat");
}
}
class Program
{
static void Main()
{
Osoba osoba1 = new Osoba("Maria", 25);
osoba1.Przedstaw();
Osoba osoba2 = new Osoba("Piotr", 30);
osoba2.Przedstaw();
}
}
Samochod z właściwościami: marka, model, rok_produkcji. Dodaj metodę Informacje() wypisującą dane samochodu.
8. Dziedziczenie
Co to jest?
Dziedziczenie pozwala na tworzenie nowych klas na podstawie istniejących, dziedzicząc ich właściwości i metody.
Kiedy się stosuje?
Kiedy chcesz ponownie użyć kodu z klasy nadrzędnej; gdy chcesz tworzyć hierarchie obiektów.
Przykład
using System;
// Klasa bazowa
class Zwierzak
{
public string imie;
public Zwierzak(string imie)
{
this.imie = imie;
}
public void MakeSound()
{
Console.WriteLine(imie + " wydaje dźwięk");
}
}
// Klasa pochodna
class Pies : Zwierzak
{
public Pies(string imie) : base(imie)
{
}
public void MakeSound()
{
Console.WriteLine(imie + " szczeka: Hau hau!");
}
}
class Kot : Zwierzak
{
public Kot(string imie) : base(imie)
{
}
public void MakeSound()
{
Console.WriteLine(imie + " miauczy: Miau!");
}
}
class Program
{
static void Main()
{
Pies pies = new Pies("Rex");
pies.MakeSound();
Kot kot = new Kot("Mruczek");
kot.MakeSound();
}
}
Pojazd z właściwością prędkość, następnie stwórz klasy Samochod i Rower dziedziczące po Pojazd.
9. Stringi (Napisy)
Co to jest?
String to sekwencja znaków (tekst). Jest jednym z najczęściej używanych typów danych.
Kiedy się stosuje?
Kiedy pracujesz z tekstem, nazwami, wiadomościami.
Przykład
using System;
class Program
{
static void Main()
{
string tekst = "Cześć C#!";
// Długość stringa
Console.WriteLine($"Długość: {tekst.Length}");
// Zamiana na wielkie litery
Console.WriteLine(tekst.ToUpper());
// Zamiana na małe litery
Console.WriteLine(tekst.ToLower());
// Podciąg
Console.WriteLine(tekst.Substring(0, 6)); // "Cześć "
// Zawieranie
Console.WriteLine(tekst.Contains("C#")); // true
// Zastępowanie
Console.WriteLine(tekst.Replace("C#", "C Sharp"));
// Interpolacja stringów
string imie = "Anna";
string wiadomosc = $"Cześć {imie}!";
Console.WriteLine(wiadomosc);
}
}
10. Słowniki (Dictionary)
Co to jest?
Słownik to kolekcja par klucz-wartość. Każdy klucz ma powiązaną wartość, którą możesz szybko wyszukać.
Kiedy się stosuje?
Kiedy chcesz przechować powiązane dane (np. numery telefonów przypisane do imion, ceny produktów).
Przykład
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Tworzenie słownika
Dictionary<string, int> oceny = new Dictionary<string, int>();
// Dodawanie elementów
oceny["Maria"] = 95;
oceny["Piotr"] = 87;
oceny["Anna"] = 92;
// Dostęp do wartości
Console.WriteLine($"Ocena Marii: {oceny["Maria"]}");
// Iteracja przez słownik
Console.WriteLine("\nWszystkie oceny:");
foreach (var para in oceny)
{
Console.WriteLine($"{para.Key} - {para.Value}");
}
// Sprawdzenie czy klucz istnieje
if (oceny.ContainsKey("Maria"))
{
Console.WriteLine("Maria jest w słowniku");
}
// Usunięcie elementu
oceny.Remove("Piotr");
}
}
11. Operacje na Konsoli (Input/Output)
Co to jest?
Operacje na konsoli to wypisywanie danych na ekranie (output) i odczytywanie danych od użytkownika (input).
Kiedy się stosuje?
Kiedy chcesz komunikować się z użytkownikiem - pokazywać mu informacje lub prosić go o wprowadzenie danych.
Przykład
using System;
class Program
{
static void Main()
{
// Wypisywanie na konsoli
Console.WriteLine("Cześć świecie!"); // Wypisz i przejdź do nowej linii
Console.Write("To jest tekst bez nowej linii");
Console.Write(" - ciąg dalszy\n"); // \n = nowa linia
// Czytanie tekstu od użytkownika
Console.WriteLine("\nWprowadź swoje imię:");
string imie = Console.ReadLine();
// Czytanie liczby całkowitej
Console.WriteLine("Wprowadź swoją wiek:");
int wiek = int.Parse(Console.ReadLine());
// Czytanie liczby zmiennoprzecinkowej
Console.WriteLine("Wprowadź wzrost (cm):");
double wzrost = double.Parse(Console.ReadLine());
// Wypisywanie zmiennych z interpolacją
Console.WriteLine($"\nOto Twoje dane:");
Console.WriteLine($"Imię: {imie}");
Console.WriteLine($"Wiek: {wiek} lat");
Console.WriteLine($"Wzrost: {wzrost} cm");
// Bezpieczne czytanie liczby (TryParse)
Console.WriteLine("\nWprowadź liczbę:");
if (int.TryParse(Console.ReadLine(), out int liczba))
{
Console.WriteLine($"Liczba: {liczba}");
}
else
{
Console.WriteLine("To nie jest liczba!");
}
}
}
12. Operatory Logiczne
Co to jest?
Operatory logiczne łączą warunki aby sprawdzić wiele rzeczy na raz.
Kiedy się stosuje?
Kiedy potrzebujesz sprawdzić wiele warunków jednocześnie.
Przykład
using System;
class Program
{
static void Main()
{
int wiek = 25;
int ocena = 85;
// AND (&&) - oba warunki muszą być prawdziwe
if (wiek >= 18 && ocena >= 80)
{
Console.WriteLine("Możesz się zalogować i jesteś uczeń dobrze się uczący");
}
// OR (||) - przynajmniej jeden warunek musi być prawdziwy
if (wiek < 13 || wiek > 65)
{
Console.WriteLine("Nie jesteś w wieku produkcyjnym");
}
// NOT (!) - negacja
bool jestWłascicielem = false;
if (!jestWłascicielem)
{
Console.WriteLine("Nie jesteś właścicielem");
}
}
}
📚 Podsumowanie - Mapa typów zmiennych
int - liczby całkowite (-2147483648 do 2147483647)double - liczby zmiennoprzecinkowe (większa precyzja)float - liczby zmiennoprzecinkowe (mniejsza precyzja)bool - wartości logiczne (true/false)string - tekstchar - pojedynczy znakdecimal - duże liczby z precyzją (ceny)