Programowanie w języku Java - PODSTAWY - wer. 18.01.17

Content
Search Results
Loading, please wait ...

Loading

  • Wprowadzenie
    • Informacje o prowadzącym i autorze niniejszego opracowania
    • Wymagania i cele
    • Zagadnienia dydaktyczne
    • Literatura
    • Wyszukiwanie informacji w Internecie
  • Języki programowania
    • Klasyfikacja języków ze względu na przeznaczenie
    • Klasyfikacja języków ze względu na poziom języka
      • Języki niskiego poziomu
      • Języki wysokiego poziomu
    • Klasyfikacja języków ze względu na paradygmat programowania
      • Języki liniowe (nieproceduralne)
      • Języki proceduralne == strukturalne
      • Języki obiektowe
  • Czym jest Java?
    • Cechy języka Java
    • Schemat działania platformy Java
    • Trzy edycje platformy Java
  • Przygotowanie do pracy i pierwszy program
    • Przygotowanie środowiska Java
    • Przygotowanie narzędzi programistycznych
      • Sublime Text 3
      • Eclipse - zintegrowane środowisko programistyczne - IDE
    • Pierwszy program - przygotowanie, skompilowanie i uruchomienie
    • Parametry wywołania programu - argumenty metody main
    • Komentarze w kodzie i dokumentacja kodu - narzędzie javadoc
  • Java - podstawowe zagadnienia
    • Konwencja nazewnictwa w programach w języku Java
    • Znaki specjalne w łańcuchach znaków
    • Wyrażenia regularne
    • Funkcje i stałe matematyczne
    • Typy danych
      • Typy proste
      • Typ/Klasa String
      • Klasy jako typy danych
      • Konwersja i rzutowanie typów
    • Operatory
    • Porównywanie zmiennoprzecinkowych typów danych
    • Wielkie liczby - BigInteger, BigDecimal
    • Instrukcje warunkowe - if, switch
    • pętle - for, while, do..while, foreach
    • Instrukcje break i continue
    • Tablice jedno- i wielo-wymiarowe
  • Java - programowanie obiektowe
    • Narzędzia przydatne przy programowaniu obiektowym
      • UML - diagramy strukturalne
      • UML - diagramy funkcjonalne
    • Klasy i obiekty - co to jest
    • Zmienne i obiekty - stos i sterta (heap vs. stack)
    • Mechanizm zarządzania stertą - Garbage Collector
    • Metody
      • Proste lub obiektowe typy argumentów metod
        • Przekazanie argumentu typu prostego
        • Przekazanie argumentu typu obiektowego
      • Metody ze zmienną liczbą argumentów
    • Przeciążanie metod - method overloading
      • Promowanie typów
    • Konstruktor obiektów danej klasy
    • Klasy - organizacja - kompilacja kodu obiektowego
      • Wiele klas w jednym pliku
      • Osobny plik dla każdej klasy
      • Klasy zagnieżdżone / wewnętrzne, lokalne, anonimowe, wyrażenia Lambda
    • Pakiety klas
      • Pakiety klas - prosty przykład
      • Pakiety klas - przykład z klasą zagnieżdżoną
    • Modyfikatory dostępu - Access Modifiers
      • public
      • protected
      • DEFAULT = brak modyfikatora
      • private
    • Statyczne i niestatyczne elementy klasy (static vs. non-static)
    • Zakres widoczności zmiennych - variable scope
    • Dziedziczenie klas
      • Dziedziczenie - wersja bardzo uproszczona
      • Dziedziczenie - wersja prosta
    • Nadpisywanie metod klasy nadrzędnej
    • Modyfikator final
    • Klasy abstrakcyjne
    • Dziedziczenie klas abstrakcyjnych
    • Interfejsy
    • Dziedziczenie interfejsów
    • Rozpoznawanie czy dana klasa jest interfejsem
    • Rozpoznawanie klasy obiektu
    • Rzutowanie klas (typów obiektowych)
    • Słowa kluczowe this oraz super
    • DZIEDZICZENIE - wersja zaawansowana
  • Java - przydatne mechanizmy
    • Pobieranie danych od użytkownika - Basic I/O
    • Wyjątki - Exceptions
      • Bloki try {} catch(..) {} catch(..) {} finally {}
      • Zgłaszanie wyjątków - instrukcja throws
    • Zapis i odczyt danych w pliku
      • Zapis i odczyt danych tekstowych
      • Zapis i odczyt danych binarnych
    • Metoda equals()
    • Metoda hashCode()
    • klasa Arrays - operacje na tablicach - np. sortowanie tablicy
    • Typy enum - wyliczenia
    • Iteratory
    • Kolekcje
      • Zbiór - interfejs Set oraz klasa HashSet
      • Lista - interfejs List oraz klasy ArrayList i LinkedList
      • Kolejka - interfejsy Queue oraz Dequeue
      • Mapa - interfejs Map oraz klasa HashMap - wyszukiwanie przy użyciu klucza
    • java.time - Duration, Period, ChronoUnit
    • Zaokrąglanie liczby do N miejsc po przecinku
  • Graficzny interfejs użytkownika - GUI
    • Pierwsza aplikacja JavaFX
    • Uruchomienie aplikacji JavaFX
    • Font and Text Settings
    • Formularze
    • Simple Dialogs and Alerts (incl. Login Dialog)
    • Java FX UI Controls - Tables, Lists, Trees, etc.
    • Java FX Charts
    • Java FX Slider + Binding Properties
    • Event Handling
    • Handle Keyboard events in JavaFX
    • Timers in JavaFX - One-time and Periodic + Timer cancellation
    • Układ elementów w panelu JavaFX - Layout
    • Arkusze stylów CSS
    • FXML
    • Animacje i efekty
  • Kod programów z laboratoriów
    • 2017.12.19 - HashMap + SortedSet - wykład Gdańsk
    • 2017.12.17 - ProgramPojazdy + PojazdSilnikowy - wykład Gdynia
    • 2017.12.16 - Pojazd - PojazdCzterokołowySilnikowy - laboratorium Gdynia
    • 2017.12.16 - ArraySorter - klasa utworzona przez nas
  • PROJEKT - WildPark
    • Założenia wstępne
      • Tabela kaloryczności roślin i zwierząt
    • Git - GitHub - zespołowe wytwarzanie oprogramowania
    • Schemat Interfejsów, klas abstrakcyjnych i klas
    • Interfejsy i klasy abstrakcyjne w systemie WildPark - LISTA
    • Wzorcowa implementacja klasy konkretnego gatunku - Orca
    • Przydział zwięrząt
  • Historia zmian
Programowanie w języku Java - Maciej Bejm