Sunteți pe pagina 1din 12

1. Explicaţi termenul abstractizarea datelor.

2. Care sunt beneficiile date de tipurile de date abstracte?

3. Ce face operatorul Java <<< ?

4. În ce constă paradigma orientării pe obiecte?

5. Explicaţi punctele tari ale orientării pe obiecte.

6. Ce este o abstracţiune?

7. Ce sunt obiectele software?

8. Ce sunt capabilităţile unui obiect?

9. Ce feluri de capabilităţi se pot defini?

10. Ce sunt proprietăţile unui obiect?

11. Ce feluri de proprietăţi se pot defini?

12. Cum se poate obţine o aplicaţie Java de sine stătătoare?

13. Ce constituie starea unui obiect?

14. Explicaţi termenul de clasă a obiectului.

15. Care este rolul încapsulării?

16. Explicaţi termenii vedere publică şi vedere privată în legătură cu notiunea de clasă.

17. Explicaţii abstracţiunea compoziţie.

18. Explicaţi cum se poate ajunge de la un TDA la cod în Java.

19. Explicaţi paşii necesari pentru a ajunge la cod sursă Java la execuţia programului corespunzător.

20. Ce este o aplicaţie Java de sine stătătoare?

21. Ce este un applet Java?

22. Ce rol îndeplineşte încărcătorul de clase Java?

23. Explicaţi efectul modificatorilor de acces asupra variabilelor/metodelor.

24. Daţi exemple de nume de variabile, metode, clase şi constante care se supun convenţiei de nume
prezentate la curs.

25. Care sunt tipurile primitive în Java?

26. Detaliaţi compatibilitatea la atribuire pentru tipuri primitive în Java.


26. Ce este conversia de tip explicită (type casting)? Furnizaţi 2-3 exemple relevante.

27. Ce tipuri au clasele învelitoare (wrapper) şi care sunt numele corespunzătoare claselor primitive?

28. Ce este boxing şi un-boxing?

29. Ce feluri de comentarii se pot folosi în programele Java?

30. Ce trebuie folosit la compararea conţinutului obiectelor?

31. Daţi un exemplu de eroare de depăşire de capacitate în Java.

32. Care este efectul lui break cu etichetă?

33. Care este efectul lui continue cu etichetă?

34. Explicaţi şi exemplificaţi termenul de constructor în Java.

35. Explicaţi şi exemplificaţi termenul de method în Java.

36. Ce constituie intrarea şi ieşirea pentru o metodă?

37. Prezentaţi un model de folosit la scrierea unei clase.

38. De ce este util să se supraîncarce (overload) constructorii?

39. Ce poate fi un operand într-o expresie Java?

40. Ce fel de expresie poate fi folosită într-o instrucţiune if?

41. Care sunt operatorii relaţionali?

42. Scrieţi o expresie de relaţie care să se evalueze la adevărat dacă suma variabilelor x şi y este egală
cu valoarea variabilei z.

43. Puneţi paranteze în expresiile logice care urmează pentru a indica ordinea de evaluare a operatorilor.
Dacă a e 5, b e 10, c e 15 şi d e 0, care sunt valorile de adevăr ale expresiilor?
c == a+b
a != 7
b <= a
a > 5
a+d >= c-b
d/a < c*b

44. Puneţi paranteze în expresiile logice care urmează pentru a indica ordinea de evaluare a operatorilor.
Dacă a e 5, b e 10, c e 15 şi d e 0, care sunt valorile de adevăr ale expresiilor?
c == a+b || c == d
a != 7 && c >= 6 || a+c <= 20
!(b <= 12) && a % 2 == 0
!(a >5) || c < a+b

45. La ce se evaluează următoarele expresii?


17/3 17%3 1/2 1/2*(x+y)
46. Date fiind declaraţiile:
float x;
int k, i = 5, j = 2;
Ce valori vor avea x şi k în urma atribuirilor următoare:
k = i/j;
x = i/j;
k = i%j;
x = 5.0/j;

47. Dacă x are valoarea 3.5, atunci la execuţia următoarei porţiuni de cod, ce se atribuie lui y?
if (x + 1 <= 3.6)
y = 1.0;
else
y = 2.0;

48. Exprimaţi în cuvinte care credeţi că este efectul intenţionat al următoarei secvenţe de cod? De ce nu
este corect sintactic? Cum se poate modifica pentru a fi corect? Ceea ce aţi modificat are efectul pe care
l-aţi declarat?
if (x >= y)
sum += x;
System.out.println("x is bigger");
else
sum += y;
System.out.println("y is bigger");

