Zkouška 16.1.2017 (Hnětynka)

Předmět zaměřený na praktické programování v jazyku a prostředí Java
Uživatelský avatar
CiTrus
Matfyz(ák|ačka) level I
Příspěvky: 19
Registrován: 22. 6. 2014 14:05
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

Zkouška 16.1.2017 (Hnětynka)

Příspěvek od CiTrus »

Dnes to bylo trochu obtížnější než obvykle. Házím to sem, dokud si většinu pamatuji.

Výsledky: pár jedniček a dvojek, hromada trojek a čtyřek

Formát: klasický - 8 testových otázek s 1+ správnou odpovědí, 2 otevřené na doplnění kódu. Za špatně (ne)zvolené odpovědi se akumulují trestné body. 0..2 jednička, 3..5 dvojka, 6..9 trojka, jinak čtyřka.

1. Co se nepřeloží?
a) byte x = 1024;
b) int x = 08;
c) long x = null;
d) char x = "a";
e) int x = 0x1234;


2. Co se stane při překladu programu?

Kód: Vybrat vše

class MyClass {
    public static void main(String[] args) {
        amethod(args);
    }
    public void amethod(String arguments[]) {
        System.out.println(arguments[1]);
        System.out.println(arguments);
    }
}
a) nelze přeložit - metoda amethod není deklarována před voláním
b) nelze přeložit - statická metoda main volá instanční metodu amethod
c) nelze přeložit - špatná deklarace pole v main
d) nelze přeložit - println nepřijímá jako parametr pole


3. Co se přeloží?
a)

Kód: Vybrat vše

if (3 == 2) System.out.println("Hi!");
b)

Kód: Vybrat vše

if (3 = 2) System.out.println("Hi!");
c)

Kód: Vybrat vše

if (true) System.out.println("Hi!");
d)

Kód: Vybrat vše

if (3 != 2) System.out.println("Hi!");
4. Co dělá protected u elementu třídy (atribut, metoda)?
a) element je přístupný pouze ze třídy
b) element je přístupný pouze ze třídy a jejích potomků, pokud jsou ve stejném balíčku
c) element je přístupný pouze ze třídy a jejích potomků, pokud jsou kdekoliv
d) element je přístupný pouze ze třídy, jejích potomků (pokud jsou kdekoliv) a z balíčku, do kterého třída patří


5. Vyberte klíčová slova
a) throws
b) object
c) override
d) do


6. Co je pravda?
a) vnitřní třídy musí implementovat alespoň jeden interface
b) vnitřní třídy mají přístup ke všem (i private) elementům třídy, která je obsahuje
c) vnitřní třídy nedědí od třídy Object
d) (už si nepamatuju, co tu bylo, ale bylo to správně)


7. Co se přeloží?
a)

Kód: Vybrat vše

import java.util.*;
package MyPackage;
class MyClass {}
b)

Kód: Vybrat vše

package MyPackage;
import java.util.*;
class MyClass {}
c)

Kód: Vybrat vše

/* komentar */
package MyPackage;
import java.util.*;
class MyClass {}
d) nic se nepřeloží


8. Co je pravda?
a) notify(), notifyAll() a wait() je definováno na třídě Object
b) notify(), notifyAll() a wait() je definováno na třídě Thread
c) notify(), notifyAll() a wait() lze volat jen ze synchronized sekcí a bloků
d) třída Thread je abstraktní


9. Funkce forEach má hlavičku:

Kód: Vybrat vše

void forEach(Consumer<? super T> action)
Kde funkcionální rozhraní Consumer je definováno:

Kód: Vybrat vše

interface Consumer<T> {
    void accept(T t);
}
Doplňte výraz do forEach, aby program vypsal všechny prvky seznamu:

Kód: Vybrat vše

List<String> list = ...;
list.stream.forEach(
    // zde byly asi 3 volne radky
)
10. Předefinujte korektně equals() ve třídě:

Kód: Vybrat vše

class Complex { 
    int re; int im;

    // zde bylo asi 5 volnych radku
}





Řešení:
1. a (přetečení int literálu v byte proměnné), b (neplatný osmičkový literál), c (nelze narvat null do primitivního typu), d (nelze narvat String literál do charu)
2. b
3. a, c, d
4. d
5. a, d
6. b, d
7. b, c
8. a, c
9. například

Kód: Vybrat vše

s -> { System.out.println(s); }
nebo

Kód: Vybrat vše

System.out::println
10. například:

Kód: Vybrat vše

@override 
public boolean equals(Object other) {
    if (other instanceof Complex) {
        Complex that = (Complex) other;
        return this.re == that.re && this.im == that.im;
    }
    return false;
}
ZuzkaD
Matfyz(ák|ačka) level I
Příspěvky: 8
Registrován: 16. 1. 2017 12:49
Typ studia: Informatika Bc.

Re: Zkouška 16.1.2017 (Hnětynka)

Příspěvek od ZuzkaD »

Pár věcí si pamatuju trochu jinak:

Výsledky: Většina 4 (něco jako 9 ze 13)

1) Nebyla tam možnost e) int x = 0x1234 ale zato tam bylo int x = 0b01;

6) Byla tam, myslím, ještě možnost něco jako Vnitřní třídy dědí od té vnější - není pravda
Ghort

Re: Zkouška 16.1.2017 (Hnětynka)

Příspěvek od Ghort »

Dokud si to jakž takž pamatuju:

ve 3) byla navíc možnost

Kód: Vybrat vše

 if ("abcd".equals("abcd")) System.out.println("Hi!"); 
v té 6) bylo něco jako "Vnitřní třída může implementovat libovolně mnoho interfaců" a bylo to správně...

jednička nebyla myslím žádná, 3 dvojky, cca 3 trojky a nějakých 7 čtyřek...
Odpovědět

Zpět na „PGR013 Java“