Java

Z ωικι.matfyz.cz
Přejít na: navigace, hledání
Java
Kód předmětu: NPRG013
Přednáší: Petr Hnětynka

Programování v Javě.

Zápočet se dává za napsání zápočtového programu a praktickeho testu.

Zkouška je ve stylu zkousky z C++, 10 otazek, trestni body za spatnou odpoved a za chybejici spravnou odpoved. 8 otazek na A B C D [E [F ...] ], 2 jednoduche procedury.

Bodování (2012):

  • 0-2 trestny bod - za 1
  • 3-5 trestne body - za 2
  • 6-8 trestne body - za 3


Linky


Otázky

Následující otázky jsou z prvního termínu v lednu 2008. V roce 2009 byly údajně dost podobné (otázky na klíčová slova a typu "co vypíše program").

  1. Ktera klicova slova (viz web Sunu) nejsou v jave:
    • try
    • namespace
    • do
    • main
    • ...
  2. Ktere modifikatory nejsou v Jave:
    • volatile
    • public
    • transient
    • ....
  3. Co vypíše následující program?
    Integer i1 = new Integer(1);
    Integer i2 = new Integer(1);

    if (i1 == i2)
      System.out.println("ANO");
    else
      System.out.println("NE");
    • ANO
    • NE
    • Nejde prelozit
  4. Program
    int[] a, b[];
    • A definuje jeden skalar a jedno pole intu
    • B nejde prelozit
    • C jedno 1-dim pole a jedno 2 dim pole
  5. Program
    int[] pole={1,2,3};
    System.out.println(pole[3]);
    • A nejde prelozit protoze spatne definovane pole
    • B probehle v poradku
    • C nejde prelozit protoze chybi deklarace vyjimky
    • D umre na vyjimce v prubehu programu
  6. Jak lze zjistit velikost pole definovaného následujícím příkazem:
    String[] sarray = new String[10];
    • A sarray.length
    • B sarray.length()
    • C sarray.size
    • D sarray.size()
  7. Co vypíše následující program?
    class A {
      public static void foo() {
        System.out.println("foo");
      }
    }

    class B extends A {
      public static void foo() {
        System.out.println("bar");
      }
    }

    main:
    A a = new A();
    A b = new B();

    a.foo();
    b.foo();
    • A foo bar
    • B foo foo
    • C nejde prelozit
    • D bar bar
  8. Co vypise nasledujici kus kodu:
    class Test {
      boolean b;
      public static void main(String[] args) {
         Test t = new Test();
      }
      
      Test() {
         if (b)
           System.out.println("true");
         else
           System.out.println("false");
      }
      
    }
    • nelze prelozit
    • true
    • false
    • lze prelozit, stane se neco jineho
  9. Naprogramujte: V main vytvorete vlakno, ktere vypise "TEXT" a spustte ho.
  10. Naprogramujte metodu numberOfStudentsWithName() pro následující třídu:
    class Student {
      String firstname;
      String surname;
      public static int numberOfStudentsWithName(Student[] array, int numberOfStudents, String firstName)
    }
    kde array je pole studentu, numberOfStudents je pocet studentu v poli. Procedura vraci pocet studentu se jmenem firstName.