Programowanie w języku Java

4300 PLN+23% VAT (5289 PLN brutto / 1 os.)

Czas trwania szkolenia:5 dni (40h)

Kod kursu:J/PROG

Poziom zaawansowania:

java

Dostępne terminy

  • Termin
  • Lokalizacja
  • Trener
  • Cena
Brak dostępnych terminów

O szkoleniu Programowanie w języku Java

W cenie otrzymasz:

  • Materiały szkoleniowe
  • Certyfikat ukończenia szkolenia
  • W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki

Dla kogo?

  • Programiści chcący poznać język 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
  • Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
  • Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
  • Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how

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)
  • Rekordy

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 JavaFx
  • Komunikacja za pomocą TCP
  • Komunikacja z bazami danych (JDBC)

Podobne szkolenia