49. Scrieţi o instrucţiune if-else care să adune variabila x la variabila possum dacă x e pozitiv şi
la negsum dacă x este negativ.

50. Extindeţi soluţia întrebării precedente astfel încât, dacă x este pozitiv atunci să se incrementeze
variabila poscount, iar dacă x este negativ, să se incrementeze variabila negcount. Dacă aceasta ar fi
parte a unui program, ce iniţializări ar trebui făcute?

51. S-a decis să se bazeze amenda pentru depăşirea limitei de viteză într-o zonă locuită după cum
urmează - 50 RON pentru viteze între 55 şi 70 km/h, 75 RON pentru viteze între 71 şi 80 km/h, şi 100
RON pentru viteze peste 80 km/h. Un programator a scris următorul cod pentru a implementa ideea::
if (speed > 55)
amenda = 50;
else if (speed > 70)
amenda = 75;
else if (speed > 100)
amenda = 100;
Este corect? Ce amendă s-ar da pentru 102km/h? Dacă nu e corect, cum ar trebui scris?

52. Scrieţi o instrucţiune if-else imbricată care să atribuie o literă reprezentând evaluarea pentru o notă
exprimată în procente, după cum urmează - 70 sau peste: A, 60-69: B, 50-59: C, 40-49: D, 30-39: E, mai
puţin de 30: F.

53. Care este diferenţa esenţială între o buclă while şi una do-while?

54. Ce scrie următorul segment de cod Java?


int i;
i = -12;
do
{
System.out.println( i );
i = i - 1;
}
while (i > 0)

55. Ce scrie următorul segment de cod Java?


int i;
for ( i = 1; i <= 12; i *= 2 )
System.out.println( i );

56. Ce tipăreşte următorul segment de cod Java?


int i;
for (i=1; i<20; i = i+3)
System.out.println( i );

57. Ce s-ar întâmpla dacă i+3 din expresia de actualizare ar fi înlocuit prin i-3?

58. Întregul x are valoarea binară (stocată pe 1 octet/byte) 10011100. Ce


valoare binara va avea z după executarea instrucţiunilor:
int y = 1 << 7;
int z = x & y;

59. Ce se intâmplă dacă compilăm şi executăm aplicaţia care conţine fragmentul de cod următor în
metoda sa main():
String s = new String( "Computer" );

if( s == "Computer" )
System.out.println( "Equal A" );
if( s.equals( "Computer" ) )
System.out.println( "Equal B" );

60. Fie clasa:


class MyPoint
{
void myMethod()
{
int x, y;
x = 5; y = 3;
System.out.print( " ( " + x + ", " + y + " ) " );
switchCoords( x, y );
System.out.print( " ( " + x + ", " + y + " ) " );
}
void switchCoords( int x, int y )
{
int temp;
temp = x;
x = y;
y = temp;
System.out.print( " ( " + x + ", " + y + " ) " );
}
}
Ce se tipăreşte la execuţia metodei myMethod()?

61. Dacă arr[] conţine doar valori întregi pozitive, ce face funcţia următoare?
public int guessWhat( int arr[] )
{
int x= 0;
for( int i = 0; i < arr.length; i++ ) x = x < arr[i] ? arr[i] : x;
return x;
}

62. Fie fragmentul:

arr[0] = new int[4];


arr[1] = new int[3];
arr[2] = new int[2];
arr[3] = new int[1];
for( int n = 0; n < 4; n++ )
System.out.println( /* what goes here? */ );

Cu ce expresie trebuie înlocuit /* what goes here? */ pentru a tipări numărul de elemente din
fiecare rând?

63. Dacă size = 4, carătaţi conţinutul rând cu rând al tabloului triArray:


int[][] makeArray( int size)
{
int[][] triArray = new int[size] [];
int val=1;
for( int i = 0; i < triArray.length; i++ )
{
triArray[i] = new int[i+1];
for( int j=0; j < triArray[i].length; j++ )
triArray[i][j] = val++;
}
return triArray;
}

64. Fie fragmentul de cod:


public static void main( String args[] )
{
int a = 5;
System.out.println( cube( a ) );
}
int cube( int theNum )
{
return theNum * theNum * theNum;
}
Ce se întâmplă dacă încercaţi să compilaţi şi să executaţi codul dat?

65. Ce va tipări codul care urmează dacă val = 1?


