Java - Kolokwium 2

0.0(0)
studied byStudied by 8 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/128

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

129 Terms

1
New cards

Jaki paradygmat programowania traktuje obliczenia jako ewaluację funkcji matematycznych i unika zmian stanu oraz efektów ubocznych?

Programowanie funkcyjne

2
New cards

Czym, w przeciwieństwie do programowania imperatywnego, jest programowanie funkcyjne?

Koncentruje się na tym, CO ma zostać obliczone, a nie JAK komputer ma to wykonać.

3
New cards

Wymień kluczowe cechy programowania funkcyjnego.

Funkcje jako obywatele pierwszej klasy, funkcje wyższego rzędu, czyste funkcje, brak efektów ubocznych, niemutowalność, rekurencja, deklaratywność.

4
New cards

Co oznacza, że funkcje są "obywatelami pierwszej klasy" (first-class citizens)?

Mogą być traktowane jak wartości: przypisywane do zmiennych, przekazywane jako argumenty i zwracane z funkcji.

5
New cards

Czym charakteryzują się "czyste funkcje" (pure functions)?

Dla tych samych danych wejściowych zawsze zwracają ten sam wynik i nie mają efektów ubocznych.

6
New cards

Co to jest "niemutowalność" (immutability) w programowaniu funkcyjnym?

Dane są niezmienne; każda operacja tworzy nowe dane zamiast modyfikować istniejące.

7
New cards

Wokół czego zorganizowany jest kod w programowaniu obiektowym (OOP)?

Wokół obiektów, które mają stan (pola) i zachowanie (metody).

8
New cards

Jak programowanie funkcyjne (FP) podchodzi do stanu?

Stan jest unikalny i niezmienny, dane są niemodyfikowalne.

9
New cards

Jak w programowaniu funkcyjnym (FP) osiągany jest polimorfizm?

Poprzez funkcje wyższego rzędu.

10
New cards

Jak programowanie funkcyjne (FP) zarządza przepływem programu?

Poprzez rekurencję, wyrażenia lambda i funkcje wyższego rzędu (np. map, filter, reduce).

11
New cards

W jakich sytuacjach programowanie obiektowe (OOP) jest szczególnie użyteczne?

Gdy mamy do czynienia ze skomplikowanymi strukturami danych z wieloma stanami i zależnościami.

12
New cards

Kiedy programowanie funkcyjne (FP) jest idealnym wyborem?

Gdy chcemy tworzyć kod łatwy do testowania, modularny i współbieżny.

13
New cards

Czym są wyrażenia lambda w Javie?

Są to anonimowe funkcje, które pozwalają na zwięzłe przekazywanie zachowań jako argumentów do metod.

14
New cards

Od której wersji Javy dostępne są wyrażenia lambda?

Od wersji Java 8.

15
New cards

Jaka jest ogólna składnia wyrażenia lambda w Javie?

(parametry) -> { ciało funkcji }

16
New cards

Kiedy nawiasy klamrowe {} w ciele funkcji lambda są opcjonalne?

Gdy ciało funkcji składa się z jednej instrukcji.

17
New cards

W jakich zastosowaniach używa się wyrażeń lambda?

Operacje na kolekcjach (Stream API), sortowanie, wielowątkowość (Runnable, Callable), przetwarzanie danych.

18
New cards

Jakie są główne korzyści z używania wyrażeń lambda?

Zwięzłość, modularność, deklaratywność i łatwość współbieżności.

19
New cards

Czym jest referencja do metody w Javie?

Jest to bardziej zwięzła i czytelna alternatywa dla wyrażenia lambda, która odwołuje się bezpośrednio do istniejącej metody.

20
New cards

Co, zgodnie z definicją w prezentacji, oznacza "redundancja"?

Nadmiarowość w stosunku do tego, co konieczne lub zwykłe.

21
New cards

Czym jest interfejs funkcyjny w Javie?

To interfejs, który zawiera dokładnie jedną metodę abstrakcyjną.

22
New cards

Jaka adnotacja jest zalecana do oznaczania interfejsów funkcyjnych w Javie?

@FunctionalInterface

23
New cards

Do czego służy adnotacja @FunctionalInterface?

Pomaga w walidacji, że interfejs spełnia wymogi interfejsu funkcyjnego (ma tylko jedną metodę abstrakcyjną).

24
New cards

W jakim pakiecie znajdują się wbudowane interfejsy funkcyjne Javy 8?

java.util.function

25
New cards

Do czego służy interfejs funkcyjny Function<T, R>?

Przyjmuje argument typu T i zwraca wynik typu R (metoda apply).

26
New cards

Do czego służy interfejs funkcyjny Predicate<T>?

Do testowania warunku na obiekcie; jego metoda test zwraca wartość boolean.

27
New cards

Do czego służy interfejs funkcyjny Consumer<T>?

Do wykonania operacji na obiekcie bez zwracania wyniku (metoda accept).

28
New cards

Który interfejs funkcyjny nie przyjmuje żadnych argumentów, a jedynie zwraca wartość?

Supplier<T> (metoda get).

29
New cards

Co reprezentuje interfejs BinaryOperator<T>?

