ОО2/К 2022 — разлика између измена
Ред 19: | Ред 19: | ||
public class Main { | public class Main { | ||
public static void main(String[] args) { | public static void main(String[] args) { | ||
int[] niz1 = new int[] | int[] niz1 = new int[] {0, 1, 2}; | ||
int[] niz2 = new int[ni1.lenght]; | int[] niz2 = new int[ni1.lenght]; | ||
int i = niz2.lenght; | int i = niz2.lenght; |
Верзија на датум 4. јун 2022. у 15:28
Колоквијум 2022. на РТИ (и осталим ЕР одсецима) одржан је 17. арпила. До области дошли су увод, преглед, класе, пакети, извођење, интерфејси, изузеци и угњеждени типови на програмском језику Java.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. задатак
Која од следећих тврђења су тачна? (JDK = Java Development Kit, JRE = Java Runtime Environment, JVM = Java Virtual Machine)
- JDK је саставни део JVM
- JVM је саставни део JRE
- JRE је саставни део JDK
- JRE је саставни део JVM
- JDK је саставни део JRE
2. задатак
Шта исписује следећи програмски код на језику Јава? За програм који не се преводи унети -1. За програм са грешком у извршавању унети -2.
public class Main {
public static void main(String[] args) {
int[] niz1 = new int[] {0, 1, 2};
int[] niz2 = new int[ni1.lenght];
int i = niz2.lenght;
for(int x : niz1){
niz2[--i]=x;
}
for(int x : niz2){
System.out.print(x);
}
}
}
Одговор: 210
3. задатак
Које од следећих тврдњи су тачне за појам конструктора на програмском језику Јава?
- Тело конструктора се извршава пре иницијализације нестатичких поља (атрибута) објеката.
- Могуће је дефинисати конструктор са више параметара
- Аутоматски уграђен (имплицитни) конструктор јавне класе је јаван.
- Могуће је дефинисати конструктор без параметара
- Могуће је специфицирати тип повртане вредности (тип резултата) конструктора
4. задатак
Дат је следећи део кода на програмском језику Јава.
class B {
B b1;
static B b2;
public void f() {
B b3;
}
public static void main(String args[]) {
new B();
}
}
Која од следећих тврђења су тачна?
Изабрати један или више одговора:
- Наредбом B b3; се ствара објекат класе B.
- Тек по стварању објекта класе B поље b2 добија вредност null.
- По стварању објекта класе B поље b1 добија вредност null.
- Програмски код се не преводи, јер класа B не може да има дефинисано поље сопственог типа.
- Променљива b3 типа B није иницијализована.
5. задатак
Које тврдње су тачне за пакете на програмском језику Јава?
- Могуће је да код једног пакета буде распоређен у више датотека.
- Уколико пакет A и пакет B садрже име типа X могуће је у исту датотеку увести све типове из пакета A и све типове из пакета B наредбама import A.*; import B.*;.
- У једној датотеци може да буде дефинисано више класа које припадају различитим пакетима.
- Пакети се користе за групсиање логички повезаних интерфејса и класа.
- Пакет java.lang се увози имплицитно.
6. задатак
Које од следећих тврдњи су тачне за програмски језик Јава?
Изабрати један или више одговора:
- Могу да се стварају објекти класе означени модификатором final.
- Сви чланови класе која је означена модификатором final имплицитно постају final.
- Ако се сви методи класе означе модификатором final, то је потпуно исто као да је класа означена модификатором final.
- Класа java.lang.Object је означена модификатором final.
- Класа може да буде означена модификатором final чиме се проглашава коначном и спречава њено проширивање.
7. задатак
Којим програмским кодом се може заменити део кода означен са ###
да би се дати изборни код написан на програмском језику Јава успешно превео?
class B{}
public class D extends B{
public D() {
####
}
public static void main(String[] arg){}
}
Изаберите један или више одговора:
super();
Object o = super;
String s = super.super.toString();
B b = (B) super;
String s = super.toString();
8. задатак
Шта исписује следећи програмски код на језику Јава? Уписати 0 ако се код не преводи.
Interface A{ default void m(){System.out.println("A.m()");}}
Interface B{ default void m(){System.out.println("B.m()");}}
public class X implements A, B {
public void m(){System.out.println("X.m()");}
public static void main(String args[]) {
X x = new X();
x.m();
}
}
Одговор: X.m()
9. задатак
Које од следећих тврдњи су тачне за програмски језик Јава?
Изаберите један или више одговора:
- Изузеци на језику Јава су искључиво објекти класних типова.
- Објекти класе Throwable садрже ниску која служи да се њом опише одговарајућа изузетна ситуација.
- Изузеци на језику Јава могу да буду примитивних типова.
- Сви типови изузетака морају да буду изведени из класе Exception или њених поткласа.
- Сви типови изузетака морају да буду из класе Throwable или њених поткласа.
10. задатак
Које од следећих тврдњи су тачне за програмски језик Јава?
Изаберите један или више одговора:
- У дефиницији циља ламбда израза користи се функцијски интерфејс.
- Ламбда израз описује тело метода аутоматски генерисане анонимне класе која имплементира интерфејс које декларише искључиво једна апстрактна класа.
- Ламдба израз описује тело метода аутоматски генерисане анонимне класе која проширује апстрактну класу која декларише искључиво један апстрактни метод.
- На месту дефинисања ламбда израза врши се његово израчинавање.
- Аутоматски генерисана анонимна класа ламбда израза имплицитно проширује класу java.lang.Lambda.