switch( val )
{
case 1: System.out.print( "P" );
case 2:
case 3: System.out.print( "Q" );
break;
case 4: System.out.print( "R" );
default: System.out.print( "S" );
}

66. Ce se va tipări la executarea fragmentului de cod următor?


outer:
for(int i = 1; i <3; i++ )
{
inner: for( j = 1; j < 3; j++ )
{
if( j==2 ) continue outer;
System.out.println( "i = " +i + ", j = " + j );
}
}
67. Ce expresie se foloseşte în Java pentru a reprezenta numărul de elemente dintr-un tablou
numit arr ?

68. Ce va returna metoda substring(2, 4) invocată pe obiectul String "exemplu"? Puneţi rezultatul
între ghilimele întrucât este de tipul String..

69. Ce va fi tipărit la execuţia următoarei secvenţe de cod Java?


public static void main(String args[])
{
int i, j=1;
i = (j > 1)? 2: 1;
switch(i) {
case 0: System.out.println(0); break;
case 1: System.out.println(1);
case 2: System.out.println(2); break;
case 3: System.out.println(3); break;
}
}
}

70. Ce se întâmplă la apelul unei metode Java?

71. Ce se întâmplă la invocarea operatorului Java new?

72. Ce se întâmplă la execuţia porţiunii de cod Java care urmează?

BigDecimal big1 = new BigDecimal("1");


BigDecimal big2 = new BigDecimal("2");
big1 = big2;

73. Codul următor este corect şi complet? De ce?

public int sum2(int[] data)


{
int sum = 0;
for (int i = 0; i <= data.length; i++)
sum += data[i];
}

74. Prin ce diferă un String de un tablou de caractere?

75. Ce este o interfaţă Java?

76. Prin ce diferă o interfaţă (interface) de o clasă (class)?

77. Descrieţi cele două componente ale definiţiei unei interfeţe.

78. Descrieţi restricţiile care se aplică interfeţelor Java.

79. În ce scopuri este indicat a se folosi interfeţe în Java?

80. Care este scopul pachetelor Java?

81. Ce sunt variabilele locale în Java?

82. Ce sunt variabilele instanţă în Java?

83. Ce sunt variabilele la nivel de clasă în Java?

84. La ce valoare se evaluează expresia următoare?

-4 >>> 26

85. Care sunt diferenţele între metode şi constructori ?

86. Explicaţi de ce secvenţa următoare este corectă sau incorectă


short s = 20;
char c = s;

87. Explicaţi de ce secvenţa următoare este corectă sau incorectă


byte b = 20;
char c = b;

88. Explicaţi de ce secvenţa următoare este corectă sau incorectă


short s1 = 10;
short s2 = 20;
short result = s1*s2;

89. Fiind dată declaraţia de clasă


public class MyClass
{
public static void main(String arg)
{
MyClass mc = new MyClass( );
System.out.println("First Argument is : "+arg[0]);
}
}

Ce se întâmplă la încercarea de a compila şi rula MyClass?

90. Ce se întâmplă dacă încercaţi să compilaţi şi să executaţi codul care urmează:


public class MyClass{
static int i = 10;

public static void main(String[] arg){


static int i = 20;
System.out.println("i is :"+i);
}
}

91. Câte obiecte String sunt create la execuţia fragmentului următor? Motivaţi răspunsul
dat.
String s1,s2,s3,s4;
s1 = "Hello";
s2 = s1;
s3 = s2 + "Pal";
s4 = s3;

92. Ce se tipăreşte la execuţia fragmentului de cod care urmează? De ce?

int i = 10;
long l = 10L;
if( i == l )
System.out.println("We are Equal");

93. Ce se tipăreşte la execuţia fragmentului de cod care urmează? De ce?

int i = 10;
char c = 10;
if( c == i)
System.out.println("We are Equal");

94. Ce se tipăreşte la execuţia fragmentului de cod care urmează? De ce?

String s1 = "Null";
String s2 = "Null";
if( s1 == s2)
System.out.println("We are Equal");

95. Ce se tipăreşte la execuţia fragmentului de cod care urmează? De ce?

String s1 = "Null";
String s2 = new String(s1);
if( s1 == s2)
System.out.println("We are Equal");

96. Ce se tipăreşte la execuţia fragmentului de cod care urmează? De ce?


String s1 = "OK";
String s2 = new String(s1);
if( s1.equals(s2))
System.out.println("We are Equal");

97. Ce se tipăreşte la execuţia fragmentului de cod care urmează? De ce?


Boolean b1 = new Boolean(true);
Boolean b2 = new Boolean(true);
if(b1.equals(b2))
System.out.println("We are Equal");

