Podstawy Javy
Kurs programowania w Javie wg karty przedmiotu: od pierwszego programu, przez typy, instrukcje sterujace, petle i rekurencje, programowanie obiektowe, tablice i algorytmy, po klasy biblioteczne, Scanner i wyjatki.
Dla kogo: Technikum: Java pod INF.04 (pełne uruchamianie po zalogowaniu). Więcej o kursie
Wprowadzenie do Javy
Pierwszy program, struktura klasy i metody main, wypisywanie tekstu, podstawowe typy, operacje arytmetyczne, instrukcje warunkowe i petla for.
Literaly, zmienne, typy i operatory
Literaly i zmienne. Pojecie typu. Typy proste. Deklaracje i inicjalizacja. Operatory i wyrazenia. Rzutowanie typow (zawezajace i rozszerzajace). Inkrementacja i dekrementacja. Konwersje arytmetyczne. Dzielenie calkowite i reszta.
- Literały: int, double, char, boolean i String
- Deklaracja i inicjalizacja zmiennej
- Operatory arytmetyczne na liczbach całkowitych
- Rzutowanie rozszerzające i zawężające
- Inkrementacja i dekrementacja: pre i post
- Dzielenie całkowite i reszta z dzielenia
- Typy proste: byte, short, int, long i inne
- Konwersje arytmetyczne w wyrażeniach
Instrukcje warunkowe
Operatory porownania i logiczne. Instrukcje if oraz if-else. Switch. Operator warunkowy ?:. Porownywanie tekstow i liczb zmiennoprzecinkowych.
- Operatory porównania: ==, !=, <, >, <=, >=
- Operatory logiczne: &&, || i !
- Instrukcja if: czy liczba większa od 10
- If-else: liczba parzysta czy nieparzysta
- Else if: ocena na podstawie punktów
- Zagnieżdżone instrukcje if-else
- Instrukcja switch: dzień tygodnia
- Operator warunkowy ?: zamiast if-else
- Łączenie operatorów porównania i logicznych
- Porównywanie napisów: equals i equalsIgnoreCase
- Porównywanie liczb double z tolerancją epsilon
- Zmienna boolean w warunku: czy zalogowany
Petle i rekurencja
Petle for, while, do-while. Przerywanie i kontynuowanie (break, continue). Petle zagniezdzone. Iteracja a rekurencja (silnia, ciag Fibonacciego, liczby pierwsze).
- Pętla for: liczby od 1 do 5
- Pętla while: odliczanie w dół do zera
- Pętla do-while: losowanie aż do siódemki
- Zagnieżdżone pętle: tabliczka mnożenia
- Break i continue: liczby nieparzyste do 5
- Suma liczb od 1 do N
- Silnia iteracyjnie: pętla for
- Silnia rekurencyjnie
- Ciąg Fibonacciego iteracyjnie
- Ciąg Fibonacciego rekurencyjnie
- Kalendarz miesiąca w konsoli
- Liczby pierwsze do N: dzielniki do pierwiastka
- Pętla for-each: największa liczba w tablicy
Klasy i obiekty
Definiowanie klas, pol i metod. Modyfikatory dostepu i hermetyzacja. Gettery i settery. Konstruktory. Skladowe statyczne. Przeciazanie metod i konstruktorow. Operacje na lancuchach znakow.
- Klasa Person z konstruktorem i metodą introduce
- Konto bankowe: prywatne pole, getter i setter
- Klasa Rectangle z dwoma konstruktorami
- Pola i metody statyczne: obliczenia dla koła
- Przeciążanie metod: kalkulator z metodą add
- Hermetyzacja: klasa Car z getterami i setterami
- Dwa obiekty Person i wiek za 5 lat
- Statyczny licznik utworzonych pracowników
- Operacje na tekście: klasa StringManipulator
- Klasa Book z trzema konstruktorami
- Dziedziczenie: Dog i Cat po klasie Animal
- Biblioteka: lista obiektów Book
Dziedziczenie i polimorfizm
Swiat obiektow. Skladowe statyczne a instancyjne. Slowo final. Zmienne lokalne i globalne, czas zycia zmiennych. Dziedziczenie, konstruktory klas bazowych, nadpisywanie metod, polimorfizm.
- Klasa Car: pola, konstruktor i obiekty
- Składowe statyczne a składowe instancji
- Klasa finalna i stałe final
- Zmienne lokalne a pola klasy
- Czas życia zmiennych: lokalne, instancji, statyczne
- Klasa bazowa Animal i pochodna Dog
- Słowo super: konstruktor klasy Person
- Nadpisywanie metody calculateArea w Shape
- Polimorfizm: zmienne typu Animal
- Hierarchia Person, Employee i Manager
Tablice
Deklaracja i tworzenie tablic jednowymiarowych i dwuwymiarowych. Podstawowe operacje na tablicach. Kopiowanie plytkie i glebokie.
Algorytmy: sortowanie i wyszukiwanie
Implementacja algorytmow na tablicach: sortowanie babelkowe i przez wstawianie, wyszukiwanie liniowe i binarne, operacje na macierzach. Wprowadzenie do zlozonosci algorytmow.
Klasy biblioteczne: Math, Random, String, Scanner
Praktyczna znajomosc klas Math, Random oraz String (i StringBuilder). Formatowanie wyjscia. Wczytywanie danych z klawiatury klasa Scanner.
Wyjatki i petla for-each
Obsluga wyjatkow (try-catch-finally), zglaszanie i wlasne wyjatki. Instrukcja for-each (enhanced for) do iteracji po kolekcjach.