1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {; static public void m2() {; void abstract m3(); default static void m4() {; a) Poprawnie zadeklarowano metodę m1() b) Poprawnie zadeklarowano metodę m2() c) Poprawnie zadeklarowano metodę m3() d) Poprawnie zadeklarowano metodę m4()
2. Co można powiedzieć o poniższym kodzie? package lecture; public interface I { void m(); package other; import lecture.i; public interface J extends I { public void m(); package lecture; import other.j; public class A implements J { @Override public void m() { a) Jego kompilacja zakończy się błędem (w interfejsie J zwiększono dostępność metody m()) b) Jego kompilacja zakończy się błędem (niepoprawna deklaracja: J extends I) c) Jego kompilacja zakończy się błędem (zła implementacja klasy A) d) Jego kompilacja przebiegnie bez przeszkód
3. Co można powiedzieć o poniższym kodzie? public interface I { public default Integer m1() {return 1; public default int m2() {return 1; public static Integer m3() { return Integer.parseInt("1"); a) Jego kompilacja zakończy się błędem (źle zadeklarowana metodę m1()) b) Jego kompilacja zakończy się błędem (źle zadeklarowana metodę m3()) c) Jego kompilacja zakończy się błędem (za dużo metod z modyfikatorem default) d) Jego kompilacja przebiegnie bez przeszkód
4. Co można powiedzieć o poniższym kodzie? public interface I { public static void m1() { System.out.println("I::m1"); public class A implements I { @Override public void m() { System.out.println("A::m"); public static void main(string[] args) { new A().m1(); a) Jego kompilacja zakończy się błędem (źle zadeklarowana metodę m() w klasie A) b) Jego kompilacja zakończy się błędem (źle zadeklarowana metodę m1() w interfejsie I) c) Jego kompilacja zakończy się błędem (źle wywołano metodę m1() w metodzie main) d) Jego kompilacja przebiegnie bez przeszkód
5. Co można powiedzieć o poniższym kodzie? interface I { public Integer m(string s, I i); public class A implements I { @Override public Integer m(string s, I i) { return Integer.parseInt(s)+i.m("2", i); // 1 public static void main(string[] args) { A a = new A(); System.out.println(a.m("1", a::m)); // 2 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Po jego kompilacji i uruchomieniu metody main na ekranie pojawi się 3 d) Po jego kompilacji i uruchomieniu metody main zostanie wyrzucony wyjątek
6. Co można powiedzieć o poniższym kodzie? import java.util.function.bifunction; interface I { abstract public int m(string s, A a); public void n1(i i) { System.out.println(i.m("A",this)); public void n2(bifunction<string,a,integer> i) { System.out.println(i.apply("A",this)); public static void main(string[] args) { A a = new A(); a.n1( (x,y) -> 1); // 1 a.n2( (x,y) -> 1); // 2 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja i uruchomienie metody main przebiegną poprawnie d) Po jego kompilacji i uruchomieniu metody main zostanie wyrzucony wyjątek
7. Co można powiedzieć o poniższym kodzie? interface I { public static int n(string s) { return s.length(); interface J { public static int n(string s) { return s.indexof("1"); public static void main(string[] args) { A a = new A(); System.out.println(a.<I>m("012")); // 1 System.out.println(a.<J>m("012")); // 2 public <T> int m(string s) { T t; return T.n(s); // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja i uruchomienie metody main przebiegną poprawnie
8. Które z narzędzi służy do tworzenia minimalnego środowiska uruchomieniowego aplikacji Java? a) jmod b) jlink c) jar d) jdist
9. Co można powiedzieć o poniższym kodzie? class B { int i = 1; class BB extends B { int ii = 2; class BBB extends BB { int iii = 3; class BBBB<T> extends BBB { T t; int iiii = 3; public static void m(bbbb<? super BB> b) { System.out.println(b.i+b.ii); // 1 public static void main(string[] args) { m(new BBBB<BBB>()); // 2 m(new BBBB<B>()); // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja i uruchomienie metody main przebiegną poprawnie
10. Co można powiedzieć o poniższym kodzie? public static void m(b b1, B b2) { b1.i+b2.i; // 1 public static void main(string[] args) { m(new B(), new A.B()); // 2 static class B { // 3 int i; a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja i uruchomienie metody main przebiegną poprawnie
11. Co można powiedzieć o poniższym kodzie? int i = 0, j = 0; et1: while (i < 2) { ++i; et2: for (; j < 3;) { System.out.print(" " + i + " " + j); while (j < 2) { j++; if (i == 1) break et1; else continue et2; a) Po jego poprawnej kompilacji i uruchomieniu na ekranie pojawi się wiersz: 1 0 b) Po jego poprawnej kompilacji i uruchomieniu na ekranie pojawią się wiersz z powtarzającymi się: 1 0... c) Po jego poprawnej kompilacji i uruchomieniu na ekranie pojawi się wiersz: 1 0 1 1 1 2 d) Jego kompilacja zakończy się błędem
12. Co można powiedzieć o poniższym kodzie? class P { public int x; public String s; public static void m(p p) { System.out.println(p.x+p.s); public static void main(string[] args) { P p = {1, "1"; m(p); a) Jego kompilacja zakończy się błędem w metodzie main b) Jego kompilacja zakończy się błędem w metodzie m c) Po jego kompilacji i uruchomieniu metody main na ekranie pojawi się: 11 d) Po jego kompilacji i uruchomieniu metody main na ekranie pojawi się: 2
13. Co można powiedzieć o poniższym kodzie? enum E { public E1(), E2(10); private int i = 0; E() {; E(int i) { this.i = i; public static void main(string[] args) { E e = E.E1; switch (e) { case E1: System.out.println("E1"); break; case E2: System.out.println("E2"); break; a) Jego kompilacja zakończy się błędem (źle zaimplementowana instrukcja switch) b) Jego kompilacja zakończy się błędem (nie można tworzyć wielu konstruktorów w typie wyliczeniowym) c) Jego kompilacja zakończy się błędem (nie można używać modyfikatorów dostępu przy stałych deklarowanych w typie wyliczeniowym) d) Jego kompilacja i uruchomienie metody main przebiegnie poprawnie
14. Co można powiedzieć o poniższym kodzie? class E1 extends Exception { class E2 extends Exception { public static void m() throws Exception {// 1 try { n(); catch (E1 E2 e) { e = new E1(); throw e; // 2 public static void n() throws E1, E2 { // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja przebiegnie poprawnie
15. Co można powiedzieć o poniższym kodzie? class E1 extends Exception { class E2 extends E1 { // 1 class B extends A { public void m() throws E2 {; // 2 public void m() throws E1 { // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja przebiegnie poprawnie
16. Co można powiedzieć o poniższym kodzie? public abstract class A {// 1 public static void main(string[] args) { A a = new B(); // 2 class B extends A { // 3 a) Aby jego kompilacja przebiegła poprawnie należy dodać modyfikator abstract w linii 3 b) Aby jego kompilacja przebiegła poprawnie należy usunąć modyfikator abstract w linii 1 c) Jego kompilacja przebiegnie poprawnie d) Jego kompilacja zakończy się błędem w linii 2
17. Co można powiedzieć o poniższym kodzie? import java.io.objectoutputstream; class E extends Exception { public static void main(string[] args) { try { ObjectOutputStream o = new ObjectOutputStream("out.bin"); o.writeobject(new E()); catch (Exception e) { a) Jego kompilacja zakończy się błędem (nie można zapisywać wyjątku do strumienia obiektów) b) Jego kompilacja zakończy się błędem (źle utworzono strumień do zapisu obiektów) c) Jego kompilacja zakończy się błędem (w bloku try-catch nie wychwycono wszystkich wyjątków) d) Jego kompilacja przebiegnie poprawnie
18. Co można powiedzieć o poniższym kodzie? import java.util.arrays; import java.util.stream.intstream; public static void main(string[] args) { int tab[] = new int[] {0, 1, 2; IntStream.range(0, 5). foreach(x -> { tab[x % 3] = x + 2 * x; ); System.out.println(Arrays.toString(tab)); a) Po jego kompilacji i uruchomieniu metody main na ekranie pojawi się: [9, 12, 6] b) Po jego kompilacji i uruchomieniu metody main na ekranie pojawi się: [6, 9, 12] c) Po jego kompilacji i uruchomieniu metody main na ekranie pojawi się: [9, 12, 15] d) Jego kompilacja zakończy się błędem
19. Co można powiedzieć o poniższym kodzie? class W extends Thread { public void run() { try { w2.join(); catch (InterruptedException e) { void start() { w1.start(); private W w1 = new W(), w2 = new W(); public static void main(string[] args) { new A().start(); a) Po jego kompilacji i uruchomieniu metody main powstanie program działający bez końca b) Po jego kompilacji i uruchomieniu metody main powstanie program, który zaraz zakończy działanie c) Po jego kompilacji i uruchomieniu metody main wyrzucony zostanie wyjątek i program zakończy działanie d) Jego kompilacja zakończy się błędem
20. Co można powiedzieć o poniższym kodzie? class W extends Thread { public void run() throws InterruptedException { Thread.sleep(1000); public static void main(string[] args) { new W().run(); a) Po jego kompilacji i uruchomieniu metody main powstanie program działający bez końca b) Po jego kompilacji i uruchomieniu metody main powstanie program, który zaraz zakończy działanie c) Jego kompilacja zakończy się błędem w klasie W d) Jego kompilacja zakończy się błędem w klasie A
21. Która z metod klasy DatagramPacket służy do pobrania numeru portu? a) port() b) findport() c) recieveport() d) getport()
22. Co można powiedzieć o poniższym kodzie? import java.net.*; public static String receive() throws Exception { DatagramSocket ds = new DatagramSocket(1024+1); byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf, 1024); ds.receive(dp); ds.close(); return new String(dp.getData(), 0, dp.getlength()); public static void main(string[] args) throws Exception { System.out.println(receive()); a) Po kompilacji i uruchomieniu metody main powstanie program, który jeśli nie otrzyma pakietu danych zakończy swoje działanie (wypisując na ekranie pusty ciąg znaków) b) Po kompilacji i uruchomieniu metody main powstanie program, który zakończy działanie dopiero po otrzymaniu pakietu danych (wypisując na ekranie zawartość tego pakietu) c) Jego kompilacja zakończy się błędem w metodzie receive d) Jego kompilacja zakończy się błędem w metodzie main
23. Które z poleceń nie zapewni skompilowania wszystkich źródeł projektu i umieszczenia skompilowanych klas w podkatalogach katalogu bin odpowiednio do zadeklarowanych pakietów? package lecture; C c; package lecture; public class C { package other; public class B { a) E:\Projekt01> javac -d bin src/lecture/*.java src/other/*.java b) E:\Projekt01> javac -sourcepath src/lecture;src/other -classpath bin -d bin *.java c) E:\Projekt01> javac -sourcepath src -classpath bin -d bin src/lecture/a.java src/other/*.java d) E:\Projekt01> javac -sourcepath src/lecture;src/other -classpath bin -d bin *.java
24. Która z metod służy do zadeklarowania rozmiaru i położenia komponentu Swing? a) setconstraints b) setsize c) setbounds d) setdimention
25. Co można powiedzieć o poniższym kodzie? static class A { public void m() { class A { public static void main(string[] args) { new A.A().m(); a) Jego kompilacja zakończy się błędem (nie można definiować klas zagnieżdżonych i wewnętrznych o takich samych nazwach jak klasa zewnętrzna) b) Jeśli zdanie a) jest fałszywe, to wywołanie metody m w metodzie main i tak jest niepoprawne c) Jego kompilacja przebiegnie poprawnie, ale po uruchomieniu metody main zostanie wyrzucony wyjątek d) Jego kompilacja i uruchomienie metody main przebiegną poprawnie
26. Co można powiedzieć o poniższym kodzie? import java.io.ioexception; import java.net.*; static SocketFactory sf = SocketFactory.getDefault(); // 1 public static void setfactory() throws IOException{ Socket.setSocketImplFactory((SocketImplFactory) sf); // 2 ServerSocket.setSocketFactory((SocketImplFactory) sf); // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jest kompilacja przebiegnie poprawnie
27. Które z poniższych należą do zastrzeżonych, ale nieużywanych słów kluczowych języka Java? a) union b) assert c) const d) goto
28. Co można powiedzieć o poniższym kodzie? void m(int a) { int m(string s){return Integer.parseInt(s); String m(int a){ return Integer.toString(a); a) Jego kompilacja nie powiedzie się (nieobsłużony wyjątek NumberFormatException) b) Jego kompilacja nie powiedzie się (złe przeciążenie metody m) c) Jego kompilacja nie powiedzie się (zła konwersja z int do String) d) Jego kompilacja przebiegnie poprawnie
29. Co będzie wynikiem wykonania poniższego kodu? URL obj = new URL("http://www.pwr.edu.pl/index.dhtml"); System.out.print(obj.getHost()); a) www.pwr.edu.pl b) pwr.edu.pl c) http://www.pwr.edu.pl/index.dhtml d) 156.17.193.247
30. Co można powiedzieć o poniższym kodzie? class B extends A { public static void n(a... a){ // 1 public static void main(string[] args) { B[] ab = new B[2]; A a = new A(); n(ab); // 2 n(a,a); // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja i uruchomienie metody main przebiegnie poprawnie