Вы находитесь на странице: 1из 39

Examen Curs 1 (programator Java)

1. Programul Witch trebuie să ruleze când se execută un fișier de clasă Java?


a. compilatorul Java
b. mașina virtuală Java
c. JVM sau emulator echivalent
d. decompresia borcanului
e. nici un raspuns

2. Care va fi valoarea lui x, y, z după executarea următorului loc de cod?


int x = 2;
int y = 2;
int z = (((x++) + (++y)) > 5 && ((x++)+y) < 10) ? 1: 0;
a. x: 3, y: 4, z: 1
b. x: 3, y: 3, z: 0
c. x: 4, y: 4, z: 1
d. x: 5, y: 5, z: 1
e. x: 4, y: 3, z: 1
f. x: 2, y: 2, z: 0
g. nici un raspuns

3. Care este cel mai mic tip de date Java care va stoca corect valoarea 135?
a. mic de statura
b. boolean
c. pluti
d. octet
e. lung
f. nici un raspuns
4. Când o clasă Java publică este stocată într-un fișier cod sursă Java, ce trebuie să fie adevărat
despre numele fișierului sursă în raport cu numele clasei?
a. numele trebuie să fie aceleași, dar majusculele sunt irelevante b. numele trebuie să
înceapă cu aceeași literă
c. numele trebuie să fie diferite
d. numele trebuie să se potrivească exact, inclusiv majuscule
e. nici un raspuns

5. Ce platformă Java este dedicată dispozitivelor portabile care au resurse limitate?


a. Java XE
b. Java EE
c. Java ME
d. Java SE
e. nici un raspuns

6. Cum trebuie să fie reprezentat un literal String în codul sursă Java?


