wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

GrilePJ

Total questions: 21

Worksheet time: 11mins

Name
Class
Date
1.

Precizați efectul liniilor de cod de mai jos.

public record Punct(int x, int y) {}

class MainApp {

public static void main(String[] args) {

Punct p1 = new Punct(1,2);

Punct p2 = new Punct(1,2);

if(p1.equals(p2)) System.out.println("Egale");

else System.out.println("Diferite");

System.out.println(p1.x() + " " + p1.y()); } }

a)

Codul va produce eroare de compilare pentru că tipul record nu există în Java, trebuia creată o clasă

b)

Codul va produce eroare de compilare pentru că variabilele x și y sunt accesate în mod eronat

c)

Se va afișa mesajul Egale pe ecran, urmat de valorile 1, 2

d)

Codul determină eroare de compilare pentru că se apelează metoda equals pe care record-ul Punct nu o are

e)

Se va afișa mesajul Diferite pe ecran pentru că referințele celor două obiecte sunt diferite

2.

Se consideră clasa Test cu codul de mai jos.

class Test { int x = 014;

void metoda() { this.x = 3; } }

class MainApp {

public static void main(String[] args) {

Test t = new Test();

t.metoda();

System.out.println(t.x); } }

a)

Va determina eroare de compilare pentru că variabila x neavând modificator de acces este privată și deci inaccesibilă din clasa MainApp

b)

Va afișa 017 pe ecran

c)

Va afișa 17 pe ecran

d)

Va afișa 15 pe ecran

3.

O clasă abstractă poate fi:

a)

Extinsă doar de o clasă normală

b)

Extinsă doar de o clasă abstractă

c)

Extinsă de o clasă abstractă sau de o clasă normală

d)

Extinsă doar de o interfață

4.

Precizați efectul următoarei secvențe:

String s = "ABCDE";

s.toLowerCase();

System.out.println(s[1]);

a)

Va genera eroare de compilare

b)

Va afișa litera b pe ecran

c)

Va afișa litera B pe ecran

d)

Va afișa ABCDE pe ecran

5.

Precizați ce va afișa secvența:

class Clasa1 { private static int x, y;

public Clasa1(int x, int y) {

this.x = x; this.y = y; }

public int getX() { return x;

} public int getY() { return y;

} }

class MainClass { public static void main(String[] args)

{ Clasa1 ob1 = new Clasa1(1,2);

Clasa1 ob2 = new Clasa1(3,4);

int xc = ob1.getX() + ob2.getX(); int yc = ob1.getY() + ob2.getY();

System.out.println(xc + " " + yc); } }

a)

2 4

b)

6 8

c)

4 8

d)

1 2

6.

Alegeți afirmația corectă cu privire la următoarele linii de cod:

float f = 3.4444;

System.out.printf("%.2f", f);

a)

Încercări de a inițializa o variabilă de tip float cu o valoare de tip double

b)

Secvența va genera eroare de compilare datorită apelului funcției printf

c)

Secvența va afișa 3.44 pe ecran

d)

Secvența va genera eroare de compilare datorită utilizării incorecte a funcției printf

7.

Se considera clasele:

class Personal { String nume; public Personal() { nume = "Danut"; } }

class Inginer extends Personal {}

class MainApp { public static void main(String[] args)

{ Inginer ing = new Inginer();

System.out.println(ing.nume); } }

a)

Va afișa null pe ecran

b)

Va afișa numele Danut pe ecran

c)

Numele va fi inițializat de clasa de bază

d)

Variabila nume este declarată, numele nefiind accesibil din clasa Inginer

8.

Se consideră clasele imbricate de mai jos:

class ClasaExterioara { int a = 3; class ClasaInterioara { int b = 4;

public void afisare() {

System.out.println("a=" + a + ", b=" + b); } } }

a)

Într-o altă clasă nu se poate declara obiect de tipul ClasaInterioara

b)

Într-o altă clasă se poate declara obiect de tip ClasaExterioara.ClasaInterioara

c)

Clasa interioară nu se poate declara obiect de tip ClasaExterioara.ClasaInterioara()

d)

Într-o altă clasă se poate declara obiect de tip ClasaExterioara o1 = new ClasaExterioara();

e)

Variabila a nu poate fi accesată din ClasaInterioara pentru că este privată

9.

Precizați ce va afișa următorul program:

class SuperClasa { protected int a; private int x;

public SuperClasa() { a = 2; x = calcul(); }

public int calcul() { return a * 3; }

public String toString() { return a + ", " + x; } }

class SubClasa extends SuperClasa { private int y; public SubClasa() { y = calcul();

} public int calcul() { return a + 4; }

public String toString() { return super.toString() + ", " + y; } }

class MainApp { public static void main(String[] args) { SubClasa ob = new SubClasa();

System.out.println(ob); } }

a)

2,8,4

b)

2,4,2

c)

2,8,8

d)

3,4,4

e)

0,0,0

10.

Selectați modul corect de declarare și instanțiere a unei colecții de tip Set care poate stoca valori unice:

a)

