ОО2/К 2023 — разлика између измена
(Dodat 8. zadatak) |
м (Formatiranje) |
||
| Ред 6: | Ред 6: | ||
Којом командом се следећи програмски код написан у фајлу са именом "Pozdrav.java" преводи и креира бајткод "Pozdrav.class"? | Којом командом се следећи програмски код написан у фајлу са именом "Pozdrav.java" преводи и креира бајткод "Pozdrav.class"? | ||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
//Pozdrav.java | // Pozdrav.java | ||
public class Pozdrav { | public class Pozdrav { | ||
public static void main(String[] args) { | public static void main(String[] args) { | ||
| Ред 14: | Ред 14: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<div class="abc-list" data-solution="single"> | <div class="abc-list" data-solution="single"> | ||
# java Pozdrav | # <code>java Pozdrav</code> | ||
# java Pozdrav.java | # <code>java Pozdrav.java</code> | ||
# < | # <code class="solution">javac Pozdrav.java</code> | ||
# javac Pozdrav.class | # <code>javac Pozdrav.class</code> | ||
</div> | </div> | ||
== 2. zadatak == | == 2. zadatak == | ||
Која од следећих тврђења су тачна за програмски језик ''Java''? | Која од следећих тврђења су тачна за програмски језик ''Java''? | ||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
# <span class="solution"> | # <span class="solution"><code>goto</code> је резервисана реч и не може се користити за име променљиве.</span> | ||
# | # <code>foreach</code> је резервисана реч и користи се у инструкцији петље за обилазак свих елемената низа. | ||
# <span class="solution"> | # <span class="solution"><code>final</code> је резервисана реч и не може се користити за име променљиве.</span> | ||
# <span class="solution"> | # <span class="solution"><code>const</code> је резервисана реч и не може се користити за име променљиве.</span> | ||
# | # <code>const</code> је резервисана реч која може да се користи алтернативно са резервисаном речју <code>final</code>. | ||
</div> | </div> | ||
== 3. zadatak == | == 3. zadatak == | ||
Не узимајући у обзир угњеждене и обухватајуће (спољашње) класе, спојити наведене модификаторе права приступа са њиховим одговарајућим описом на програмском језику ''Java''? | Не узимајући у обзир угњеждене и обухватајуће (спољашње) класе, спојити наведене модификаторе права приступа са њиховим одговарајућим описом на програмском језику ''Java''? | ||
<div class="abc-list" data-solution="select" data-options=" | <div class="abc-list" data-solution="select" data-options="Члан је доступан само у коду датог пакета, Члан је доступан само у класи у којој је дефинисан, Члан је доступан на свим местима на којима се може приступити и типу у којем је члан дефинисан, Члан је доступан само у изведеним поткласама и коду целог пакета у којем се налази класа у којој је члан дефинисан"> | ||
# (без модификатора, подразумевано) <span class="spoiler">Члан је доступан само у коду датог пакета | # (без модификатора, подразумевано) <span class="spoiler">Члан је доступан само у коду датог пакета</span> | ||
# private <span class="spoiler">Члан је доступан само у класи у којој је | # <code>private</code> <span class="spoiler">Члан је доступан само у класи у којој је дефинисан</span> | ||
# public <span class="spoiler">Члан је доступан на свим местима на којима се може приступити и типу у којем је члан дефинисан | # <code>public</code> <span class="spoiler">Члан је доступан на свим местима на којима се може приступити и типу у којем је члан дефинисан</span> | ||
# protected <span class="spoiler">Члан је доступан само у изведеним поткласама и коду целог пакета у којем се налази класа у којој је члан дефинисан | # <code>protected</code> <span class="spoiler">Члан је доступан само у изведеним поткласама и коду целог пакета у којем се налази класа у којој је члан дефинисан</span> | ||
</div> | </div> | ||
== 4. zadatak == | == 4. zadatak == | ||
Која од следећих тврђења су тачна за кључну реч | Која од следећих тврђења су тачна за кључну реч <code>this</code> на програмском језику ''Java''? | ||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
# <span class="solution">Може да се користи за позив другог конструктора исте класе.</span> | # <span class="solution">Може да се користи за позив другог конструктора исте класе.</span> | ||
| Ред 52: | Ред 48: | ||
# <span class="solution">Представља референцу на објекат коме се управо приступа.</span> | # <span class="solution">Представља референцу на објекат коме се управо приступа.</span> | ||
</div> | </div> | ||
== 5. zadatak == | == 5. zadatak == | ||
Која од следећих тврђења су тачна на програмском језику ''Java''? | Која од следећих тврђења су тачна на програмском језику ''Java''? | ||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
# <span class="solution">У неком фајлу са изворним кодом једног програма може да постоји декларација | # <span class="solution">У неком фајлу са изворним кодом једног програма може да постоји декларација <code>package p.sp;</code> иако ни у једном фајлу истог програма не постоји декларација <code>package p;</code></span> | ||
# <span class="solution">Могуће је дефинисати тип | # <span class="solution">Могуће је дефинисати тип <code>А</code> у пакету <code>p</code> уколико је истоимени тип већ дефинисан у пакету <code>p.sp</code>.</span> | ||
# Уколико постоје пакети | # Уколико постоје пакети <code>p</code> и <code>p.sp</code> увођењем свих чланова пакета <code>p</code> наредбом <code>import p.*;</code> уводе се и сви чланови пакета <code>p.sp</code>. | ||
# <span class="solution">Типови | # <span class="solution">Типови података у изворној датотеци без декларације пакета биће смештани у безимени (''default'') пакет.</span> | ||
#Могуће је приступити члану са пакетски правом приступа класе | # Могуће је приступити члану са пакетски правом приступа класе <code>А</code> дефинисане у пакету <code>p</code> из метода класе <code>В</code> дефинисане у пакету <code>p.sp</code>. | ||
</div> | </div> | ||
== 6. zadatak == | == 6. zadatak == | ||
Шта исписује следећи програм на | Шта исписује следећи програм на програмском језику ''Java''? Уписати '''NP''' ако се програм не преводи. | ||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
class B { | class B { | ||
| Ред 87: | Ред 83: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Odgovor: <span class="spoiler" data-solution="text">11</span> | '''Odgovor:''' <span class="spoiler" data-solution="text">11</span> | ||
Objašnjenje: <span class="spoiler" data-solution="explanation">Ovde se primenjuje overloading, a ne overriding.</span> | '''Objašnjenje:''' <span class="spoiler" data-solution="explanation">Ovde se primenjuje ''overloading'', a ne ''overriding''.</span> | ||
== 7. zadatak == | == 7. zadatak == | ||
Шта исписује следећи програм на | Шта исписује следећи програм на програмском језику ''Java''? Уписати '''NP''' ако се програм не преводи. | ||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
interface I { | interface I { | ||
| Ред 124: | Ред 120: | ||
За сваки од следећих програма на језику ''Java'' навести да ли се преводи или не. | За сваки од следећих програма на језику ''Java'' навести да ли се преводи или не. | ||
<div class="abc-list" data-solution="select" data-options=" | <div class="abc-list" data-solution="select" data-options="Преводи се, Не преводи се"> | ||
# <syntaxhighlight lang="java"> | # <syntaxhighlight lang="java"> | ||
public class Main { | public class Main { | ||
| Ред 160: | Ред 156: | ||
== 9. zadatak == | == 9. zadatak == | ||
Које дефиниције угњеждених типова на језику ''Java'' су исправне? | Које дефиниције угњеждених типова на језику ''Java'' су исправне? | ||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
# < | # <syntaxhighlight lang="java" inline class="solution">static class C {}</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="java" inline class="solution">abstract class C {}</syntaxhighlight> | ||
# local class C {} | # <syntaxhighlight lang="java" inline>local class C {}</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="java" inline class="solution">class C {}</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="java" inline class="solution">final class C {}</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="java" inline class="solution">static interface I {}</syntaxhighlight> | ||
# | # <syntaxhighlight lang="java" inline>anonymous class {}</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="java" inline class="solution">interface I {}</syntaxhighlight> | ||
</div> | </div> | ||
== 10. zadatak == | == 10. zadatak == | ||
Шта може да стоји уместо ### да би следећи код написан на језику ''Java'' успешно превео? | Шта може да стоји уместо ### да би се следећи код написан на језику ''Java'' успешно превео? | ||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
interface I { | interface I { | ||
| Ред 189: | Ред 183: | ||
<div class="abc-list" data-solution="multiple"> | <div class="abc-list" data-solution="multiple"> | ||
# <syntaxhighlight lang="java">I c = (double a) -> a + b;</syntaxhighlight> | # <syntaxhighlight lang="java" inline>I c = (double a) -> a + b;</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="java" inline class="solution">I c = (int a) -> a + b;</syntaxhighlight> | ||
# < | # <syntaxhighlight lang="java" inline class="solution">I c = (int a) -> {a*a; return a;}</syntaxhighlight> | ||
# <syntaxhighlight lang="java">I c = (int a) -> {b--; return a + b;}</syntaxhighlight> | # <syntaxhighlight lang="java" inline>I c = (int a) -> {b--; return a + b;}</syntaxhighlight> | ||
# <syntaxhighlight lang="java">I c = (int a) -> { double r = a + b; return r;}</syntaxhighlight> | # <syntaxhighlight lang="java" inline>I c = (int a) -> { double r = a + b; return r;}</syntaxhighlight> | ||
[[Категорија:Рокови]] | [[Категорија:Рокови]] | ||
[[Категорија:ОО2]] | [[Категорија:ОО2]] | ||
Верзија на датум 24. април 2023. у 13:56
Колоквијум 2023. godine на РТИ (и осталим ЕР одсецима) одржан је 22. арпила У 9:15 часова (постојала је само једна група). Од области дошли су увод, преглед, класе, пакети, извођење, интерфејси, изузеци и угњеждени типови на програмском језику Java.
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. zadatak
Којом командом се следећи програмски код написан у фајлу са именом "Pozdrav.java" преводи и креира бајткод "Pozdrav.class"?
// Pozdrav.java
public class Pozdrav {
public static void main(String[] args) {
System.out.print("Zdravo!");
}
}
java Pozdravjava Pozdrav.javajavac Pozdrav.javajavac Pozdrav.class
2. zadatak
Која од следећих тврђења су тачна за програмски језик Java?
gotoје резервисана реч и не може се користити за име променљиве.foreachје резервисана реч и користи се у инструкцији петље за обилазак свих елемената низа.finalје резервисана реч и не може се користити за име променљиве.constје резервисана реч и не може се користити за име променљиве.constје резервисана реч која може да се користи алтернативно са резервисаном речјуfinal.
3. zadatak
Не узимајући у обзир угњеждене и обухватајуће (спољашње) класе, спојити наведене модификаторе права приступа са њиховим одговарајућим описом на програмском језику Java?
- (без модификатора, подразумевано) Члан је доступан само у коду датог пакета
privateЧлан је доступан само у класи у којој је дефинисанpublicЧлан је доступан на свим местима на којима се може приступити и типу у којем је члан дефинисанprotectedЧлан је доступан само у изведеним поткласама и коду целог пакета у којем се налази класа у којој је члан дефинисан
4. zadatak
Која од следећих тврђења су тачна за кључну реч this на програмском језику Java?
- Може да се користи за позив другог конструктора исте класе.
- Може да се проследи као ствaрни аргумент неком методу.
- Користи се имплицитно (без навођења) као референца на текући објекат приликом директног именовања нестатичких чланова класе.
- Може да се користи као референца унутар статичких метода.
- Представља референцу на објекат коме се управо приступа.
5. zadatak
Која од следећих тврђења су тачна на програмском језику Java?
- У неком фајлу са изворним кодом једног програма може да постоји декларација
package p.sp;иако ни у једном фајлу истог програма не постоји декларацијаpackage p; - Могуће је дефинисати тип
Ау пакетуpуколико је истоимени тип већ дефинисан у пакетуp.sp. - Уколико постоје пакети
pиp.spувођењем свих чланова пакетаpнаредбомimport p.*;уводе се и сви чланови пакетаp.sp. - Типови података у изворној датотеци без декларације пакета биће смештани у безимени (default) пакет.
- Могуће је приступити члану са пакетски правом приступа класе
Адефинисане у пакетуpиз метода класеВдефинисане у пакетуp.sp.
6. zadatak
Шта исписује следећи програм на програмском језику Java? Уписати NP ако се програм не преводи.
class B {
public void f(B x) {
System.out.println(1);
}
}
class D extends B {
public void f(D x) {
System.out.println(2);
}
}
public class Test {
public static void main(String args[]) {
B b = new B();
b.f(new D());
b = new D();
b.f(new D());
}
}
Odgovor: 11
Objašnjenje: Ovde se primenjuje overloading, a ne overriding.
7. zadatak
Шта исписује следећи програм на програмском језику Java? Уписати NP ако се програм не преводи.
interface I {
static void f() {
System.out.println(1);
}
}
class B {
public void f() {
System.out.println(2);
}
}
class D extends B implements I {
public D() {
I.f();
f();
}
}
public class Test {
public static void main(String args[]) {
new D();
}
}
Odgovor: 12
8. zadatak
За сваки од следећих програма на језику Java навести да ли се преводи или не.
- Не преводи се
public class Main { public static void f() { throw new Exception(); } public static void main(String args[]) { f(); } }
- Не преводи се
public class Main { public static void f() { throw new Exception(); } public static void main(String args[]) { try { f(); } catch (Exception e) {} } }
- Преводи се
public class Main { public static void main(String args[]) { try { throw new Exception(); } catch (Exception e) {} } }
9. zadatak
Које дефиниције угњеждених типова на језику Java су исправне?
static class C {}abstract class C {}local class C {}class C {}final class C {}static interface I {}anonymous class {}interface I {}
10. zadatak
Шта може да стоји уместо ### да би се следећи код написан на језику Java успешно превео?
interface I {
int f(int a);
}
public class Test {
public static void main(String args[]) {
int b = 3;
###
}
}
I c = (double a) -> a + b;I c = (int a) -> a + b;I c = (int a) -> {a*a; return a;}I c = (int a) -> {b--; return a + b;}I c = (int a) -> { double r = a + b; return r;}