a. încadrat în „ (ghilimele duble)
b. închis fie între „ (ghilimele duble) fie „ (ghilimele simple)
c. închis în ` (ghilimele din spate)
d. închis în „ (ghilimele simple)
e. nici un raspuns
7. Ce instrumente sunt necesare pentru crearea și rularea unui program Java? (alege trei)

a. Windows 98 sau o versiune ulterioară

Pagină1 din
39
b. un JVM
c. un compilator
d. un editor
câte un interpret DOS

8. Care dintre următoarele sunt caractere literale valide? (alege doua)

a. „E”
b. „\u000E”
c. „\u000E”
d. „000E”
e. „\u0x0045”

9. Având în vedere următoarea declarație de variabilă String s = „O anumită valoare”; ce este


stocat în locația de memorie la care se referă variabila s?
a. caracterul S (primul caracter din șir)
b. o modalitate de a ajunge la locația în care este stocat șirul Some Value
c. lista de caractere care compun șirul
d. caracterul „ (primul caracter din șir)
e. nici un raspuns

10. Care dintre următoarele sunt folosite pentru a instrui un program să efectueze calcule
matematice sau să testeze date?
a. operatori
b. punctuaţie
c. Cuvinte cheie
d. identificatori
e. nici un raspuns

11. Ce instrumente folosește un IDE care sunt, de asemenea, folosite la crearea unui program
Java din linia de comandă? (alege doua)
a. prompt de comandă
b. javac
c. blocnotes
d. interfata grafica cu utilizatorul
e. JVM
12. Care dintre următoarele interpretează codul octet în limbajul specific al mașinii?

a. JVM
b. compilator Java
c. compilator bytecode
d. Cod sursă Java
e. nici un raspuns

13. Dacă un programator are nevoie de compilatorul Java, ce software trebuie să instaleze?

a. un IDE precum NetBeans sau Eclipse, deoarece compilatorul Java este o parte a unui
IDE, nu o componentă separată
b. JDK
c. nimic; Java este independent de platformă, prin urmare compilatorul este inclus implicit
în orice sistem de operare
d. JRE
e. nici un raspuns

14. Care dintre următoarele NU este un tip de date Java primate?


a. boolean
b. int
c. Şir

Pagină2 din
39
d. char
e. pluti
f. nici un raspuns
15. Care dintre următoarele programe utilitare JDK este folosită pentru a compila un fișier cod
sursă Java în bytecode?
a. borcan
b. javadoc
c. java
d. javac
e. nici un raspuns

16. Care este sufixul unui fișier de cod de octeți Java?


a. .jvm
b. .TXT
c. .java
d. .clasă
e. .cls
f. nici un raspuns
17. Care dintre următoarele sarcini va fi compilată corect? (alege doua)
a. char c = '\u0020';
b. scurt s = 70000;
c. boolean b = 0;
d. lung L = 12L;
e. float f = 1,2;
18. Java Virtual Machine (JVM) traduce și execută cod care este stocat în ce tip de fișiere?
a. fișiere .javac
b. fișiere .java
c. .fișiere de clasă
d. fișiere .code
e. nici un raspuns

19. Ce se va întâmpla când un programator Java a compilat cu succes o clasă Java numită Test
folosind linia de comandă și apoi lansează următoarea comandă?
java Test.class
Să presupunem că fișierul cod octet se află în directorul curent.
a. va fi afișată o eroare, deoarece numele unei clase nu ar trebui să înceapă cu o literă
mare
b. clasa va rula cu succes
c. va fi afișată o eroare, deoarece extensia .class nu ar fi trebuit să fie specificată ca parte
a comenzii
d. va fi afișată o eroare, deoarece extensia fișierului ar trebui să fie .java în loc de . clasă
atunci când rulează o clasă Java
e. nici un raspuns

Pagină3 din
39
20. Ce trebuie să conțină o definiție de clasă Java pentru a putea rula?
a. un nume de clasă care începe cu o literă mică
b. o funcție start().
c. cel puțin o expresie care implică operatori
d. cel puțin o definiție de variabilă
e. o funcție main() cu o anumită semnătură
f. nici un raspuns
21. Care dintre următoarele expresii va produce o valoare de tip String? (alege trei)
A. 5+6+7
b. 5+”6"+7
c. 5+6+'7'
d. 5+6+”7"
e. 5+'"'+7
f. 5+(6+”7”)
22. Care dintre următoarele NU sunt literale întregi Java valide în Java versiunea 7 și mai sus?
(alege doua)
A. „10001
b. 0b1001 c.10_01
d. 0x1001
e. -1001
f. 0e1001
23. Care dintre următoarele este partea independentă de mașină utilizată în execuția unui
program Java?
a. javac.exe
b. JVM
c. bytecode
d. browser web
e. nici un raspuns

24. Care secvență descrie cel mai bine pașii fizici făcuți de programator pentru a produce un

a. Scrieți programul
Compilați programul
Rulați programul
b. Scrieți programul
Traduceți în codul nativ
Compilați codul octet
Rulați programul
e. nici un raspuns

c. Scrieți programul
Compilați în bytecode
Traduceți în codul nativ
Rulați programul
d. Scrieți programul
Compilați în bytecode
Rulați programul

program Java care rulează?


25. Ce tip de date Java poate stoca o literă, cifră sau semn de punctuație, dar este perceput ca
numeric de către compilator și JVM?
a. octet
b. boolean
c. Şir

Pagină4 din
39
d. char
e. nici un raspuns
26. O clasă Java trebuie să poată fi executată. Care dintre următoarele elemente sunt incluse în
semnătura funcției care trebuie introdusă în definiția clasei? (alege trei)
A. static b. public c. finala d. gol e. privat f. int

Examen Curs 2 (programator Java)


1. Care dintre următoarele este un tip de date index valid pentru accesarea membrilor unei
matrice?
a. dubla
b. boolean
c. int
d. Şir
e. nici un raspuns

2. Ce trebuie să fie adevărat despre lungimea unui obiect matrice odată ce acesta a fost
instanțiat?
a. lungimea unui tablou este variabilă, în funcție de nevoile programului
b. lungimea unui tablou este un atribut final numai pentru citire care nu poate fi modificat
c. lungimea unui tablou este determinată în timpul execuției programului, după ce obiectul
matrice a fost creat
d. lungimea unei matrice depinde de cantitatea de memorie disponibilă
e. nici un raspuns

3. Care declarație va crea o matrice de tip pf double care va conține numerele 5.2, 7.0 și -2.5?

a. listă dublă[] = [5,2, 7,0, -2,5]


b. listă dublă[3] = {5,2, 7,0, -2,5}
c. double[] list = array(5.2, 7.0, -2.5)
d. listă dublă[] = {5,2, 7,0, -2,5}
e. nici un raspuns

4. Ce se întâmplă când este creată o matrice de obiecte?

a. tabloul conține obiecte de tipul specific inițializate la nul sau 0


b. tabloul conține obiecte de tipul specific creat anterior în program
c. tabloul conține referințe la obiecte de tipul specificat create mai devreme în program
d. tabloul conține locații pentru referințe la obiecte de tipul specificat
e. nici un raspuns

5. Folosind declarația matricei de mai jos, care este valoarea t.length ?

int[][] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};

a. 4
b. 12

c. 1
d. 3
e nici un raspuns

6. Care termen se referă la stocarea valorilor într-o matrice?

Pagină5 din
39
a. anularea
b. polimorfizarea
c. postare
d. populând
e. nici un raspuns

7. Ce este combinat cu un identificator de matrice pentru a furniza o referință la un singur element


al matricei?

a. valoare primitivă
b. valoarea indicelui
c. valoarea matricei
d. valoare variabilă
e. nici un raspuns

8. Ce va returna Arrays.copyOfRange(t, 1, 3) dacă tabloul t are definiția de mai jos?

char[] t = {'a', 'b', 'c', 'd', 'e'};

a. o matrice care contine a si b


b. o matrice care contine c si d
c. o matrice care contine b si c
d. o matrice care conține b, c și d
e. nici un raspuns

9. Luați în considerare codul atașat. Ce este conținut în fiecare element al matricei atunci când
instrucțiunile sunt executate?

clasa WhatIsStored
{
public static void main(Șir s[ ])
{
numere int[];
numere = new int[2];
}
}

a. 0
b. 2
c. \u000
d. 2.0
e. nici un raspuns

10. Care dintre următoarele structuri de control al fluxului Java ar putea fi utilizată pentru a
executa în mod repetat un bloc de instrucțiuni? (alege trei)

a. face în timp ce
b. in timp ce
c. pentru
d. dacă
e. intrerupator

11. Având în vedere declarațiile de matrice de mai jos, care dintre următoarele atribuții va fi
compilată corect și nu va produce erori de rulare? (alege trei)
int[] a = {3, 1, 7};
int[][] b = {{1, 5}, {6}, {3, 0}};
int[][][] c = {{{1, 2}, {3}}, {{4}}, nul, {{5,6}, nul}}};

a. c[2][1] = b[2];
b. c[2] = b;
c. c[0][a[1]] = b[c.lungime/2];

Pagină6 din
39
d. b[1] = a[2];
e. b[1] = a;
f. c[0][0] = a[1];

12. De câte ori se va executa următoarea buclă?

int i = 2;
do{
i+=i;
}while ( i < 10 );

a. 2
b. 0
c. 3
d. 4
e. 1
f. nici un raspuns

13. Cum poate fi extinsă o matrice Java numită arr care este deja plină pentru a găzdui un nou
element?
a. odată creat, o matrice Java nu poate fi extinsă
b. arr.length++;
c. Arrays.extend(arr, arr.length, arr.length+1);
d. doar atribuiți noua valoare a variabilei arr[arr.lengrth+1]
e. nici un raspuns

14. Care este indexul ultimului element dintr-o matrice?

a. numărul care este specificat ca ultimul element


b. dimensiunea matricei minus unu
c. dimensiunea matricei
d. indexul asupra numărului de octeți utilizați de fiecare element
e. nici un raspuns

15. Care dintre următoarele valori ar putea fi utilizate pentru inițializarea variabilei c pentru ca
următorul cod să se afișeze „I love Java”? (alege doua)
i nt a = 6;
int b = 9;
int c = ?;
dacă (ac<0){
if(bc>0) System.out.println(„Îmi place Java”);
else System.out.println(„Îmi place mai mult C++”);
} altfel {
System.out.println(„…dar întotdeauna există PHP…”);
}

a. 9
b. 7
c. 10
d. 6.9
e. 8
16. Care dintre următoarele sunt adevărate în ceea ce privește secțiunile instrucțiunii for în Java?
(alege trei)
pentru (secțiunea 1; secțiunea 2; secțiunea 3){ }
a. secțiunea 3 este executată la începutul fiecărei iterații
b. secțiunea 1 este executată o dată
c. secțiunea 1 este executată la începutul fiecărei iterații
d. secțiunea 2 este evaluată la începutul fiecărei iterații

Pagină7 din
39
e. secțiunea 3 este executată la sfârșitul fiecărei iterații
f. secțiunea 2 este evaluată la sfârșitul fiecărei iterații
17. Ce se afișează când programul este rulat?
Clasa publică ArrayTest
{
public static void main( String s[] )
{
int intArray[] = {0, 4, 2, 5, 3};
char charArray[] = {'H', 'B', 'R', '2'};
double dbArray[] = {3.4, 4.5, 2.0, 5.3, 3.1, 8.2, 9.0};
System.out.println(„Ieșirea este: „ + dbArray[intArray[2]] +
intArray[charArray[3]]);
}
}

A. este aruncată excepția „ArrayIndexOutOfBoundsException”.


18. Care este elementul de la indexul 3 din matricea de caractere?

'H' ‘0' 'A' ‘5’ ‘3'

a. ‘3’
b. 'H'
c. 'A'
d. ‘5’
e. nici un raspuns

19. Când se utilizează switch(expr) în Java >=7, tipul de date al expr poate fi oricare dintre
următoarele, CU EXCEPȚIA:
a. octet
b. lung
c. mic de statura
d. Şir
e. int
f. char
g. nici un raspuns
20. Care este rezultatul afișat din programul afișat?

Pagină8 din
39
A. 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, b. 1.0, 4.0, 9.0, 16.0, 25.0, 36.0, c. 1.0, 2.0, 3.0, 4.0, 5.0,
6.0, d. 4.0, 8.0, 12.0, 16.0, 20.0, 24.0, e. nici un raspuns

Examen Curs 3 (programator Java)


1. Care dintre următoarele sunt adevărate despre constructorul clasei? (alege trei)
a. nu poate fi supraîncărcat
b. numele său trebuie să se potrivească exact cu numele clasei
c. trebuie să aibă un tip de returnare nulă
d. o clasă conține întotdeauna un constructor, chiar dacă programatorul nu oferă unul e.
are întotdeauna argumente, deoarece trebuie folosit pentru inițializarea atributelor
f. este apelat automat de mașina virtuală la instanțierea unui obiect
2. Care dintre următoarele descrie procesul de ascundere a informațiilor unui obiect?
a. încapsulare
b. întunecarea
c. constructie
d. mutaţie
e. instanțierea
3. Vă rugăm să alegeți răspunsul care se potrivește nivelului acmes fiecărui membru al clasei cu
descrierea corectă:
a. membrul clasei este accesibil numai metodelor clasei
b. membrul clasei este accesibil numai claselor cu același nume ca și clasa care îl declară
c. membrul clasei este accesibil numai claselor din același pachet ca și clasa care îl
declară
d. accesul la membrul clasei este nerestricționat
1. public 3. privat
2. Mod implicit 4. protejat
a. 1-d, 2-c, 3-a, 4-c
Pagină9 din
39
b. 1-a, 2-b, 3-c, 4-d
c. 1-d, 2-c, 3-a, 4-b
d. 1-d, 2-c, 3-a, 4-a
e. nici un raspuns

4. Care termen se referă la datele pe care le conține un obiect?


a. atribut
b. nivel de acces
c. modificator
d. metodă
e. nici un raspuns

5. Care termen descrie o entitate rezidentă în memorie care conține atât date, cât și instrucțiuni,
datele care pot fi manipulate?
a. obiect
b. atribut
c. încapsulare
d. clasă
e. metodă
f. tip de date
g. nici un raspuns

6. Care dintre următoarele descrie cel mai bine scopul unei metode mutatoare?
a. un mutator este o metodă obiect pentru a crea și returna un nou obiect de același tip
b. un mutator permite programatorului să supraîncarce un comportament de clasă
c. un mutator permite programatorului să schimbe referința obiectului la alt obiect la
același tip de date
d. un mutator oferă o modalitate standard și sigură de a schimba valoarea unui atribut al
unui obiect
e. nici un raspuns

7. Care dintre următoarele sunt adevărate despre atributele conținute într-o definiție de clasă?
(alege trei)
a. atunci când accesați un atribut din afara definiției sale de clasă, trebuie utilizată sintaxa
reference.attributeName
b. contractantul este singura modalitate de a inițializa atributele
c. atributele pot fi întotdeauna accesate din afara definiției lor de clasă, având în vedere că
există o referință la un obiect de clasă
d. atributele pot fi accesate din interiorul metodelor lor de clasă folosind modificatori
de acces
e. atributele de clasă pot fi făcute inaccesibile pentru metodele de clasă folosind
modificatori de acces
f. fiecare obiect are propriul set (copie) de atribute ale clasei
8. Care dintre următoarele sunt beneficiile încapsulării? (alege doua)
a. încapsularea elimină necesitatea metodelor getter și setter, minimizând astfel numărul
de metode pe care trebuie să le aibă o clasă
b. datele obiectului pot fi păstrate valide ascunzându-le în obiect și validând orice date
primite folosind metode
c. programatorul unei clase poate crea mai multe metode cu același nume în aceeași
clasă
d. programatorul o clasă poate schimba implementarea internă a clasei atâta timp cât
membrii săi accesibili public rămân și acționează la fel
9. Care termen descrie ce pot face obiectele?
a. atribut
b. tip de date
Pagină10 din
39
c. metodă
d. modificator de acces
e. calificativ
f. nici un raspuns
10. Care dintre următoarele NU este o modalitate validă de a apela constructorul implicit al unei
clase Java numită Test?
a. direct, de la alt constructor al clasei Test, folosind this()
b. indirect, din afara testului de clasă, prin instanțierea unui obiect folosind noua Test()
c. direct, din afara clasei Test, folosind sintaxa t1.Test(), unde t1 este o referință la un
obiect de tip Test
d. indirect, prin instanțierea unui obiect în interiorul unei metode dintr-o clasă Test, folosind
new Test()
e. nici un raspuns

11. Ce perechi de semnătură de metodă arată metode supraîncărcate corect? (alege doua)
a. float calcAnswer(int numA, float numB)
float calcResult(int numA, float numB
b. float calcResult(float numA, int numB, int numC)
int calcResult(float numA, int numB)
c. float calcResult(int numA, float numB)
int calcResult(int numB, float numC)
d. float doSomething (int numA)
float doSomething (număr boolean)
12. Care dintre următoarele descrie cel mai bine conceptul de încapsulare în limbaje orientate pe
obiecte?
a. un colector de gunoi distruge toate obiectele care nu mai sunt referite și le încapsulează
pe măsură ce sunt distruse
b. metodele de manipulare a datelor sunt furnizate în clasă împreună cu datele, astfel
încât datele sunt manipulate într-o manieră previzibilă
c. datele sunt disponibile gratuit; aplicația nu are dificultăți în accesarea datelor de
care are nevoie
d. o metodă poate fi scrisă în mai multe moduri în aceeași clasă atâta timp cât semnătura
este diferită
e. nici un raspuns

13. Ce este adevărat despre definiția de mai jos? (alege trei)


void f(car…c){
//corpul metodei
}

a. metoda poate fi apelată cu 1 sau mai multe argumente de diferite tipuri de date; primul
argument trebuie să fie de tip char
b. această definiție este valabilă doar începând cu Java 5
c. în interiorul metodei, variabila c va fi o matrice
d. dacă nu sunt furnizate argumente la apelarea metodei, c va avea o valoare nulă în
interiorul metodei
e. metoda poate fi apelată cu 0 sau mai multe argumente de tip char
f. metoda poate fi apelată cu 0 sau mai multe argumente de diferite tipuri de date; cel puțin
unul dintre ele trebuie să fie de tip char
14. Ce se cere de la valoarea returnată de instrucțiunile returnate ale unei metode?
a. trebuie să fie compatibil cu asignarea cu tipul de returnare din definiția metodei
b. trebuie să fie unul dintre argumentele transmise metodei

Pagină11 din
39
c. trebuie să se potrivească cu lista de argumente
d. trebuie să aibă același nume de variabilă ca și argumentele
e. nici un raspuns

15. Care dintre următoarele sunt cuvinte cheie Java care acționează ca modificatori de acces și
pot fi folosite în definiția unui membru al clasei? (alege trei)
a. Mod implicit
b. public
c. privat
d. global
e. uzual
f. protejat
16. Având în vedere următoarea definiție a clasei, alegeți răspunsul care arată definițiile corecte
ale getters și setters pentru atributele clasei:

clasa USImmigrant{
Nume șir;
terorist boolean;
}

a. public void getName()


public void este terorist()
public void setNume(Șir n)
set public voidTerrorist(boolean b)
b. public void getName(Șir n)
public void este terorist (boolean b)
public String setName(Șir n)
set boolean publicTerrorist(boolean b)
c. public String getName(Șir n)
public boolean getTerrorist(boolean b)
public String setName(Șir n)
set boolean publicTerrorist(boolean b)
d. public boolean getName()
public boolean isTerrorist()
public String setName(boolean n)
set boolean publicTerrorist(Șir t)
e. public String getName()
public boolean isTerrorist()
public void setName(Șir n)
set public voidTerrorist(boolean b)
f. nici un raspuns
17. Cum se poate șterge un obiect creat în Java?

a. prin apelarea manuală a metodei finalize() a obiectului


b. de colectorul de gunoi Java
c. prin utilizarea unui destructor de clasă
d. Obiectele Java sunt distruse numai atunci când există aplicația
e. nici un raspuns

18. Care dintre următoarele sunt considerate a fi membri ai unei clase Java? (alege doua)

a. metode
b. atribute
c. calificative
d. argumente
Pagină12 din
39
e. tipuri de returnare
f. modificatori

19. Care este motivul pentru scrierea unei metode supraîncărcate?

a. pentru a oferi utilizatorului metodei moduri alternative de a apela metoda în funcție de


tipul de date pe care utilizatorul dorește să furnizeze metoda
b. pentru a permite utilizatorului metoda o modalitate de a schimba numele argumentelor
atunci când apelează metoda
c. pentru a permite ca aceeași sarcină să fie numită cu nume diferite
d. pentru a oferi o modalitate pentru aceeași metodă de a returna o varietate de
tipuri de date
e. nici un raspuns

20. Având în vedere următoarea bucată de cod, cum poate fi invocată method2() pe linia 3?
(alege doua)

Examen Curs 1 (programator Java).......................................................................................................1


Examen Curs 2 (programator Java).......................................................................................................5
Examen Curs 3 (programator Java)...................................................................................................9
Examen Curs 4 (programator Java).................................................................................................14
Examen Curs 5 (programator Java).................................................................................................19
Examen Curs 6 (programator Java).................................................................................................24
Examen Curs 7 (programator Java).................................................................................................31

a. Methods.method2()
b. aceasta->metod2()
c. metoda 2()
d. aceasta.metoda2()
e. metoda1().metoda2()

21. Având în vedere definiția metodei de mai jos, ce tip de date poate returna programatorul din
metodă?
lung f(){
//corpul metodei
}

a. doar lung
b. octet, scurt, int, lung, boolean, șir
c. octet, scurt, int, lung, char
d. orice tip numeric primitiv
e. nici un raspuns

22. Ce este o clasă?


a. un identificator de obiect
b. specificarea unui nou tip de date
c. o referință la obiect
d. o instanță specifică a unui obiect
e. nici un raspuns

23. Procesul de creare a unui obiect bazat pe o definiție de clasă se numește:


a. încapsulare
b. controlul accesului
c. instanțierea
d. supraîncărcare

Pagină13 din
39
e. colectarea gunoiului
f. nici un raspuns
24. Ce va afișa următorul cod când este executat?
test de clasă{
int x;
metoda void1(int x){
x=8;
metoda2(aceasta.x);
}

void metoda2(int x){ x++;


}

public static void main(String[] s)


{
Test t = nou Test();
t.metod1(4);
System.out.println(tx);
}
}

a. 0
b. 9
c. 1
d. 8
e. 4
f. nici un raspuns
25. Ce TREBUIE să aibă toate definițiile metodelor?
a. un cuantificator și un tip de returnare
b. un nume și un argument
c. un nume, un tip de returnare și o listă de argumente
d. un nume și un tip de returnare
e. un calificativ și un argument
f. nici un raspuns

Examen Curs 4 (programator Java)

1. Care dintre următoarele sunt adevărate despre atributul maxLength of class Întrebarea de mai
jos? (alege trei).
Întrebare de clasă{
public static int maxLength;
}

a. fiecare obiect al clasei propriul atribut maxLength


b. trebuie să fi fost inițializat când a fost declarat, prin urmare codul de mai sus nu se va
compila
c. va fi creat atunci când clasa Întrebare este încărcată de mașina virtuală
d. este accesibil tuturor obiectelor clasei Întrebare
e. va fi creat atunci când este creat primul obiect al clasei Întrebare
f. poate fi accesat folosind sintaxa Question.maxLength
2. Având în vedere următorul șir:
String s = „unu doi trei”;
care dintre următoarele bucăți de cod produc un rezultat diferit de șirul inițial?

Pagină14 din
39
a. String[] ss s.split(“ “);
System.out.println(ss[1]);
b. System.out.println(s.replace(„unu”,””).replace(„trei”,””));
c. System.out.println(s.substring(4,6));
d. Scanner sc = scaner(e) nou(e);
sc.next();
System.out.println(sc.next());
e. System.out.println(s.substring(s.indexOf(“ “)+1, s.lastIndexOf(“ “)));
f. nici un raspuns
3. Ce va afișa următoarea clasă la rulare?
test de clasă{
int x = f();
static int y = g();
test public(){
System.out.println(„A”);
}
int f(){
System.out.println(„B”);
întoarce 0;
}
int static g(){
System.out.println(„C”);
întoarcere 1;
}
public static void maiun(String[] s){
test nou();
}
}

a. AB
b. BCA
c. ACB
d. ABC
e. CBA
f. BA
g. nici un raspuns

4. Vă rugăm să alegeți răspunsul care se potrivește corect fiecărei clase cu descrierea sa corectă:
1. Şir
2. StringBuffer
3. StringBuilder
a. obiectele sale pot fi modificate, dar nu sunt sigure pentru fire
b. obiectele sale sunt imuabile
c. obiectele sale pot fi modificate și pot fi utilizate în siguranță în aplicații multi-thread
a. 1-b, 2-a, 3-c
b. 1-a, 2-b, 3-c
c. 1-b, 2-c, 3-a
d. 1-c, 2-b, 3-a
e. nici un raspuns

5. Alegeți răspunsul care umple corect spațiul liber:


Conținutul a __________obiectul nu poate fi modificat odată ce obiectul a fost creat.

Pagină15 din
39
a. Întreg
b. StringBuilder
c. Şir
d. StringBuffer
e. nici un raspuns

6. Care dintre următoarele sunt clase de wrapper Java? (alege trei)


a. Şir
b. Întreg
c. Char
d. boolean
e. Int
f. Caracter
7. Care dintre următoarele metode este prezentă în clasa StringBuffer, dar nu în clasa
StringBuilder?
a. Index de()
b. șterge()
c. charAt() d. lungime() e. nom răspuns
8. Care dintre următoarele sunt adevărate despre metodele statice ale unei clase? (alege trei)
a. pot accesa direct atributele de instanță ale aceleiași clase folosind aceasta
b. nu pot fi apelate din blocuri de inițializare statice
c. pot apela direct metode de instanță ale aceleiași clase folosind numele lor scurt
d. pot accesa direct membrii statici ai clasei folosind numele lor scurt
e. pot apela direct alte metode statice ale clasei folosind numele lor scurt
f. acestea pot fi apelate folosind sintaxa ClassName.methodName()

9. Ce va afișa următorul cod la rulare?

Șir s1 = „ABC”;
String s2 = new String(„ABC”);

dacă(s1==s2){
System.out.println(„A”);
}
if(s1.equals(s2)){
System.out.println(„B”);
}
if(s1.compareTo(s2)==0){
System.out.println(„C”);
}

a. ABC
b. A
c. B
d. î.Hr
e. AC
f. AB
g. C
h. nimic
i. nici un raspuns

10. Care dintre următoarele NU este adevărată despre blocurile de inițializare statică?

a. pot apela direct metode statice ale clasei folosind numele lor scurt
b. o clasă poate avea mai multe blocuri de inițializare
c. pot accesa direct membrii instanțelor clasei folosind numele lor scurt
d. atributele statice pe care le accesează un astfel de bloc trebuie declarate înaintea
instanței blocului

Pagină16 din
39
e. atunci când se utilizează blocuri de inițializare statice în aceeași clasă, ordinea lor
contează
f. nici un raspuns

11. Având în vedere următorul cod:

numere enumerate (UNUL, DOI, TREI)


clasa a{
void f(Numerele n){
swithc(n){
cazul UNU: System.out.println(„Ai unul!”);
implicit: System.out.println(n.name());
}
}
}

care dintre următoarele afirmații este adevărată?

a. codul se va compila cu succes


b. codul nu se va compila deoarece tipurile de enumerare nu pot fi folosite cu switch
c. codul nu se va compila deoarece instrucțiunea switch nu conține nicio instrucțiune break
d. codul nu se va compila deoarece cazul UNU ar fi trebuit scris case Numbers.ONE e.
codul nu se va compila deoarece tipurile de enumerare nu au o metodă name().
f. nici un raspuns

12. Ce va afișa următoarea bucată de cod când este executată?

String s = „Abracadabra”;
System.out.println(s.substring(0,5).replace('a','o').lastIndexOf('a'));

a. -1
b. 0
c. 5
d. 3
e. codul nu se va compila
f. nici un raspuns

13. În codul de mai jos, cum poate fi creat un obiect String pe baza valorii primitive int la care face
referire i? (alegeți două înlocuiri corecte pentru secvența ???)
int i = 5;
Șirul s = ??? ;

a. String.intValue(i)
b. Integer.toString(i)
c. (Șir)i
d. String.ValueOf(i)

14. Având în vedere tipul Java enumerat mai jos, care dintre următoarele afirmații este FALS?

enumerare RGB {ROȘU, VERDE, ALBASTRU}

a. clasa RGB are o metodă statică values() care returnează o matrice


b. este greșit să compari două valori RGB folosind ==. În schimb, trebuie folosită metoda
equals().
c. a doua constantă din listă poate fi accesată folosind RGB.VERDE
d. ROȘU, VERDE și ALBASTRU sunt atribute finale statice publice de tip enumerat RGB
e. RGB.BLUE.ordinal() va returna 2
f. nici un raspuns

15. În codul de mai jos, cum poate fi creat un obiect Integer pe baza obiectului String la care face
referire s? (alegeți înlocuitorul corect pentru secvența ???)
Șir s = „123”;

Pagină17 din
39
Întreg i = ??? ;

a. s.parseInt()
b. String.valueOf(s)
c. Integer.valueOf(s)
d. Integer.fromString(e)
e. nici un raspuns

16. Care dintre următoarele sunt adevărate despre constructorul unui tip enumerat Java? (alege
doua)
a. programatorul nu are voie să scrie propriul său contractor pentru o enumerare
b. un contractor scris de programator într-o enumerare trebuie să aibă privat sau
c. o enumerare are întotdeauna cel puțin un constructor
d. dacă programatorul nu scrie un constructor pentru o enumerare, compilatorul va furniza
a
e. un constructor scris de programator într-o enumerare trebuie să aibă acces public

17. În codul de mai jos, cum poate fi creată o valoare primitivă dublă pe baza obiectului String la
care face referire s? (alegeți înlocuitorul corect pentru secvența ???)
Șir s = „15,2”;
dublu d = ??? ;

a. Double.doubleValue(e)
b. Double.parseDouble(i)
c. (duble)s
d. String.valueOf(s)
e. nici un raspuns

18. Ce clasă Java conține metode statice pentru rotunjirea și trunchierea numerelor?

a. Matematică
b. Număr
c. Întreg
d. Dubla
e. nici un raspuns

19. În codul de mai jos, cum poate fi creată o valoare primitivă int pe baza obiectului Integer referit
de i? (alegeți două înlocuiri corecte pentru secvența ???)
Integer i = new Integer(8);
int x = ??? ;

a. i.intValue()
b. i
c. i.toInt()
d. Integer.toInt(i)
e. nou int(i)

20. În codul de mai jos, cum poate fi creat un obiect Integer pe baza valorii primitive i? (alegeți trei
înlocuiri corecte pentru secvența ???)
int i = 8;
Număr întreg x = ??? ;

a. Integer.parseInt(i);
b. new Integer();
c. i
d. i.intValue()
e. Integer.intValue(i)
f. Integer.valueOf(i)

21. Care dintre următoarele este adevărată despre codul de mai jos?
Pagină18 din
39
Examen Curs 1 (programator Java) 1
Examen Curs 2 (programator Java) 5
Examen Curs 3 (programator Java) 9
Examen Curs 4 (programator Java) 14
Examen Curs 5 (programator Java) 19
Examen Curs 6 (programator Java) 24
Examen Curs 7 (programator Java) 31

a. codul se va compila din cauza unei erori pe linia 2: referințele nu pot fi declarate
b. codul se va compila cu succes
c. codul nu se va compila din cauza unei erori pe linia 5: obiectul s este final și, prin
urmare, nu poate fi modificat

Pagină19 din
39
d. codul nu se va compila din cauza unei erori pe linia 4: este prea târziu pentru a inițializa
s - nu mai poate fi schimbat
e. codul nu se va compila din cauza unei erori pe linia 4: nu există un astfel de constructor
StringBuffer
d. nici un raspuns

22. Care dintre următoarele NU este adevărată despre tipul enumerat Java?

a. pot avea atribute (care trebuie declarate finale) și metode definite de programator
b. au un set de metode predefinite
c. ei constructori trebuie să aibă un nivel de acces privat sau implicit
d. ele definesc noi tipuri de date și acționează ca clase care au un set limitat de
instanțe
e. ele pot fi instanțiate în afara definiției de enumerare prin utilizarea operatorului
nou
f. nici un raspuns

23. Unde poate fi declarat tipul enumerat Java? (alege doua)

a. în afara altor clase


b. ca membru al unei clase Java
c. în interiorul unei metode a unei clase Java
d. în interiorul unei structuri de control (dacă, în timp ce etc.)

24. În codul de mai jos, cum poate fi creat un obiect String pe baza obiectului Integer referit de i?
(alegeți înlocuitorul corect pentru secvența ???)
Integer i = new Integer(8);
Șirul s = ??? ;

a. s.toString(i)
b. Integer.stringValue(i)
c. i.toString()
d. (Șir)i
e. i.stringValue()
f. nici un raspuns

Examen Curs 5 (programator Java)


1. Care dintre următoarele comenzi va rula arhiva app.jar care există în directorul curent?
(presupunem că clasa principală s-a setat corect)
a. jar -java app.jar
b. jar -f app.jar
c. java -cp app.jar
d. java -jar app.jar
e. nici un raspuns

2. Toate codurile următoare vor crea un obiect Period care încapsulează 2 ani, 4 luni și 15 zile,
CU EXCEPȚIA: (alegeți-l pe cel care nu o face).
a. Perioada p = Period.ofYears(2).ofMonths(4).ofDays(15);
b. LocalDate d1 = LocalDate.of(2016,1,1);
LocalDate d2 = LocalDate.of(2018,5,16);
Perioada p = Perioada,between(d1,d2);
c. Perioada p = Period.ofYears(2).withMonths(4).withDays(15);
d. LocalDate d1 = LocalDate.of(2016, 1, 1);
LocalDate d2 = LocalDate.of(2018,5,16);
Perioada p = d1.până la(d2);
e. Perioada p = Period,ofYears(2).plusMoths(4).plusDays(15);
Pagina 20 din 39
3. Care dintre următoarele sunt adevărate despre tipurile Month și DayOfWeek? (alege doua)

a. sunt tipuri enumerate


b. ambele au o metodă getDisplayName() care poate furniza numele lunii/zilei săptămânii
în limba dorită
c. Month.JANUARY și DayofWeek.MONDAY au ambele valoarea corespunzătoare 0
d. Month.MAY și DayOfWeek.SUNDAY sunt valori de tip int
e. fac parte din pachetul java.util

4. Care dintre următoarele caracteristici sunt stocate într-un obiect Locale ? (alege doua)

a. oraș
b. limba
c. format numeric
d. format de date
e. țară

5. Care dintre următoarele NU este un avantaj al folosirii arhivelor jar?

a. JVM-ul înțelege formatul jar, prin urmare, clasele pot fi citite direct dintr-o arhivă jar
b. utilitarul jar creează un fișier jar pentru fiecare fișier .class, reducând astfel spațiul copiat
de clase
c. formatul jar acceptă compresia fișierelor și resurselor Java, reducând astfel spațiul
ocupat și timpii de descărcare
d. o aplicație ambalată într-o arhivă jar poate fi rulată direct din arhivă, fără a o extrage mai
întâi
e. distribuție ușoară a aplicațiilor Java
f. nici un raspuns

6. JVM-ul trebuie să încarce clasa având următoarea definiție:

pachet unu.doi;
sarcină de clasă{}

Valoarea căii de clasă este „c\projects\javaclasses;d:\java\lib”. Pe care dintre următoarele fișiere


poate căuta și încărca mașina virtuală, dacă este găsit? (alege doua)
a. c:\proiecte\javaclasses\două\one\Load.class
b. d:\java\lib\two\one\Load.class
c. c:\proiecte\javaclasses\one\două\Load.class
d. c:\proiecte\javaclasses\două\one\Load.java
e. d:\java\lib\one\two\Load.class
f. d:\java\lib\one\two\Load.java

7. Care este calea reală către fișierul demo.xml dacă codul de mai jos poate găsi și afișa corect
calea către fișier? Să presupunem că valoarea setării căii de clasă este d:\java\lib.
clasa ResourceTest{
public static void main(String[] args){
System.out.println(ResourceTest.class.getResource(“/files/xml/demo.xml”));
}
}

a. d:\fișiere\mxl\demo.mxl
b. d:\java\lib\files\xml\demo.xml
c. d:\java\files\xml\demo.xml
d. calea nu poate fi determinată, deoarece depinde de locația clasei ResourceTest față de
drumul căii de clasă
e. nici un raspuns

8. Având în vedere afirmația de mai jos:


LocalDate ld = ???;
Pagină21 din
39
ce ar putea inlocui???? secvență pentru a crea un obiect care să încapsuleze data curentă?
a. LocalDate.this()
b. LocalDate.current()
c. LocalDate.present()
d. LocalDate.currentDate()
e. LocalDate.now()
f. nou LocalDate()
g. nici un raspuns

9. Care dintre următoarele arată modalitățile corecte de apelare a metodei getResource()? (alege
trei)
a. clasa FindResource{
public static void main(String[] args){
URL u = this.getClass().getResource(“/pic.jpg”);
}
}
b. Resursă de găsire a clasei{
public static void main(String[] args){
URL u = FindResource.class.getResource(“/pic.jpg”);
}
}
c. clasa FindResource{
test public void(){
URL u = this.class().getResource(“pic.jpg”);
}
}
d. clasa FindResource{
test public void(){
URL u = FindResource.getClass().getResource(“/pic.jpg”);
}
}
e. clasa FindResource{
test public void(){
URL u = FindResource.getClass().getResource(“/pic.jpg”);
}
}
f. clasa FindResource{
test public void(){
URL u = this.getClass().getResource(“/pic.jpg”);
}
}

10. Un programator Java trebuie să folosească următoarele clase într-una dintre propriile sale
clase: java.lang.Math, java.awt.Button și java.awt.event.ActionEvent. Care este setul minim de
instrucțiuni de import pe care trebuie să-l folosească la începutul fișierului?
a. import java.awt.Button; import java.awt.event.ActionEvent;
b. import java.awt.*;
c. import java.awt.*; import java.lang.*;
d. import java.lang.Math; import java.awt.event.ActionEvent;
e. import java.*;
f. nici un raspuns

Pagină22 din
39
11. Care dintre următoarele instrucțiuni va compila și crea corect un obiect LocalDateTime care
încapsulează 14 ianuarie 2016 11:23:51? (alege trei)
a. LocalDateTime.from(2016, 1, 14).with(LocalTime.of(11,23,51))
b. LocalDate.of(2016, 1, 14).until(LocalTime.of(11, 23, 52))
c. LocalDateTime.of(2016, 1, 14, 11, 23, 51)
d. LocalDate.of(2016, 1, 14).atTime(LocalTime.of(11, 23, 51))
e. nou LocalDateTime(2016, 1, 14, 11, 23, 51)
f. Year.of(2016).atMonth(Month.IANUARY).atDay(14).atTime(LocalTime.of(11, 23, 51))
12. Ce pachet Java este importat automat?
a. java.lang
b. java.util
c. java.io
d. java.sql
e. nici un raspuns

13. Ce ar trebui folosit în fișierul sursă care conține o definiție de clasă pentru a face clasa parte
dintr-un pachet?
a. o instrucțiune de import ca prima linie în interiorul constructorului de clasă
b. o instrucțiune de pachet la începutul fișierului sursă
c. numele complet al clasei la declararea clasei (clasa packageName, class{……et…..})
d. o instrucțiune de import la începutul fișierului sursă
e. nici un raspuns

14. Ce declarație de import ar trebui să scrie un programator dacă intenționează să folosească


Anul și
Clasele LocalDateTime?
a. import java.time.*;
b. import java.lang.*;
c. import java.util.*;
d. toate cele de mai sus sunt necesare;
e. nici un raspuns

15. Ce nume de metodă ar trebui să înlocuiască ??? în cod pentru a crea un nou obiect care să
încapsuleze datele 14 ianuarie 2016?
LocalDate d = LocalDate.????(2016, 1, 14);
a. la
b. cu
c. din
d. de
e. a stabilit
f. nici un raspuns

16. Având în vedere ierarhia resurselor de mai sus, care


dintre următoarele sunt valori corecte care pot fi atribuite căii
variabilei din codul de mai jos pentru a accesa fișierul
pic1.jpg? (alege doua)

clase de pachete;
Imagini de clasă{
public static void main(String[] args){
Calea șirului = ????;
URL pic1 = Images.class.getResource(cale);
a. ../classes/pictures/pic1.jpg
b. /pictures/pic1.jpg
c. poze/pic1.jpg

Pagină23 din
39
d. ../pictures/pic1.jpg
e. ../classes/pic1.jpg
f. /classes/pictures/pic1.jpg
17. Care dintre următoarele este un avantaj al utilizării pachetelor în Java?
a. minimizarea sau evitarea coliziunilor de nume
b. un membru al clasei cu nivel de acces implicit va fi ascuns pentru clase din același
pachet, dar disponibil pentru clasele din afara
ca membru al clasei cu nivel de acces protejat va fi accesibil numai în subclasele din
același pachet
d. mai puțin structurare pentru proiecte
e. nici un raspuns

18. Având în vedere o clasă numită Exemplu care face parte din pachetul test.classes , care dintre
următoarele definiții de clasă se va compila corect? (alege doua)
a. pachetul meu pachet;
clasa MyClass{
Exemplu e = nou Exemplu();
}
b. pachetul meu pachet;
clasa MyClass{
test.classes.Example e = nou Exemplu();
c. pachetul meu pachet;
import test.classes.Example;
clasa MyClass{
Exemplu e = nou Exemplu();
}
d. pachetul meu pachet;
test de import.*;
clasa MyClass{
Exemplu e = nou Exemplu();
}
e. pachetul meu pachet;
import test.classes.*;
clasa MyClass{
test.classes.Example e = nou Exemplu();
}
f. pachetul meu pachet;
test de import.clase;
clasa MyClass{
Exemplu e = nou Exemplu();
}

19. Având în vedere următorul cod:


LocalDate d = LocalDate.of( 2016, 8, 12);
String fmt = „dd ???? YYYY”;
System.out.println(d.format(DateTimeFormatter.ofPatteern(fmt)));
ce ar trebui sa inlocuiasca??? secvență pentru ca codul să afișeze numele scurt al lunii?
a. MMMM
b. M
c. MMM
d. MM
e. nici un raspuns

20. Care dintre următoarele clase ar putea fi folosită pentru stocarea unui timp de 30 de ore, 20 de
minute și 5 secunde?

Pagină24 din
39
a. LocalDateTime
b. Ora locala
c. Perioadă
d. Durată
e. nici un raspuns

21. Ce este un obiect Java Locale?

a. un obiect care conține formate de numere, formate de dată, monede etc. pentru o
anumită țară
b. un obiect care încapsulează o dată și o oră locală
c. un obiect care identifică o zonă geografică/culturală
d. un obiect care conține un grup de resurse (de ex. mesaje traduse) care depind de limbă
și țară
e. nici un raspuns

22. Având în vedere definiția clasei Java de mai jos, care dintre următoarele instrucțiuni plasate
pe linia X va face ca codul să fie compilat corect? (alege trei)
import static java.lang.Integer.*;
test de clasă{
public static void main(String[] args){
//——————————————-> linia X
}
}

a. System.out.prinln(intValue(“5”));
b. System.out.println(valueOf(MAX_VALUE));
c. System.out.println(MAX_VALUE-1);
d. System.out.println(parseInt(“16”));
e. Integer i = nou Integer(PI);
f. codul afișat conține deja o eroare și nu se va compila niciodată, indiferent de ce este pus
pe linia X

23. Având în vedere o referință la un obiect YearMonth numit ym, care dintre următoarele bucăți
de cod va produce un alt obiect YearMonth care încapsulează aceeași lună, dar trei ani mai târziu?
(alege doua)

a. Perioada p = Perioada.ofYears(3);
AnLună ym1 = ym.plus(p);
b. YearMonth ym1 = Year.plus(3).of(ym);
c. YearMonth ym1 = ym.withYears(3);
d. YearMonth ym1 = ym.plusYears(3);
e. Duration d = Duration.ofYears(3);
AnLună ym1 = ym.of(d);

24. Care dintre următoarele bucăți de cod va semna luna curentă la variabila x? (alege patru)

a. Luna x = Perioada, acum().getMonth();


b. Luna x = Duration.now().getMonth();
c. Luna x = YearMonth.now().getMonth();
d. Luna x = Year.now().getMonth();
e. Luna x = MonthDay.now().getMonth();

f. Luna x = LocalDate.now().getMonth();
g. Luna x = LocalDatetTime.now().getMonth();
h. Luna x = Month.now().getMonth();

Pagină25 din
39
Examen Curs 6 (programator Java)
1. Având în vedere setul de clase de mai jos, care dintre următoarele afirmații este o sarcină
validă?

telefon de clasă{}
clasa MobilePhone extinde telefonul{}
clasa SmartPhone extinde MobilePhone{}

a. SmartPhone s = nou MobilePhone();


b. SmartPhone s = Telefon nou();
c. Telefon mobil m = Telefon nou();
d. Phone p = nou MobilePhone(); e. nici un raspuns

2. Cum poate fi folosit cuvântul cheie super ? (alege trei)

a. pentru accesarea câmpurilor non-private ale clasei părinte din subclasă


b. pentru apelarea unui constructor al unei subclase de la un alt constructor al aceleiași
subclase
c. pentru accesarea implementării metodei părinte dintr-o implementare de subclasă în
cazul metodelor statice
d. pentru setarea celui mai permisiv nivel de acces pentru o metodă care va fi moștenită în
subclase
e. pentru apelarea constructorului părinte dintr-un constructor de subclasă
f. pentru apelarea unei implementări de metodă părinte din implementarea subclaselor
suprascrise în cazul metodelor de instanță
3. Dacă o metodă a unei clase părinte trebuie să fie accesibilă în subclase, dar nu suprascrisă în
ele, ce cuvânt cheie trebuie utilizat în definiția metodei?
a. abstract
b. privat
c. static
d. final
e. nici un raspuns

4. Având în vedere fragmentul de cod de mai jos, care dintre următoarele expresii este evaluată
ca fiind falsă pe linia X ?
clasa a{}
clasa B se extinde pe A{}
clasa C se extinde pe B{}
clasa D se extinde pe B{}

moștenire de clasă{
public static void main(String[] args){
A a = nou A();
B b = nou B();
C c = nou C();
D d = nou D();
// ------------------> linia X
}

a. c instanță de obiect
b. d exemplu de C
c. c exemplul lui B
d. o instanță a lui A
e. d exemplu de A
f. b exemplul lui A

Pagină26 din
39
g. nici un raspuns

5. Ce va afișa următoarea bucată de cod când este executată?

clasa a{
void m(){ System.out.println("A"); }
}
clasa B se extinde pe A{
void m(){ System.out.println("B"); }
}
clasa publică C se extinde pe B{
void m(){ System.out.println("C"); }
public static void main(String[] args){
B b1 = nou C();
b1.m();
}
}

a. A
b. C
c. B
d. codul nu se compila
e. nici un raspuns

6. Ce modificatori și calificatori are automat un atribut de interfață, chiar dacă programatorul nu îi


specifică în mod explicit? (alege trei)
a. final
b. tranzitoriu
c. protejat
d. abstract
e. public
f. static

7. Ce nivel de acces trebuie să aibă un membru al clasei părinte pentru a fi accesibil doar în
subclasele din același pachet?
a. Mod implicit
b. public
c. protejat
d. privat
e. nici un raspuns

8. Care dintre următoarele NU este adevărată despre o interfață java?

a. este declarat folosind interfața de cuvinte cheie


b. poate avea atribute statice
c. poate avea constructori
d. toate metodele sale sunt abstracte
e. poate fi implementat prin clase concrete sau abstracte
f. nici un raspuns

9. Având în vedere următoarele definiții de clasă care fac parte din diferite pachete, care membri
ai clasei Parent vor fi accesibile în metodele Subclasei?

// clasa Parent face parte din pachetul alpha


Parinte de clasa publica{
public int a;
private int b;
protejat int c;
int d;
}

Pagină27 din
39
// clasa Subclasa face parte din pachetul beta
clasa publică Subclasa extinde Parent{
metoda void(){
?????? // care membri ai Parent sunt accesibili aici?
}
}

a. numai a și d
b. a, b și c
c. a, c și d
d. numai a și c
e. a numai
f. numai a și b
g. nici un raspuns

10. Care dintre următoarele este adevărată despre o clasă Java abstractă?

a. se poate instanta
b. nu poate fi extins de altă clasă
c. are doar metode abstracte
d. are un constructor
e. nici un raspuns

11. Care dintre următoarele este adevărată despre fragmentul de cod de mai jos?

tricou clasa{
Dimensiunea șirului protejat;
Tricou public(String s){ marimea = s; }
}
clasa RockTShirt extinde tricoul{
Banda de coarde;
public RockTShirt(String s, String b){
dimensiune = s;
banda = b;
}
}

a. codul nu se va compila deoarece constructorului de subclasă lipsește apelul către


constructorul părinte
b. codul nu se va compila deoarece dimensiunea atributului nu este accesibilă în
cadrul subclasei
c. RockTShirt este clasa părinte a TShirt
d. codul se va compila cu succes
e. un obiect TShirt „este un” RockTShirt
f nici un raspuns

12. Având în vedere următorul set de clase, care dintre următoarele instrucțiuni este o modalitate
invalidă de a apela metoda f() pe linia X ?

telefon de clasă{}
clasa MobilePhone extinde telefonul{}
clasa SmartPhone extinde MobilePhone{}

test de clasă{
void f(Telefon mobil p){}
public static void main(String[] args){
Test t = nou Test();
MobilePhone p1 = nou MobilePhone();
SmartPhone p2 = SmartPhone nou();

Pagină28 din
39
MobilePhone p3 = nou SmartPhone();
Telefon p4 = nou MobilePhone(); tf(????????); // < linia X
}
}

a. tf(p2)
b. tf(p3)
c. tf(p4)
d. tf(p1)
e. nici un raspuns

13. Ce este adevărat despre următorul cod?

clasa router{
model String privat;
public Router(String m){ model = m; } }
clasa WirelessRouter extinde routerul{
String acceptatWirelessStandard;
public WirelessRouter(String w){ supportedWirelessStandard = w;
}}

a. codul nu se va compila deoarece o clasă părinte nu poate avea atribute private


b. codul nu se va compila deoarece constructorul subclasei trebuie să aibă cel puțin două
argumente
c. codul nu se va compila deoarece o subclasă nu are voie să declare atribute noi
d. codul nu se va compila deoarece constructorul de subclasă nu include un apel explicit
către constructorul părinte
e. codul se va compila cu succes f. nici un raspuns

14. Care dintre următoarele NU este un beneficiu al moștenirii?


a. posibilitatea de a scrie mai multe metode cu același nume în aceeași clasă
b. posibilitatea de a folosi un obiect al subclasei unde este necesar un obiect al clasei
părinte
c. reutilizarea codului
d. posibilitatea de a crea tipuri de date aferente e. nici un raspuns

Pagină29 din
39
15. Având în vedere următoarele definiții de clasă, ce metode pot fi numite pentru referința q pe
linia X ? (alege doua)

Întrebare de clasă{
public void getNumAnswers(){} }
clasa MultipleChoiceQuestion extinde Întrebare{ Răspuns public[] getCorrectAnswers(){}
public static void main(String[] args){
Întrebare q = nouă MultipleChoiceQuestion(); q. ?????? (); // < linia X
}
}

a. getNumAnswers()
b. toString()
c. este egal()
d. getCorrectAnswers()

16. Ce metodă din clasa Object trebuie să fie suprascrisă în clasa Persoană pentru ca codul de
mai jos să imprime John ?

Person p = new Person ("Ioan");


System.out.println(p);
a. este egal()
b. hashCode()
c. stringValue()
d. este egal()
e. toString() f. nici un raspuns

17. Care dintre următoarele metode din clasa Object returnează boolean ?

a. hashCode()
b. este egal()
c. toString()
d. compara cu()
e. este egal()
f. nici un raspuns

18. Care dintre următoarele sunt adevărate despre moștenirea în Java? (alege doua)

a. când o clasă extinde Object nu poate extinde nicio altă clasă


b. o clasă poate extinde mai multe clase, dar poate implementa exact o interfață
c. o clasă poate extinde doar o altă clasă, dar poate implementa mai multe interfețe
d. orice clasă Java extinde automat Object
e. o clasă părinte abstractă este implementată de subclase, nu extinsă
19. Având în vedere setul de clase de mai jos, care dintre următoarele sarcini se va compila și rula
cu succes (fără a genera o eroare de compilare sau de rulare) atunci când este inserată pe linia X?

telefon de clasă{}
clasa MobilePhone extinde telefonul{}
clasa SmartPhone extinde MobilePhone{}
Distribuții de clasă publică{
public static void main(String[] args){
Pagina 30 din 39
MobilePhone p1 = nou MobilePhone();
SmartPhone p2 = SmartPhone nou();
MobilePhone p3 = nou SmartPhone();
Telefon p4 = nou MobilePhone(); ???????????? // < linia X
}
}

a. p1 = (Telefon mobil)p2;
b. p3 = (SmartPhone)p4;
c. p4 = (SmartPhone)p1;
d. p3 = (SmartPhone)p1;
e. p2 = (Telefon mobil)p1;
f. nici un raspuns

20. Care dintre următoarele cuvinte cheie sunt folosite pentru a crea o relație „este a” între două
clase sau între o clasă și o interfață? (alege doua)
a. derivate
b. îmbunătățește
c. unelte
d. se extinde

21. Când suprascrieți o metodă dintr-o subclasă, ce diferență poate avea semnătura metodei
subclasei față de metoda părinte?
a. un nivel de acces mai permisiv
b. o listă modificată de tipuri de date argument
c. un tip de returnare „mai mare” (ex: returnează int în loc de octet)
d. alt nume de metodă
e. un tip de returnare „mai mic” (ex: returnează octet în loc de int)
f. nici un raspuns

22. Care dintre următoarele afirmații introduse pe linia X vor face ca codul de mai jos să fie
adevărat ?
clasa Pet{
Nume șir;
public boolean equals(Object o){
// ------------------------------------> linia X
}
public static void main(String[] args){
Pet p1 = nou Pet();
p1.name = "Lassie";
Pet p2 = nou Pet();
p2.name = "Lassie";
System.out.println(p1.equals(p2));
}
}

a. return this.equals((Pet)o);
b. returnează aceasta.egal(o);
c. return super.equals(o);
d. return name.equals(o.name);
e. return name.equals(((Pet)o).name);
f. return o.equals((Pet)name);
g. nici un raspuns

23. Ce modificatori și calificatori are automat o metodă de interfață, chiar dacă programatorul nu îi
specifică în mod explicit? (alege doua)

Pagină31 din
39
a. protejat
b. final
c. public
d. abstract
e. static
24. Care dintre următoarele este adevărată despre redeclararea atributelor clasei părinte în
subclase?
a. atributul din subclasă trebuie să aibă un nume (identificator) diferit de cel din clasa
părinte
b. atributul din subclasă trebuie să aibă aceeași valoare ca și cel din clasa părinte
c. atributul din subclasă trebuie să aibă același nivel de acces ca și cel din clasa părinte
d. atunci când este accesat folosind numele scurt, atributul din subclasă îl va ascunde
(umbra) pe cel din clasa părinte
e. atributul din subclasă trebuie să aibă același tip de date ca și cel din clasa părinte
f. nici un raspuns
25. Ce operator Java este folosit pentru a testa relația „este a” dintre clase?
a. instanță de
b. este_a
c. unelte
d. se extinde
e. subclasele
f. nici un raspuns

Examen Curs 7 (programator Java)


1. Vă rugăm să alegeți răspunsul care se potrivește corect cu următoarele elemente ale sistemului
de evenimente AWT/Swing cu descrierea acestora:
a. sursa evenimentului
b. obiect eveniment
c. obiect ascultător
d. interfață de ascultător
1. trebuie implementat de obiectul care se ocupă de eveniment
2. conține detalii despre interacțiunea dintre utilizator și GUI
3. este componenta care generează evenimentul
4. conține codul care este executat ca reacție la un eveniment
a. 1-d, 2-c, 3-b, 4-a
b. 1-d, 2-c, 3-a, 4-b
c. 1-a, 2-b, 3-c, 4-d
d. 1-d, 2-b, 3-a, 4-c
e. nici un raspuns

2. Care dintre următoarele NU este o componentă grafică, dar este adesea folosită ca parte a unei
GUI?
a. JTextField
b. JTable
c. ButtonGroup
d. JComboBox
3. Care dintre următoarele este un eveniment semantic?

a. KeyEvent
b. MouseEvent
c. ActionEvent
d. nici una dintre cele de mai sus
Pagină32 din
39
e. nici un raspuns

4. Câte fișiere .class va genera următorul cod atunci când este compilat?

clasa publica A{
public void f(){}
}
clasa B{
int x = 8;
void g(){
A a1 = nou A(){
public void f(){
System.out.println(x);
}
};
}
}
}

a. 2
b. 3
c. 0
d. 1
e. nici un raspuns

5. Care dintre următoarele este o metodă pe care o au toate obiectele eveniment AWT/Swing?

a. getModel()
b. getSource()
c. getActionCommand()
d. getModifiers()
e. nici un raspuns

6. Care dintre următoarele este adevărată despre fragmentul de cod de mai jos?

clasa publica A{
public void f(){}
}
clasa B{
void g(){
int x=3;
A a1 = nou A(){
public void f(){
System.out.println(x);
}
};
}
}
a. codul nu se va compila deoarece variabila locală x ar fi trebuit să fie declarată finală
b. codul nu se va compila deoarece clasele interne anonime nu pot fi create în cadrul
metodelor de clasă
c. codul nu se va compila deoarece o clasă internă nu poate accesa niciodată variabilele
locale ale metodei în care a fost declarată
d. codul se va compila cu succes
e. nici un raspuns

7. Ce este adevărat despre fragmentul de cod de mai jos?

Pagină33 din
39
clasa a{
privat int x;
clasa B{
public void f(){
x++;
}
}
}

a. codul nu se va compila deoarece metoda f() nu poate accesa o variabilă privată a clasei
exterioare
b. codul nu se va compila deoarece metoda f() poate accesa variabila x numai dacă x a
fost declarat final
c. codul se va compila cu succes
d. codul nu se va compila deoarece clasa B ar trebui declarată în afara clasei A
e. codul nu se va compila deoarece clasele interne pot fi doar anonime
f. nici un raspuns

8. Ce fel de eveniment generează un JComboBox atunci când utilizatorul selectează o valoare


diferită din lista derulantă?
a. ActionEvent
b. CaretEvent
c. DocumentEvent
d. WindowEvent
e. nici un raspuns

9. Care este clasa părinte a tuturor componentelor grafice Swing care au un comportament
asemănător unui buton?
a. AbstractButton
b. JButton
c. Buton
d. JMenuItem
e. nici un raspuns

10. Care este o caracteristică specială a JDialog în comparație cu JFrame ?


a. un JDialog poate fi redimensionat, în timp ce un JFrame nu
b. un JDialog poate avea o bară de meniu, în timp ce un JFrame nu
c. un JDialog poate fi modal, în timp ce un JFrame nu
d. JDialog este un container rădăcină, în timp ce JFrame nu este
e. nici un raspuns

11. Un grup de butoane Swing care se exclud reciproc trebuie să aibă toate aceleași:
a. grup de butoane
b. mărimea
c. aliniere

d. Nume
e. text
f. nici un raspuns
12. Care dintre următoarele sunt adevărate despre sistemul de evenimente AWT/Swing? (alegeți
DOUA )
a. când este apăsat o dată, un buton generează o serie de evenimente, nu doar unul
b. o componentă poate genera de obicei mai multe tipuri de evenimente
c. o componentă poate avea un singur obiect ascultător pentru fiecare tip de eveniment
d. fiecare interfață de ascultător are exact o metodă care trebuie înlocuită de obiectele de
ascultător
Pagină34 din
39
e. toate obiectele eveniment au același set de metode, dar cu implementări diferite
13. Ce fel de eveniment poate fi generat atât de JButtons, cât și de JComboBoxes?
a. WindowEvent
b. ActionEvent
c. DocumentEvent
d. CaretEvent
e. nici un raspuns

14. Care dintre următoarele va afișa corect un dialog pop-up care afișează un mesaj de eroare?
Să presupunem că wnd este o referință la un JFrame existent.
a. JDialog.showMessage(wnd, „A apărut o eroare”, „EROARE”, ERROR_MESSAGE);
b. JFrame.showDialog(wnd, „A apărut o eroare”, „EROARE”,
JFrame.ERROR_MESSAGE);
c. wnd.showDialog(„A apărut o eroare”, „EROARE”, JDialog.ERROR_MESSAGE);
d. JOptionPane.showMessageDialog(wnd, „A apărut o eroare”, „EROARE”,
JOptionPane.ERROR_MESSAGE);
e. nici un raspuns

15. Care dintre următoarele creează și afișează corect un JFrame care conține un buton care
închide aplicația? (alegeți DOUA )
a. clasa publică TheFrame {
public static void main(String[] args) {
JFrame f = nou JFrame();
JButton b = JButton nou ("Ieșire");
b.addActionListener(new Exit());
f.adăugați(b);
f.setSize(200,40);
f.setVisible(true);
}
}

clasa Exit implementează ActionListener{


public void actionPerformed() {
System.exit(0);
}

b. clasă publică AFrame {


public static void main(String[] args) {
JFrame f = nou JFrame();
JButton b = JButton nou ("Ieșire");
f.adăugați(b);
f.setSize(200,40);
f.setVisible(true);
}
}

clasa Exit implementează ActionListener{


public void actionPerformed(ActionEvent e) { System.exit(0);
}

c. clasă publică AFrame {


Pagină35 din
39
public static void main(String[] args) {
JFrame f = nou JFrame();
JButton b = JButton nou ("Ieșire"); b.addActionListener(new Exit());
f.adăugați(b);
f.setSize(200,40);
f.setVisible(true);
}
}

ieșire din clasă{


public void actionPerformed(ActionEvent e) { System.exit(0);
}

d. cadru de clasă publică {


public static void main(String[] args) {
JFrame f = nou JFrame();
JButton b = JButton nou ("Ieșire");
b.addActionListener(nou ActionListener() {
public void actionPerformed(ActionEvent e) { System.exit(0);
}
});
f.adăugați(b);
f.setSize(200, 40);
f.setVisible(true);
}
}

e. cadru de clasă publică {


public static void main(String[] args) {
JFrame f = nou JFrame();
JButton b = JButton nou ("Ieșire"); b.addActionListener(new Exit());
f.adăugați(b);
f.setSize(200,40);
f.setVisible(true);
}
}

clasa Exit implementează ActionListener{


public void actionPerformed(ActionEvent e) { System.exit(0);

Pagină36 din
39
16. Având în vedere următorul cod:

class Combo {
public static void main(String[] a) {
JFrame f = nou JFrame();
JComboBox cmb = nou JComboBox();
Elemente String[] = {"unu", "două", "trei"}; //
-------------- linia X -------------
f.add(cmb);
f.setSize(200,30);
f.setVisible(true);
}
} care dintre următoarele ar putea fi inserate pe linia X , astfel încât codul să ruleze cu
succes și să afișeze fereastra de mai jos? (alegeți DOUA )

a. DefaultComboBoxModel model = nou DefaultComboBoxModel();


for(String s:elements){ cmb.setModel(s);
}
model.addElement(cmb);

b. DefaultComboBoxModel model = nou DefaultComboBoxModel();


for(String s:elements){ model.addElement(s);
}
cmb.setModel(model);

c.DefaultComboBoxModel model = nou DefaultComboBoxModel(elemente);


cmb.addElement(model);

d. DefaultComboBoxModel model = new DefaultComboBoxModel(cmb);


for(String s:elements){ cmb.addElement(s);
}

e. cmb.setModel(elemente);

f. DefaultComboBoxModel model = nou DefaultComboBoxModel(elemente);


cmb.setModel(model);

17. Arhitectura unei componente Swing este inspirată de modelul MVC, dar restrânge următoarele
părți într-un singur obiect UI:
a. model și vedere
b. model și controler
c. vizualizare și controler

d. model, vizualizare și controler e. nici un raspuns

18. Ce componente Swing pot fi afișate pe ecran fără a fi plasate în interiorul unei alte
componente?
a. componente complexe precum liste sau tabele
b. recipiente de rădăcină
c. componente de bază, cum ar fi butoanele sau casetele de selectare
d. containere intermediare
e. nici un raspuns

Pagină37 din
39
19. Care dintre următoarele afirmații va colora panoul p în roșu? (alegeți DOUA )

a. p.setBackground(Color.RED);
b. p.setBackground(RED);
c. p.setForeground(Culoare noua(RED));
d. p.setForeground(Color.RED);
e. p.setBackground(Culoare nouă(255,0,0));

20. O interfață grafică de utilizator a unei aplicații Java îi corespunde cărei parte a modelului de
design MVC?
A. model
b. vedere
c. controlor
d. nici una dintre cele de mai sus
e. nici un raspuns

21. Care dintre următoarele tipuri de componente grafice pot fi plasate într-un grup de butoane?
(alegeți DOUA )
a. JSpinner
b. JCheckBox
c. JSlider
d. JRadioButton
e. JComboBox

22. Care dintre următoarele componente Swing au un atribut text care poate fi manipulat folosind
metodele getText() și setText() ale componentei? (alegeți TREI )
a. JButton
b. JProgressBar
c. JPanel
d. JList
e. JLabel
f. JCheckBox

23. Care dintre următoarele clase corespund unui buton sau unei componente asemănătoare unui
buton care nu rămâne „apăsată” după ce faceți clic pe ea?
a. JCheckBoxMenuItem
b. JButton
c. JCheckBox
d. JRadioButton
e. JRadioButtonMenuItem
f. JToggleButton
g. nici un raspuns

24. Ce interfață trebuie implementată de obiectul care reacționează la apăsarea unui buton
Swing?
a. ButtonListener
b. ActionListener
c. ActionModel
d. CaretListener
e. ActionEvent
f. nici un raspuns
24. Care dintre următoarele tipuri de panouri conține două componente separate printr-un
separator, ajustând automat dimensiunile componentelor atunci când utilizatorul mută separatorul?
a. JSplitPane
b. JLayeredPane
c. JTabbedPane

Pagină38 din
39
d. JScrollPane
e. nici un raspuns

Pagină39 din
39

Вам также может понравиться