TreeSet<Integer> lista = new Set<>();

b)

Set<Integer> lista = new HashSet<>();

c)

Set<Integer> lista = new TreeSet<>();

d)

Set<Integer> lista = new Set<Integer>();

e)

Set<Integer> lista = new Set<>();

11.

Relația de moștenire dintre bean-urile Spring se realizează:

a)

Cu ajutorul atributului child al tagului bean

b)

Cu ajutorul atributului inheritance al tagului bean

c)

Cu ajutorul atributului extends al tagului bean

d)

Cu ajutorul atributului parent al tagului bean

12.

Selectați afirmația corectă cu privire la codul de mai jos:

public interface Interfata { int x = 1; public void metoda(); } class Implementare implements Interfata { public void metoda() { x++; } } class MainApp { public static void main(String[] args) { Interfata i = new Implementare(); i.metoda(); System.out.println(i.x); } }

a)

Câmpul x nu este accesibil în linia 3 a funcției main

b)

Câmpul x nu este accesibil în funcția numită metoda() din clasa Implementare

c)

Va afișa valoarea 2 pe ecran

d)

Va afișa valoarea 1 pe ecran

e)

Implementarea nu este permisă

13.

Precizați ce va afișa secvența de mai jos:

Vector v = new Vector();

for (int i = 0; i < 8; i++) { v.add(i); }

System.out.println(v.capacity());

a)

7

b)

1024

c)

10

d)

100

e)

8

14.

Care va fi valoarea variabilei a dupa executarea liniilor de cod de mai jos:

int a=3;

a>>>1;

a)

2

b)

1

c)

9

d)

linia de cod e gresita si va da eroare de compilare

15.

Precizați care este efectul următoarei secvențe:

List<String> lista = List.of("Arad", "Timisoara");

lista.add("Ineu");

lista.forEach(System.out::println);

a)

Se va afișa Arad, Timisoara, Ineu în consola

b)

Se va afișa Arad, Ineu, Timisoara în consola

c)

Codul va produce eroare de compilare pentru că List.of nu permite modificări

d)

Codul va produce eroare pentru că nu este permisă adăugarea unei noi referințe la List

e)

Codul va produce excepție pentru că nu pot fi adăugate referințe folosind System.out::println

16.

Precizați efectul rulării secvenței:

int[][] tab = new int[3][];

tab[0] = new int[2];

tab[1] = new int[3];

tab[2] = new int[4];

System.out.println(tab.length);

a)

Va produce eroare de compilare pentru că operatorul length nu există

b)

Va produce excepție ArrayIndexOutOfBoundsException

c)

Se va afișa 3 pe ecran

d)

Va produce eroare de compilare deoarece vectorul trebuie declarat: int tab[3];

17.

Precizați efectul rulării secvenței:

Integer a = new Integer(4);

int b = 3;

System.out.println(a + b);

a)

4

b)

7

c)

3

d)
  • Va genera eroare de compilare datorită încercării de a atribui o valoare primitivă

  • c) Va afișa 7 pe ecran

18.

Se consideră un proiect web dinamic creat pe baza arhetipului maven-archetype-webapp. Configurarea proiectului se realizează cu ajutorul fișierului:

a)

web.xml

b)

server.xml

c)

pom.xml

d)

Oricărei fișier XML creat în proiect

19.

Se consideră clasa Persoana cu variabilele membre private inițializate și metoda toString. Precizați efectul următorului lanț de cod:

lista.stream() .map(Persoana::getVarsta)

.filter(p -> p.getVarsta() < 20)

.findFirst()

.ifPresentOrElse(System.out::println,

() -> System.out.println("Nici o persoana"));

a)

Afișează numele și vârsta primei persoane care are sub 20 de ani sau mesajul "Nici o persoana"

b)

Codul de conținutul listei nu este specificat

c)

Afișează vârsta primei persoane care are sub 20 de ani, sau mesajul "Nici o persoana", în funcție de conținut

d)

Condiția de filtrare este scrisă greșit în contextul actual și va produce eroare de compilare

20.

Precizați ce va afișa secvența:

int[] a = {4, 5, 6};

int[] b = {1, 2, 3};

b = a; a[0] = 5;

System.out.println("a[0]=" + a[0] + " b[0]=" + b[0]);

a)

a[0] = 5 b[0] = 4

b)

a[0] = 5 b[0] = 5

c)

Va genera eroare de compilare, atribuirea b = a nefiind permisă

d)

a[0] = 5 b[0] = 1

21.

Precizați cum va rula secvența:

class MainApp { static void afiseaza(var vector) {

for (Integer x : vector) { System.out.println(x); } }

public static void main(String[] args) { int[] a = {4, 3, 2};

afiseaza(a); } }

a)

Secvența va afișa valorile 4, 3, 2 pe ecran

b)

Secvența va produce eroare de compilare datorită utilizării necorespunzătoare a lui var

c)

Secvența va afișa valorile 0, 1, 2 pe ecran

d)

Secvența va produce eroare de compilare datorită utilizării necorespunzătoare a lui static