Operację na dwóch argumentach tego samego typu, zwracającą wynik tego samego typu.

30
New cards

Co reprezentuje interfejs BiFunction<T, U, R>?

Funkcję, która przyjmuje dwa argumenty (typu T i U) i zwraca wynik typu R.

31
New cards

Czym jest pakiet w języku Java?

Jest to zbiór powiązanych klas i interfejsów, które są grupowane w logiczne moduły.

32
New cards

Jakie są trzy główne role pakietów w Javie?

Organizacja kodu, unikanie konfliktów nazw, poprawa modularności.

33
New cards

Podaj przykład standardowego pakietu w Javie i co on zawiera.

java.lang - podstawowe klasy jak String, Math, System.

34
New cards

Jaka jest zalecana konwencja nazewnictwa pakietów w Javie?

Użycie odwróconej nazwy domeny internetowej organizacji, pisanej małymi literami.

35
New cards

Jak deklaruje się przynależność klasy do pakietu?

Za pomocą słowa kluczowego package jako pierwszej linii w pliku źródłowym.

36
New cards

Do czego służy instrukcja import?

Umożliwia używanie klas z innych pakietów bez podawania ich pełnej nazwy kwalifikowanej.

37
New cards

Jak zaimportować wszystkie klasy z pakietu java.util?

import java.util.*;

38
New cards

Do czego służą kwalifikatory dostępu?

Określają, jakie inne klasy lub pakiety mogą korzystać z klas, pól i metod.

39
New cards

Jaki zakres dostępu ma kwalifikator public?

Dostęp wszędzie.

40
New cards

Jaki zakres dostępu ma kwalifikator protected?

Dostęp w pakiecie oraz w podklasach.

41
New cards

Jaki zakres dostępu ma kwalifikator private?

Dostęp tylko w obrębie tej samej klasy.

42
New cards

Jaki jest domyślny kwalifikator dostępu (jeśli żaden nie zostanie podany)?

Dostęp tylko w obrębie pakietu (default).

43
New cards

Do czego służy struktura try-catch-finally?

Do przechwytywania i obsługi błędów (wyjątków) w Javie.

44
New cards

Który blok w konstrukcji try-catch-finally jest zawsze wykonywany, niezależnie od wystąpienia wyjątku?

Blok finally.

45
New cards

Do czego służy słowo kluczowe throw?

Do ręcznego rzucenia instancji wyjątku.

46
New cards

Co oznacza słowo kluczowe throws w sygnaturze metody?

Deklaruje, że metoda może rzucić określony typ wyjątku, którego nie obsługuje.

47
New cards

Czym są "checked exceptions" (wyjątki sprawdzane)?

Są to wyjątki dziedziczące po Exception (ale nie RuntimeException), które kompilator wymusza, aby obsłużyć.

48
New cards

Podaj przykład "checked exception".

IOException, SQLException.

49
New cards

Czym są "unchecked exceptions" (wyjątki niesprawdzane)?

Są to wyjątki dziedziczące po RuntimeException, których obsługa nie jest wymuszana przez kompilator.

50
New cards

Podaj przykład "unchecked exception".

NullPointerException, ArrayIndexOutOfBoundsException.

51
New cards

Jaka jest najwyższa klasa w hierarchii wyjątków w Javie?

Throwable.

52
New cards

Na jakie dwie główne podklasy dzieli się klasa Throwable?

Error i Exception.

53
New cards

Czym są obiekty klasy Error?

Wskazują na poważne problemy, których aplikacja zwykle nie jest w stanie obsłużyć, np. OutOfMemoryError.

54
New cards

Kiedy rzucany jest wyjątek NullPointerException?

Gdy próbujemy wywołać metodę lub odwołać się do pola na referencji o wartości null.

55
New cards

Jak można stworzyć własną klasę wyjątku sprawdzanego (checked)?

Dziedzicząc po klasie Exception.

56
New cards

Jak można stworzyć własną klasę wyjątku niesprawdzanego (unchecked)?

Dziedzicząc po klasie RuntimeException.

57
New cards

Czym jest klasa w programowaniu obiektowym?

Jest szablonem lub wzorcem, na podstawie którego tworzone są obiekty.

58
New cards

Co może zawierać klasa w Javie?

Pola, metody, konstruktory, blok inicjalizacyjny, klasy zagnieżdżone.

59
New cards

Co to jest obiekt w kontekście Javy?

Konkretna instancja klasy, posiadająca stan i zachowanie.

60
New cards

Do czego służy słowo kluczowe new?

Do tworzenia nowej instancji obiektu.

61
New cards

Czym są atrybuty instancyjne (pola)?

Są to zmienne przechowujące stan obiektu; każda instancja ma własną kopię.

62
New cards

Do czego służy słowo kluczowe this?

Do odwołania się do bieżącej instancji obiektu, np. w celu odróżnienia pola od parametru.

63
New cards

Czym są atrybuty statyczne?

Są to pola wspólne dla wszystkich instancji danej klasy, zdefiniowane na poziomie klasy.

64
New cards

Jak odwołać się do atrybutu statycznego PI w klasie Math?

