V metodě deklaruji lokální pole typu int a naplním ho pomocí následujícího cyklu: int [ ] pole = new int[10]; for (int i = 0; i< pole.length; i++) { pole [i] = i+1; správná odpověď:
V metodě deklaruji lokální pole typu int a naplním ho pomocí následujícího cyklu: int [ ] pole = new int[10]; for (int i = 1; i< pole.length; i++) { pole [i] = i+1; správná odpověď:
V programu potřebujeme zapsat data do souboru, soubor bude připraven pro zápis, když:
Vytvoříme instanci třídy FileOutputStream nebo FileWriter, jako parametr zadáme soubor a při vytváření instance nevznikne výjimka.
Vytvoříme instanci třídy File a zavoláme metodu open().
Pro načtení souboru využijeme metodu System.in.readLine().
Vytvoříme instanci třídy FileInputStream nebo FileReader, jako parametr zadáme soubor a při vytváření instance nevznikne výjimka.
Vyberte jeden nepravdivý výrok o statických metodách:
ve třídě A je deklarována statická metoda xyz() a metoda instance abc(). Ze statické metody je možné zavolat metodu instance abc() jednoduchým způsobem: abc()
Volání statické metody xyz() ze třídy A lze zapsat pomocí odkazu na jméno třídy: A.xyz()
Ve třídě A je deklarována statická metoda xyz() a metoda istance abc(). Z metody instance je možné zavolat statickou metodu jednoduchým zápisem xyz()
Statická metoda musí mít uveden v hlavičce modifikátor static
Vyberte pravdivý výrok o deklaraci parametrů metody (tj. co lze uvést u parametrů v hlavičce metody)
V deklaraci každého parametru musí být vždy uveden typ
U parametru metody mohou být uvedeny modifikátory přístupu
V deklaraci parametru může být uvedena defaultní hodnota(např.int hodnota=4)
Pokud má metoda více parametrů stejného typu, lze uvést typ parametru pouze jednou, např, public void metoda(int x, y) { ... }
Vyberte pravdivý výrok o statických metodách:
Statickou metodu deklarovanou ve třídě A lze volat i z metod instancí A
Vyberte pravdivý výrok o statické konstantě (static final)
statické konstanty mohou být i referenčního typu
přiřazení hodnoty do statické konstanty musí být součástí deklarace této konstanty
statická konstanta může být pouze primitivního datového typu, např.public static final double PI = 3.14;
neměnná statická konstanta musí mít modifikátor přístupu public
Nadeklarujeme následující statickou konstantu public static final int DEN_NEDELE = 0; Při tisku pomocí System.out.println ("" + DEN_NEDELE) se vytiskne řetězec "DEN_NEDELE" (vytiskne se číslo)
Vyberte pravdivý výrok o statických proměnných
statická proměnná je v paměti pouze jednou bez ohledu na počet vytvořených instancí
statická proměnná může být pouze primitivního datového typu, popř. pole primitivního datového typu
statická lokální proměnná může být deklarována uvnitř statické metody, nemůže být v metodě instance
uvnitř metody instance může být deklarována statická lokální proměnná
privátní statická proměnná deklarovaná ve třídě A není dostupná z metod instancí třídy A. Je dostupná pouze ze statických metod třídy A
Vyberte nepravdivý výrok o statických proměnných
Statickou proměnnou lze deklarovat uvnitř statické metody (statická lokální proměnná)
K obsahu privátní statické proměnné lze přistupovat z konstruktoru stejné třídy
Statická proměnná musí mít v deklaraci uveden modifikátor static
Statická proměnná třídy může mít uvedeny všechny modifikátory přístupu (public, protected, private, „přátelský přístup“)
Vyhrazené slovo „null“ se v Javě používá pro:
označení obsahu proměnné referenčního typu, který neobsahuje odkaz na nějakou ex. Instanci
identifikátor referenčního typu neodkazuje na žádnou instanci
Vyhrazené Slovo „this“ má v Javě následující využití:
Při volání metod stejné instance lze this použít na místě odkazu na instanci
Slovo this může být uvedeno jako návratová hodnota metody
Slovo this označuje situaci, kdy proměnná referenčního typu neobsahuje odkaz na nějakou existující instanci
This je operátor přetypování referenčních typů
Vyberte situaci, kdy "nelze" použít klíčové slovo public
v deklaraci parametru metody
v deklaraci (hlavičce) metody
v deklaraci (v hlavičce) třídy
v deklaraci datového atributu
Vyberte správný způsob zobrazení použití výčtového typu DenVTydnu ve třídě Rozvrh v diagramu UML
„Rozvrh“ <<enum>>DenVTydnu
...
Která tvrzení o mapách (třídách implementujících rozhraní Map<K,V>) jsou pravdivá a která ne?
Dvě hodnoty v mapě mohou být shodné podle metody (equals)
Z mapy je pomocí metody keySet() možné získat množinu klíčů
Třída, jejíž instance jsou klíče v mapě typu HashMap, by měla mít implementovány metody equals() a hashCode().
Prvkem mapy je dvojice tvořená klíčem a k němu připojenou hodnotou.
Mapa typu HashMap obsahuje dvojice setříděné podle hodnoty klíče
Dva klíče v mapě mohou být shodné (podle metody equals)
Klíčem v mapě mohou být I hodnoty primitivních datových typů
Která tvrzení o množinách(třídách implementujících rozhraní Set<E> )jsou pravdivá a která ne?
Počet prvků v množině lze zjistit pomocí metody size()
Množinu je možné procházet pomocí cyklu for - each, ale pomocí klasického for ne.
Třída, jejíž instance jsou vkládány
Prvek vkládaný do množiny pomocí metody add() je vložen vždy na konec
Jestliže se pokusíte vložit do množiny prvek shodný s prvkem, který je již v množině uložen (shoda se testuje pomocí (equals())), vznikne výjimka.
Množina udržuje pořadí vkládaných prvků a lze v ní používat index (v množině indexy nejsou)
Která tvrzení o polích v Javě jsou pravdivá a která ne?
Pole o N prvcích má indexy od 0 do N-1.
Velikost jednorozměrného pole lze zjistit pomocí proměnné length
Všechny prvky pole jsou stejného typu nebo jeho podtypů.
Pole nemůže obsahovat prvky primitivních datových typů.
Rozsah pole (jeho prvků) se určuje už při deklaraci
Dvourozměrné pole musí mít stejný počet "sloupců" ve všech "řádcích"
Máme dvě třídy Hamburger a BigMac, třída BigMac je potomkem třídy Hamburger. Jsou definovány dvě proměnné takto:
Hamburger hamburger;
BigMac bigMac;
Hamburger bigMac
Která z následujících přiřazení jsou legální (tj. přeloží se bez chyby) a která ne?
hamburger = new Hamburger();
hamburger = new BigMac();
bigMac = new BigMac();
hamburger = bigMac;
bigMac= hamburger;
bigMac = new Hamburger();
Máme dvě třídy Zvire a DomaciZvire, třída DomaciZvire je potomkem tridy zvire Jsou definovány dvě proměnné takto: Zvire kocka; DomaciZvire micka. Která se OK přeloží?
kocka = new DomaciZvire()
kocka = micka
kocka = new Zvire()
micka = new DomaciZvire()
micka = new Zvire()
micka = kocka
Některé metody (nemluvíme o konstruktoru) nemusí vracet žádnou návratovou hodnotu
Metoda má v hlavičce uvedeno slovo void jako typ návratové hodnoty
Označte pravdivá a nepravdivá tvrzení o abstraktních třídách.
Abstraktní metody mohou být deklarovány pouze v abstraktní třídě nebo rozhraní.
Instanci abstraktní třídy nelze vytvořit pomocí konstruktoru této třídy …uveden modifikátor abstrakt…
Abstraktní třída nesmí mít potomky.
Abstraktní třída nemá konstruktor.
Abstraktní třída musí obsahovat alespoň jednu abstraktní metodu.
Označte pravdivá a nepravdivá tvrzení o rozhraní v Javě:
Všechny metody deklarované v rozhraní jsou veřejné (public).
Rozhraní může obsahovat pouze statické konstanty, deklarace metod a případně vnořené (static inner, nested) třídy
V deklaraci rozhraní musí být uvedeno klíčové slovo interface.
Dynamická sémantika
Rozhraní má vždy pouze implicitní konstruktor
Označte pravdivé a nepravdivé výroky.
Aritmetické operátory *, / a % mají stejnou prioritu.
Pokud se v Javě deklaruje proměnná, musí být vždy uveden její typ
Aritmetické výrazy bez závorek se vyhodnocují zleva doprava.
V Javě jsou identifikátory number a Number identické
Označte pravdivost jednotlivých výroků o syntaxi a sematice programovacích jazyků:
Statická sémantika je ta část sémantiky,kterou lze kontrolovat při překladu-např. pravidla pro typovou kontrolu.
Pro popis syntaxe síťových protokolů (např. protokolu HTTP) se používá upravená verze Backus-Naurovy formy. //verze ABNF
Dynamická sémantika-obvykle popisována běžným jazykem
Backus-Naurova forma (BNF) se používá pro popis syntaxe jazyka.
Komentáře se ze zdrojového kódu odstraňují při lexikální analýze.
V Backus-Naurově formě (BNF) lze popsat i sémantiku jazyka.
Pro popis sémantiky jazyka se používají bezkontextové gramatiky.
Označte pravdivost jednotlivých výroků o polích v programovacích jazycích:
V zubatém vícerozměrném poli může mít každý řádek rozdílný počet prvků
V Javě se alokuje paměť pro pole dynamicky při deklaraci pole (pevná velikost pole je určená při inicializaci)
Pole je homogenní datová struktura, ve které se pozice prvku udává pomocí indexu – ArrayList v Javě splňuje tuto definici
Příkladem jazyka se statickou alokací paměti pro pole (tj. Při překladu) je Fortran
Java podporuje pouze pravoúhlá dvourozměrná pole (java-zubatá pole)
Označte pravdivost jednotlivých výroků o procedurálních programovacích jazycích:
Procedurální jazyky se používají pro opakující se operace cykly.
Procedurální programovací jazyky neobsahují syntaktická omezení pro použití procedur (metod, funkcí).
Všechny procedurální jazyky umožňují vytvářet vlastní abstraktní datové typy.
Všechny procedurální programovací jazyky obsahují příkaz goto.
Označte pravdivost tvrzení o komentářích
Program javadoc zpracovává pouze víceřádkové komentáře, které začínají /** (a nejsou uvnitř metody).
Je možné uvést komentář i uvnitř výrazu, např. int i = 3 + /* komentar */ 25;
Víceřádkový komentář začíná /* a končí */
Na začátku každého meziřádku ve víceřádkovém komentáři musí být uvedena *
Jednořádkové komentáře lze uvést pouze uvnitř metod (a konstruktorů).
Označte pravdivost tvrzení o relačních databázích a jazyku SQL.
Schéma databáze popisuje jaké jsou tabulky v databázi, atributy, vlastnosti atributů a další údaje o struktuře a vztazích v databázi.
Pro výběr dat z relační databáze se používají relační operace projekce (výběr atributů), selekce (výběr řádků, které odpovídají podmínkám) a spojení (spojení dat z více tabulek).
V databázi mohou být definovány integritní omezení - tvrzení, která omezují hodnoty atributů v jednotlivých relacích (tabulkách).
Jazyk SQL (Structured Query Language) definuje pouze příkaz Select včetně pravidel a operací pro výběr dat z relační databáze.
Query By Example je rozšíření relační databáze, které umožňuje do tabulek ukládat ukázkové dotazy.
Označte pravdivost tvrzení týkající se jazyka XML
Parsovaní označuje proces kontroly datové struktury XML dokumentu a následné jeho rozložení do malých jednotlivých částí, se kterými může pracovat aplikace.
DTD (Document Type Definition) se používá pro popis datové struktury konkrétního XML dokumentu, tj. jaké jsou přípustné značky, elementy a atributy.
Data v XML dokumentu vytvářejí stromovou strukturu.
Pokud chceme převést XML dokument do jiného formátu (např. PDF či HTML), můžeme použít popis transformace popsaného v XSD (XML Schema Definition Language).
Označte pravdivost následujících výroků o typech proměnných v programovacích jazycích:
Pojem typová inference označuje přístup, kdy se typ parametrů metody a typ návratové hodnoty odvozuje z obsahu metody.
Typová nezávislost označuje situaci, kdy do proměnné můžeme přiřadit hodnotu libovolného typu.
U "silně typových jazyků" jsou všechny chyby v typech zjištěny při překladu či za běhu programu.
Java provádí všechnu typovou kontrolu při překladu a žádnou za běhu.