Který z následujících fragmentů kódu nám při následném odchycení výjimky poskytne informaci o jméně souboru,
který nebyl nalezen (předpokládejte, že všechny proměnné jsou korektně deklarovány a použity):
● If (!f.exists()) { throw new IOException („Soubor „ + f.getName()+"nenalezen");}
● Exception e=new IOException („Soubor nenalezen");
if (!f.exists()){throw e;}
● if (!f.exists()) { throw „Soubor nenalezen";}
● If (!f.exists()) { throw new IOException();} | ● If (!f.exists()) { throw new IOException („Soubor „ + f.getName()+"nenalezen");} |
Označte pravdivá a nepravdivá tvrzení o balíčcích (packages) v Javě.
- Třídy umístěné v jednom balíčku mohou vzájemně přistupovat k datovým atributům a metodám označeným modifikátorem přístupu private.
- Balíčky slouží k vytváření jmenných prostorů, tj. v různých balíčcích mohou být třídy se stejným jménem.
- Balíčky se používají k seskupování tříd pro posílání zpráv, tj. lze poslat jednu zprávu všem třídám v balíčku.
- V jednom balíčku může být několik tříd stejného jména. | ● Balíčky slouží k vytváření jmenných prostorů, tj. v různých balíčcích mohou být třídy se stejným jménem.
● ?Balíčky se používají k seskupování tříd pro posílání zpráv, tj. lze poslat jednu zprávu všem třídám v balíčku.? |
Pro identifikátor statické proměnné se v Javě používá následující jmenná konvence:
- Všechna slova jsou velkým písmenem, jednotlivá slova jsou oddělena tečkou. např.:static double BANKOVNI.UROK = 4,5;
- Začátek každého slova je velkým písmenem, např.: static double BankovniUrok= 4,5;
- Všechna slova jsou velkým písmenem, jednotlivá slova jsou oddělena podtržítkem. např.: static double BANKOVNI_UROK = 4,5;
- Začátek každého slova je velkým písmenem s výjimkou prvního slova, které začíná malým písmenem např.: static double bankovniUrok = 4,5; | ●Začátek každého slova je velkým písmenem s výjimkou prvního slova, které začíná malým písmenem např.: static double bankovniUrok = 4,5; |
Přátelský přístup k metodě, atributu, třídě atd. se označuje:
- tím, že v deklaraci neuvedeme modifikátor přístupu
- modifikátorem private
- modifikátorem public
- modifikátorem protected | tím, že v deklaraci neuvedeme modifikátor přístupu |
Při spuštění Java aplikace z příkazové řádky končí obvykle program provedením všech příkazů v metodě public static void main(String [] args).
Jak ukončíte aplikaci uprostřed metody main (nepředpokládáme spouštění vláken z metody main)?
- příkazem break
- příkazem continue
- příkazem return
- aplikaci nelze ukončit uprostřed metody main
- System.exit(x) | ● příkazem return
● System.exit(x) |
Stav instance se uchovává:
- V parametrech metod
- V lokálních proměnných
- V metodách
- V datových atributech | - V datových atributech |
Určete jakou hodnotu nabude proměnná kk:
pro int kk =0 po proběhnutí cyklu: int i=10, while (i>kk){
kk++;
i--}
● 6
● 4
● 5
● 10
● nekonečno | 5 |
Určete jakou hodnotu nabude proměnná kk:
pro int kk =0 po proběhnutí cyklu: int i=5, while (i>kk){
kk++;
i--}
● 5
● 2
● 6
● 3 | 3 |
V metodě deklaruji lokální pole typu int a naplním ho pomocí následujícího cyklu.
Jaké hodnoty budou v poli?
int [] pole = new int [10] ;
for (int i=1; i<= pole.length; i++){
pole [i]=i ; }
pole [i] = i; | nepřeloží se |
V metodě deklaruji lokální pole typu int a naplním ho pomocí následujícího cyklu.
Jaké hodnoty budou v poli?
int [] pole = new int [10] ;
for (int i=0; i<= pole.length; i++){
pole [i]=i ; }
pole [i] = i; | nepřeloží se |
V metodě deklaruji lokální pole typu int a naplním ho pomocí následujícího cyklu.
Jaké hodnoty budou v poli?
int [ ] pole = new int[10];
for (int i = 0; i< pole.length; i++) {
pole [i] = i+1;} | 1 2 3 4 5 6 7 8 9 10 |
V metodě deklaruji lokální pole typu int a naplním ho pomocí následujícího cyklu.
Jaké hodnoty budou v poli?
int [ ] pole = new int[10];
for (int i = 1; i< pole.length; i++){
pole [i] = i+1;} | _ 2 3 4 5 6 7 8 9 10 |
V programu potřebujeme zapsat data do souboru, soubor bude připraven pro zápis, když:
- Vytvoříme instanci třídy File a zavoláme metodu open().
- Vytvoříme instanci třídy FileOutputStream nebo FileWriter, jako parametr zadáme soubor a při vytváření instance nevznikne výjimka.
- 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. | - Vytvoříme instanci třídy FileOutputStream nebo FileWriter, 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 | - 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() |
Vyberte pravdivý výrok o deklaraci parametrů metody (tj. co lze uvést u parametrů v hlavičce metody)
- 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)
- V deklaraci každého parametru musí být vždy uveden typ
- Pokud má metoda více parametrů stejného typu, lze uvést typ parametru pouze jednou, např, public void metoda(int x, y) { ... } | - V deklaraci každého parametru musí být vždy uveden typ |
Pravdivý výrok o statických metodách:
- Statickou metodu deklarovanou ve třídě A lze volat i z metod instancí A
(tohle není otázka, jenom správná odpověď) | Pravdivý výrok o statických metodách:
- Statickou metodu deklarovanou ve třídě A lze volat i z metod instancí A
(tohle není otázka, jenom správná odpověď) |
Vyberte pravdivý výrok o statické konstantě (static final):
- 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
- statické konstanty mohou být i referenčního typu
- 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) | - statické konstanty mohou být i referenčního typu |
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 | - statická proměnná je v paměti pouze jednou bez ohledu na počet vytvořených instancí |
Vyberte nepravdivý výrok o statických proměnných:
- 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")
- Statickou proměnnou lze deklarovat uvnitř statické metody (statická lokální proměnná) | - Statickou proměnnou lze deklarovat uvnitř statické metody (statická lokální proměnná) |
Vyhrazené slovo „null" se v Javě používá pro:
- označení obsahu proměnné referenčního typu, který neobsahuje odkaz na nějakou Instanci
(tohle není otázka, jen správná odpověď) | Vyhrazené slovo „null" se v Javě používá pro:
- označení obsahu proměnné referenčního typu, který neobsahuje odkaz na nějakou Instanci
(tohle není otázka, jen správná odpověď) |
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ů | - Při volání metod stejné instance lze this použít na místě odkazu na instanci |
Vyberte situaci, kdy "nelze" použít klíčové slovo public
- v deklaraci (hlavičce) metody
- v deklaraci (v hlavičce) třídy
- v deklaraci parametru metody
- v deklaraci datového atributu | - v deklaraci parametru metody |
Vyberte správný způsob zobrazení použití výčtového typu DenVTydnu ve třídě Rozvrh v diagramu UML:
● „Rozvrh"a <<enum>>DenVTydnu - (pozor na šipku)
(tohle není otázka, jen odpověď) | Vyberte správný způsob zobrazení použití výčtového typu DenVTydnu ve třídě Rozvrh v diagramu UML
● „Rozvrh"a <<enum>>DenVTydnu (pozor na šipku)
(tohle není otázka, jen odpověď) |
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)
● Mapa typu HashMap obsahuje dvojice setříděné podle hodnoty klíče
● Dva klíče 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().
● Klíčem v mapě mohou být I hodnoty primitivních datových typů
● Prvkem mapy je dvojice tvořená klíčem a k němu připojenou hodnotou. | Pravdivé:
● 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. |
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()
● Prvek vkládaný do množiny pomocí metody add() je vložen vždy na konec
● 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 by měla mít hashcode + equals | Pravdivé:
● 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 by měla mít hashcode + equals |
Která tvrzení o polích v Javě jsou pravdivá a která ne?
● Pole nemůže obsahovat prvky primitivních datových typů.
● Pole o N prvcích má indexy od 0 do N-1.
● Rozsah pole (jeho prvků) se určuje už při deklaraci
● Velikost jednorozměrného pole lze zjistit pomocí proměnné length
● Všechny prvky pole jsou stejného typu nebo jeho podtypů.
● Dvourozměrné pole musí mít stejný počet "sloupců" ve všech "řádcích" | Pravdivé:
● 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ů. |
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;
------------------
Která z následujících přiřazení jsou legální (tj. přeloží se bez chyby) a která ne?
● hamburger = new Hamburger();
● bigMac = hamburger;
● hamburger = new BigMac();
● bigMac = new Hamburger();
● bigMac = new BigMac();
● hamburger = bigMac; | Pravdivé:
● hamburger = new Hamburger();
● hamburger = new BigMac();
● bigMac = new BigMac();
● hamburger = bigMac; |
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()
● micka = new Zvire()
● kocka = micka
● micka = kocka
● kocka = new Zvire()
● micka = new DomaciZvire() | ● kocka = new DomaciZvire()
● kocka = micka
● kocka = new Zvire()
● micka = new DomaciZvire() |
Některé metody (nemluvíme o konstruktoru) nemusí vracet žádnou návratovou hodnotu
● programátor nesmí do metody napsat příkaz return
● Metoda má v hlavičce uvedeno slovo void jako typ návratové hodnoty.
● programátor musí do vnitřku metody napsat příkaz return
● metoda musí být veřejně dostupná (public) | ● 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.
- ...uveden modifikátor abstrakt...
- Abstraktní metody mohou být deklarovány pouze v abstraktní třídě nebo rozhraní.
- Abstraktní třída nesmí mít potomky.
- Abstraktní třída nemá konstruktor.
- Instanci abstraktní třídy nelze vytvořit pomocí konstruktoru této třídy
- Abstraktní třída musí obsahovat alespoň jednu abstraktní metodu. | Pravdivé:
● 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 |
Označte pravdivá a nepravdivá tvrzení o rozhraní v Javě:
- Všechny metody deklarované v rozhraní jsou veřejné (public).
- Rozhraní má vždy pouze implicitní konstruktor
- 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 ... | Pravdivé:
● 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 ... // nevím co je tím myšleno, ale princip se tam vyskytuje |
Označte pravdivé a nepravdivé výroky.
- Aritmetické operátory *, / a % mají stejnou prioritu.
- Aritmetické výrazy bez závorek se vyhodnocují zleva doprava.
- Pokud se v Javě deklaruje proměnná, musí být vždy uveden její typ
- V Javě jsou identifikátory number a Number identické | Pravdivé:
● Aritmetické operátory *, / a % mají stejnou prioritu.
● Pokud se v Javě deklaruje proměnná, musí být vždy uveden její typ |
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
- V Backus-Naurově formě (BNF) lze popsat i sémantiku jazyka.
- 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.
- Pro popis sémantiky jazyka se používají bezkontextové gramatiky. | Pravdivé:
● 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. |
Označte pravdivost jednotlivých výroků o polích v programovacích jazycích:
- Java podporuje pouze pravoúhlá dvourozměrná pole (java-zubatá pole)
- 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 | Pravdivé:
- 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 |
Označte pravdivost jednotlivých výroků o procedurálních programovacích jazycích:
- 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.
- Procedurální jazyky se používají pro opakující se operace cykly.
- Všechny procedurální programovací jazyky obsahují příkaz goto. | Pravdivé:
- Procedurální jazyky se používají pro opakující se operace cykly. |
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;
- Na začátku každého meziřádku ve víceřádkovém komentáři musí být uvedena *
- Víceřádkový komentář začíná / a končí /
- Jednořádkové komentáře lze uvést pouze uvnitř metod (a konstruktorů). | Pravdivé:
- 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čí / |
Označte pravdivost tvrzení týkající se jazyka XML
- 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).
- 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. | Pravdivé:
- 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. |
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. | Pravdivé:
- 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.
Pozn:
Typová kontrola je jakýsi prostředek pro detekování určitého druhu chyb během překladu programu.
Zajišťuje, že operandy a operátory (metody a jejich parametry) jsou kompatibilního typu.
V Javě, která je silně typový jazyk se provádí též při překladu. |
Označte pravdivost tvrzení o životnosti proměnných v programovacích jazycích:
- Životnost proměnné označuje dobu, kdy proměnná má přiřazenu paměť.
- Všechny proměnné s modifikátorem static v Javě mají přidělenu paměť od spuštění programu do konce programu.
- Parametrům metod a lokálním proměnným metod se obvykle přiděluje paměť v zásobníku (stack).
- Datové atributy typu int v Javě mají shodné hranice rozsahu platnosti a životnosti. | Pravdivé:
- Všechny proměnné s modifikátorem static v Javě mají přidělenu paměť od spuštění programu do konce programu.. spíš ne, raději neodpovídat
- Parametrům metod a lokálním proměnným metod se obvykle přiděluje paměť v zásobníku (stack). |
Označte pravdivost výroků o počítačové grafice:
- Formát PNG je rastrový a používá bezztrátovou kompresi
- V rastrové grafice je obraz tvořen množinou bodů, ke kterým jsou přiřazeny různé barvy
- Formát GIF používá bezztrátovou kompresi
- Průsvitná (transparentní) barva ve formátu GIF, PNG a dalších označuje barvu, přes kterou při zobrazení „prosvítá" pozadí | Pravdivé:
- Formát PNG je rastrový a používá bezztrátovou kompresi
- V rastrové grafice je obraz tvořen množinou bodů, ke kterým jsou přiřazeny různé barvy
- Průsvitná (transparentní) barva ve formátu GIF, PNG a dalších označuje barvu, přes kterou při zobrazení „prosvítá" pozadí |
Označte pravdivost výroků o rozsahu platnosti proměnných v jazycích:
- Rozsah platnosti proměnné vymezuje hranice, ve kterých se lze na proměnnou odkázat.
- Přetypování instancí v Javě je ukázkou dynamického rozsahu platnosti proměnné.
- Konstanta PI ze třídy Math v Javě má neomezený rozsah platnosti (lze používat všude).
- Java používá statický rozsah platnosti kontrola se provádí při překladu. | Pravdivé:
- Rozsah platnosti proměnné vymezuje hranice, ve kterých se lze na proměnnou odkázat.
- Konstanta PI ze třídy Math v Javě má neomezený rozsah platnosti (lze používat všude).
- Java používá statický rozsah platnosti kontrola se provádí při překladu. |
Třída MojeTrida implementuje rozhraní Rozh1 a Rozh2.Která z následujících přiřazení jsou správná -
- Rozhr1 rozhrani1 = new MojeTrida(); Rozhr2 rozhrani2 = rozhrani1
- Moje Trida Instance1 = new MojeTrida();
- Rozhr1 rozhrani1 = new Rozhr1()
- Rozhr1 rozhrani2 = new Rozhr2()
- Rozhr1 rozhrani1 = new MojeTrida();
- Rozhr2 rozhrani2 = new MojeTrida();
- Moje Trida Instance1= newMojeTrida(); Rozhr1 rozhrani1=instance1;MojeTrida instance2=(MojeTrida)rozhrani1;
- MojeTrida Instance 1 =new MojeTrida(), Rozhr1 rozhrani1=instance1
- Rozhr1 rozhrani1 = new MojeTrida(); Rozhr2 rozhrani2 = rozhrani1
- Rozhr2 rozhran2 = new Rozhr2()
- Rozhr2 rozhrani2 = new MojeRozhr2()
- Rozhr1 rozhrani1 = new MojeRozhr1() | - Moje Trida Instance1 = new MojeTrida();
- Rozhr1 rozhrani1 = new MojeTrida();
- Rozhr2 rozhrani2 = new MojeTrida();
- Moje Trida Instance1= newMojeTrida(); Rozhr1 rozhrani1=instance1;MojeTrida instance2=(MojeTrida)rozhrani1;
- MojeTrida Instance 1 =new MojeTrida(), Rozhr1 rozhrani1=instance1 |
U následujících výroků o skriptovacích programovacích jazycích označte jejich pravdivost/nepravdivost:
- Původně se skriptovací jazyky se používali pro psaní skriptů - programů pro spouštění jiných programů.
- Skriptovací jazyky jsou obvykle interpretovány, popř.překládány do mezikódu, který je interpretován.
- JavaScript patří mezi skriptovací jazyky, konkrétně mezi tzv. "embeded" jazyky, pomocí kterých lze modifikovat chování a rozšiřovat funkčnost aplikace (např. WWW prohlížeče).
- Ve skriptovacích jazycích z principu nelze používat objekty. | Pravdivé:
- Původně se skriptovací jazyky se používali pro psaní skriptů - programů pro spouštění jiných programů.
- Skriptovací jazyky jsou obvykle interpretovány, popř.překládány do mezikódu, který je interpretován.
- JavaScript patří mezi skriptovací jazyky, konkrétně mezi tzv. "embeded" jazyky, pomocí kterých lze modifikovat chování a rozšiřovat funkčnost aplikace (např. WWW prohlížeče). |
Vyberte pravdivá tvrzení o programovacích jazycích 4. generace:
- Mezi programovací jazyky 4. generace lze zařadit PowerBuilder či FoxPro.
- Mezi programovací jazyky 4. generace se občas řadí dotazovací jazyk SQL
- Pro programovací jazyky 4. generace se častěji používá pojem logické programovací jazyky.
- Progr. jazyky 4. generace jsou určeny pro práci s databázemi.
- Progr. jazyky 4. generace podporují tvorbu form. uživ. rozhraní a tvorbu výstupních sestav.
- Nejznámějším představitelem programovacích jazyků 4. generace je jazyk Prolog. | Pravdivé
- Mezi programovací jazyky 4. generace lze zařadit PowerBuilder či FoxPro.
- Mezi programovací jazyky 4. generace se občas řadí dotazovací jazyk SQL
- Progr. jazyky 4. generace jsou určeny pro práci s databázemi.
- Progr. jazyky 4. generace podporují tvorbu form. uživ. rozhraní a tvorbu výstupních sestav. ... spíše ano, raději neodpovídat |
Vyberte pravdivá tvrzení o rekurzi při programování:
- Při rekurzi se obvykle z metody A volá metoda A, tj. metoda volá sama sebe (tzv. rekurzivní metoda).
- Rekurze znamená, že pro řešení problému využijeme menších instancí stejného problému.
- Rekurzivní metody nemohou mít vedlejší efekty, tj. nemohou měnit i jinou proměnnou, než je návratová hodnota.
- Nepřímá rekurze je situace, kdy vzájemné volání metod vytvoří „kruh". Např. z metody A je volána metoda B, z metody B voláme metodu C, která volá metodu A. | - Při rekurzi se obvykle z metody A volá metoda A, tj. metoda volá sama sebe (tzv. rekurzivní metoda).
- Rekurze znamená, že pro řešení problému využijeme menších instancí stejného problému.
- Nepřímá rekurze je situace, kdy vzájemné volání metod vytvoří „kruh". Např. z metody A je volána metoda B, z metody B voláme metodu C, která volá metodu A. |
Co se nepřeloží?
double cislo = 4.53;
- if (cislo > 4.53)
- if (cislo <> 5.43)
- if (cislo == 4.5)
- if (cislo > 43L)
- if (cislo != 5.43) | - if (cislo <> 5.43) //pascal notace |
Dědičnosti v Javě...
- V javě je možná pouze jednonásobná dědičnost (tj. Třída může mít pouze jednoho přímého předka)
- Potomek dědí pouze to co není private
- Dědí se i konstruktory (tj. Pokud má předek konstruktor s jedním parametrem typu String, automaticky ho má i potomek)
- Zděděné metody lze v potomkovi překrýt | - V javě je možná pouze jednonásobná dědičnost (tj. Třída může mít pouze jednoho přímého předka)
- Zděděné metody lze v potomkovi překrýt |
Seřadte jednotlivé fáze překladu programu u klasického překladače:
- Sématická analýza
- Lexikální anal.
- Linkovnání programu s knihovnami
- Syntaktická analýza
- Generování | 1) Lexikální anal.
2) Syntaktická analýza
3) Sématická analýza
4) Generování
5) Linkovnání programu s knihovnami |
Záhlaví třídy (samos. ne Ve vnitřním bodu) může obs.
- Public
- extends
- impements | - Public
- extends
- impements |
Přiřaď zprávnou definici ke znaku konverze či příznaku formátování
znaky konverze:
h ; d ; 0 ; g ; , ; x ; t ; - ; + ; b ; f ; s
Definice:
- text, výsledek toString(), popř. null
- boolean
- zarovnání vlevo
- celé číslo hex
- desetinné číslo, u velkých čísel vědecký formát
- celé číslo v dekadickém tvaru
- desetinné číslo
- u čísel i znaménko +
- formátování datumu a času
- vloží se oddělovač řádů dle národního prostředí
- vypíše se úvodní nula
- celé číslo v hex | ● s => text, výsledek toString(), popř. null
● b => boolean
● - => zarovnání vlevo
● x => celé číslo hex
● g => desetinné číslo, u velkých čísel vědecký formát
● d => celé číslo v dekadickém tvaru
● f => desetinné číslo
● + => u čísel i znaménko +
● t => formátování datumu a času
● , => vloží se oddělovač řádů dle národního prostředí
● 0 => vypíše se úvodní nula
● h => celé číslo v hex |
Vyberte správné tvrzení platící o třídě
- Obecný popis obsahujicí data, které popisují stav objektu
- Vždy implementuje rozhraní pro danou třídu charakteristické
- Obsahuje metody, které popisují činnosti, které je možné s objektem provádět
- Je definovaná návratovou hodnotou a identifikátorem přístupu | - Obecný popis obsahujicí data, které popisují stav objektu
- Obsahuje metody, které popisují činnosti, které je možné s objektem provádět |