Math.PI

65
New cards

Czym charakteryzują się metody statyczne?

Nie działają na konkretnym obiekcie, są wywoływane na poziomie klasy i nie mają dostępu do atrybutów instancyjnych.

66
New cards

Co to jest konstruktor?

Specjalna metoda wywoływana podczas tworzenia obiektu, służąca do inicjalizacji jego stanu.

67
New cards

Do czego służą tablice w Javie?

Do przechowywania wielu elementów tego samego typu w jednej strukturze o stałym rozmiarze.

68
New cards

Czy rozmiar tablicy w Javie może być zmieniony po jej utworzeniu?

Nie, rozmiar tablicy jest stały.

69
New cards

Jaką wartość ma pierwszy indeks w tablicy?

0 (zero).

70
New cards

Jak uzyskać dostęp do długości tablicy o nazwie mojaTablica?

mojaTablica.length

71
New cards

Jaka klasa w Javie dostarcza wbudowane metody do operacji na tablicach (np. sortowania)?

java.util.Arrays.

72
New cards

Do czego służą instrukcje warunkowe?

Do podejmowania decyzji i wykonywania różnych fragmentów kodu w zależności od spełnienia warunków.

73
New cards

Do czego służy instrukcja switch?

Do wyboru jednej z wielu opcji na podstawie wartości wyrażenia, jako alternatywa dla if-else if-else.

74
New cards

Co, od Javy 17, umożliwia słowo kluczowe yield w instrukcji switch?

Pozwala na zwrócenie wartości ze switch'a, czyniąc go wyrażeniem.

75
New cards

Jakie są cztery rodzaje pętli w Javie?

for, for-each, while, do-while.

76
New cards

Jakie są trzy części nagłówka klasycznej pętli for?

Inicjalizacja; warunek; aktualizacja.

77
New cards

Do czego służy pętla for-each?

Do iteracji przez wszystkie elementy kolekcji lub tablicy bez potrzeby manualnego zarządzania indeksem.

78
New cards

Jaka jest podstawowa różnica między pętlą while a do-while?

Pętla do-while wykonuje swój blok kodu co najmniej raz, ponieważ warunek jest sprawdzany na końcu.

79
New cards

Co robi instrukcja break?

Natychmiast przerywa wykonanie pętli lub bloku switch.

80
New cards

Co robi instrukcja continue?

Pomija bieżącą iterację pętli i przechodzi do następnej.

81
New cards

Do czego służy instrukcja return?

Do zakończenia wykonania metody i ewentualnego zwrócenia wartości.

82
New cards

Do czego służą komentarze w kodzie?

Do dokumentowania kodu i pozostawiania notatek; są ignorowane przez kompilator.

83
New cards

Jakiego słowa kluczowego używa się do deklaracji stałej w Javie?

final.

84
New cards

Jaka jest konwencja nazewnictwa stałych w Javie?

Wielkie litery, a słowa oddzielone podkreślnikiem (np. MAX_VALUE).

85
New cards

Co zwraca operator % (modulo)?

Resztę z dzielenia.

86
New cards

Jaki operator służy do sprawdzania, czy dwie wartości są równe?

==.

87
New cards

Jaki operator służy do sprawdzania, czy dwie wartości są różne?

!=.

88
New cards

Co oznacza operator &&?

Logiczne "I" (AND) z ewaluacją skróconą.

89
New cards

Co oznacza operator ||?

Logiczne "LUB" (OR) z ewaluacją skróconą.

90
New cards

Do czego służą operatory ++ i --?

Do inkrementacji (zwiększenia o 1) i dekrementacji (zmniejszenia o 1) wartości.

91
New cards

Jak nazywa się i działa operator ? :?

Operator warunkowy (ternarny); warunek ? wartosc_gdy_prawda : wartosc_gdy_falsz.

92
New cards

Co określa priorytet operatorów?

Kolejność, w jakiej operatory są wykonywane w wyrażeniach.

93
New cards

Który z operatorów ma wyższy priorytet: * czy +?

Mnożenie *.

94
New cards

Kto jest uznawany za twórcę Javy?

James Gosling.

95
New cards

Co oznacza zasada "Write Once, Run Anywhere" (WORA)?

Kod napisany w Javie może być uruchamiany na różnych platformach bez ponownej kompilacji.

96
New cards

Czym jest Maszyna Wirtualna Java (JVM)?

Środowiskiem uruchomieniowym, które interpretuje i wykonuje kod bajtowy Javy, zapewniając przenośność.

97
New cards

Co to jest kompilacja "Just-In-Time" (JIT)?

Technika, w której JVM kompiluje kod bajtowy do kodu maszynowego w trakcie jego wykonywania, co poprawia wydajność.

98
New cards

Czym jest OpenJDK?

Projektem open source zawierającym referencyjną implementację Javy.

99
New cards

Do czego służy klasa ClassLoader w JVM?

Do dynamicznego ładowania klas Javy do JVM podczas działania aplikacji.

100
New cards

Wymień cztery główne filary programowania obiektowego (OOP) w Javie.

Abstrakcja, enkapsulacja, dziedziczenie, polimorfizm.