Programowanie w języku Java
LICZBA DNI: 5 (40h)
KOD KURSU: J/PROG
Weź udział w szkoleniu
Termin
Lokalizacja
Cena / os
8
marca
Warszawa,
Gdańsk,
Zdalne,
17
maja
Warszawa,
Kraków,
Zdalne,
Termin
8
marca
Lokalizacja
Warszawa,
Gdańsk,
Zdalne,
Cena / os
Termin
17
maja
Lokalizacja
Warszawa,
Kraków,
Zdalne,
Cena / os
Powiadom
o kolejnych terminach
O szkoleniu
DLA KOGO?
Programiści chcący poznać kolejny język programowania i wytwarzać aplikacje w Java
WYMAGANIA
Umiejętność programowania w jakimkolwiek języku
ZALETY
Szeroki zakres aspektów programowania, pozwalający na wytwarzanie aplikacji w Java
Szkolenie stale aktualizowane do najnowszych specyfikacji Java
Cele szkolenia
Zdobycie umiejętności programowania w języku Java przy użyciu narzędzia IDE ułatwiającego szybki rozwój, testowanie i debugowanie aplikacji
Poznanie konstrukcji językowych, standardowych bibliotek, podstaw wielowątkowości, obiektowości oraz wykorzystanie ich w tworzeniu wysokiej jakości, elastycznych rozwiązań
Program
Wprowadzenie
- Czym jest JVM
- Założenia i dystrybucje Javy
- Konwencje, pakiety, metoda main
- Kompilacja
- Sposoby uruchomiania aplikacji Java
- Dokumentacja JavaDoc
Typy danych i klasy
- Typy proste i ich konwersja
- Typy wyliczeniowe
- Tablice
- Przykłady typów obiektowych
- Odwołania do obiektów
- Wrappery, autoboxing i unboxing
- Tworzenie własnych klas
- Deklarowanie i przeciążanie metod
- Atrybuty klasy a zmienne lokalne
- Tworzenie konstruktorów
- Stałe i elementy statyczne
- Współpraca klas (widoczność i importowanie)
Składnia języka
- Konwencje nazewnicze
- Operatory
- Operacje warunkowe
- Pętle
- Asercje
Obiektowość
- Klasa, obiekt i abstrakcja
- High cohension (wysoka zwartość klas)
- Dziedziczenie
- Operator instanceof
- Klasa Object
- Nadpisywanie metod
- Dziedziczenie a konstruktory
- Poziomy dostępu
- Ograniczenia dziedziczenia w Javie
- Dziedziczyć czy delegować
- Hermetyzacja
- Polimorfizm
- Interfejsy i klasy abstrakcyjne
- Loose coupling (luźne powiązanie)
Wyjątki
- Klasy sygnalizujące błędy
- Ścieżka błędu (stack trace)
- Obsługa wyjątków
- Tworzenie własnych wyjątków
- Zalecenia przy obsłudze błędów
Kolekcje
- Używanie klas generycznych
- Zbiory
- Mapy
- Listy
- Kolejki
- Kolejki dwustronne
- Łatwa inicjalizacja kolekcji
- Klasa Collections
- Wstęp do kolekcji wielowątkowych
Środowisko
- Atrybuty wykonania
- Zmienne systemowe
- Biblioteki jar
- String a wydajna praca
- Arrays jako pomoc dla tablic
- Klasa System
- Klasy reprezentujące czas
- Lokalizacja (l10n)
- Formatowanie dat i liczb
- Internacjonalizacja (i18n)
Operacje IO
- System plików (File, Path, Files)
- Zawartość plików - strumienie binarne i tekstowe
- Swobodny dostęp (RandomAccessFile)
- Strumienie wysokopoziomowe
- Serializacja obiektów
- Wstęp do pojęcia kanałów (NIO)
- Co jeszcze w NIO2
Pozostałe elementy języka
- Wstęp do modułów
- Blok static
- Więcej o enumeracjach
- Użycie adnotacji
- Podstawy testowania z JUnit
- Klasy wewnętrzne i anonimowe
Programowanie funkcyjne
- Wyrażenia Lambda
- Referencje do metod
- Interfejs funkcyjny i metody domyślne
- Metody prywatne w interfejsach
- Lambda i strumienie
- Klasa Optional
- Interfejs Function
Podstawy wielowątkowości
- Runnable, Thread, ThreadGroup
- Tworzenie własnych wątków
- Monitory i synchronizacja
- Współpraca między wątkami
- Problemy wielowątkowości
- Zmienne ulotne (volatile)
- Wstęp do java.util.concurrent
Najczęstsze błędy
- Na co uważać
- Czego unikać
Zaawansowane operacje na tekście (opcjonalne)
- Formatowanie napisów
- Regular expression (regex)
- Tokenizacja
Peryferia i integracja
- Współpraca z konsolą
- Tworzenie GUI w Swing
- Komunikacja za pomocą TCP
- Komunikacja z bazami danych (JDBC)
- Więcej o Swing (opcjonalne)