98. La ce valori se iniţializează variabilele locale?

99. Ce se întâmplă dacă încercaţi să compilaţi şi să executaţi codul care urmează, folosind comanda:
java test 2

public class test {


public static void main(String args[]) {
Integer intObj=Integer.valueOf(args[args.length-1]);
int i = intObj.intValue();

if(args.length > 1)
System.out.println(i);
if(args.length > 0)
System.out.println(i - 1);
else
System.out.println(i - 2);
}
}

100. Ce număr de octeţi este folosit la stocarea tipului primitiv Java long?

101. Ce număr de octeţi este folosit la stocarea tipului primitiv Java char?

102. Ce număr de octeţi este folosit la stocarea tipului primitiv Java double?

103. Care este rezultatul evaluării expresiei 14 ^ 23?

104. Ce se întâmplă dacă încercaţi să compilaţi şi să executaţi codul care urmează:


public class test {
public static void main(String args[]) {
int i, j=1;
i = (j>1)?2:1;
switch(i) {
case 0: System.out.println(0); break;
case 1: System.out.println(1);
case 2: System.out.println(2); break;
case 3: System.out.println(3); break;
}
}
}

105. Ce se întâmplă dacă încercaţi să compilaţi şi să executaţi codul care urmează:


public class test {
public static void main(String args[]) {
int i=0, j=2;
do {
i=++i;
j--;
} while(j>0);
System.out.println(i);
}
}

106. Ce se întâmplă dacă încercaţi să compilaţi şi să executaţi codul care urmează:


public class test {
public static void main(String args[]) {
String s1 = "abc";
String s2 = "abc";
if(s1 == s2)
System.out.println(1);
else
System.out.println(2);
if(s1.equals(s2))
System.out.println(3);
else
System.out.println(4);
}
}

107. Cum ne putem asigura că memoria alocata unui obiect va li eliberată?

108. Ce se întâmplă dacă încercaţi să compilaţi şi să executaţi codul care urmează:


public class test {
public static void main(String args[]) {
String str1="abc";
String str2="def";
String str3=str1.concat(str2);

str1.concat(str2);
System.out.println(str1);
}
}

109. Ce metodă din clasa Integer se poate folosi pentru a converti un obiect Integer la tipul
primitiv int?

110. Ce se întâmplă dacă încercaţi să compilaţi şi să executaţi codul care urmează:


public class Test
{
static int age;
public static void main (String args [])
{
age = age + 1;
System.out.println("The age is " + age);
}
}

111. Ce se întâmplă la încercarea de compilare şi execuţie a codului de mai jos ?


public class Test
{
static int total = 10;
public static void main (String args [])
{
new Test();
}
public Test ()
{
System.out.println("In test");
System.out.println(this);
int temp = this.total;
if (temp > 5) System.out.println(temp);
}
}

112. Scrieţi o instrucţiune care să iniţializeze tabloul de String temp cu şirurile "a", "x",
"axe".

113. În ce situaţii se obţine un constructor implicit?

114. Pentru fragmentul următor, care este efectul faptului că a este 5:


public class Test
{
public void add(int a)
{
loop: for (int i = 1; i < 3; i++)
{
for (int j = 1; j < 3; j++)
{
if (a == 5)
{
break loop;
}
System.out.println(i * j);
}
}
}
}

115. Pentru fragmentul următor, care este efectul faptului că a este 5:


public class Test
{
public void add(int a)
{
loop: for (int i = 1; i < 3; i++)
{
for (int j = 1; j < 3; j++)
{
if (a == 5)
{
continue loop;
}
System.out.println(i * j);
}
}
}
}

116. Care este rezultatul execuţiei următorului fragment de cod Java atunci când valoarea lui x este 2:
switch (x)
{
case 1:
System.out.println(1);
case 2:
case 3:
System.out.println(3);
case 4:
System.out.println(4);
}

117. Care este rezultatul execuţiei următorului fragment de cod Java:


boolean flag = false;
if (flag = true)
{
System.out.println("true");
}
else
{
System.out.println("false");
}

118. Potrivit recomandărilor, câte clase publice se pot declara într-un fişier sursă?

119. La ce se referă termenul ascunderea informaţiei?

120. Scrieţi o metodă care să aloce un tablou de 3 pe 5 de valori reale în dublă precizie şi să initializeze
elementele tabloului la o zecime din valoarea rândului înmulţită cu coloana pentru fiecare element.

S-ar putea să vă placă și