Sunteți pe pagina 1din 11

Exercitii POO

1. Explicai termenul abstractizarea datelor.


2. Care sunt beneficiile date de tipurile de date abstracte?
3. Ce face operatorul Java <<< ?
4. n ce const paradigma orientrii pe obiecte?
5. Explicai punctele tari ale orientrii pe obiecte.
6. Ce este o abstraciune?
7. Ce sunt obiectele software?
8. Ce sunt capabilitile unui obiect?
9. Ce feluri de capabiliti se pot defini?
10. Ce sunt proprietile unui obiect?
11. Ce feluri de proprieti se pot defini?
12. Cum se poate obine o aplicaie Java de sine stttoare?
13. Ce constituie starea unui obiect?
14. Explicai termenul de clas a obiectului.
15. Care este rolul ncapsulrii?
16. Explicai termenii vedere public i vedere privat n legtur cu notiunea de clas.
17. Explicaii abstraciunea compoziie.
18. Explicai cum se poate ajunge de la un TDA la cod n Java.
19. Explicai paii necesari pentru a ajunge la cod surs Java la execuia programului corespunztor.
20. Ce este o aplicaie Java de sine stttoare?
21. Ce este un applet Java?
22. Ce rol ndeplinete ncrctorul de clase Java?
23. Explicai efectul modificatorilor de acces asupra variabilelor/metodelor.
24. Dai exemple de nume de variabile, metode, clase i constante care se supun conveniei de nume
prezentate la curs.
25. Care sunt tipurile primitive n Java?
26. Detaliai compatibilitatea la atribuire pentru tipuri primitive n Java.

26. Ce este conversia de tip explicit (type casting)? Furnizai 2-3 exemple relevante.
27. Ce tipuri au clasele nvelitoare (wrapper) i care sunt numele corespunztoare 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 coninutului obiectelor?
31. Dai un exemplu de eroare de depire de capacitate n Java.
32. Care este efectul lui break cu etichet?
33. Care este efectul lui continue cu etichet?
34. Explicai i exemplificai termenul de constructor n Java.
35. Explicai i exemplificai termenul de method n Java.
36. Ce constituie intrarea i ieirea pentru o metod?
37. Prezentai un model de folosit la scrierea unei clase.
38. De ce este util s se suprancarce (overload) constructorii?
39. Ce poate fi un operand ntr-o expresie Java?
40. Ce fel de expresie poate fi folosit ntr-o instruciune if?
41. Care sunt operatorii relaionali?
42. Scriei o expresie de relaie care s se evalueze la adevrat dac suma variabilelor x i y este
egal cu valoarea variabilei z.
43. Punei 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 adevr ale expresiilor?
c == a+b
a != 7
b <= a
a > 5
a+d >= c-b
d/a < c*b
44. Punei 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 adevr 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 urmtoarele expresii?


17/3 17%3 1/2 1/2*(x+y)
46. Date fiind declaraiile:
float x;
int k, i = 5, j = 2;

Ce valori vor avea x i k n urma atribuirilor urmtoare:


k = i/j;
x = i/j;
k = i%j;
x = 5.0/j;
47. Dac x are valoarea 3.5, atunci la execuia urmtoarei poriuni de cod, ce se atribuie lui y?
if (x + 1 <= 3.6)
y = 1.0;
else
y = 2.0;
48. Exprimai n cuvinte care credei c este efectul intenionat al urmtoarei secvene de cod? De ce
nu este corect sintactic? Cum se poate modifica pentru a fi corect? Ceea ce ai modificat are efectul pe
care l-ai declarat?
if (x >= y)
sum += x;
System.out.println("x is bigger");
else
sum += y;
System.out.println("y is bigger");
49. Scriei o instruciune if-else care s adune variabila x la variabila possum dac x e pozitiv i
la negsum dac x este negativ.
50. Extindei soluia ntrebrii precedente astfel nct, 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 iniializri ar trebui fcute?
51. S-a decis s se bazeze amenda pentru depirea 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 urmtorul 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. Scriei o instruciune if-else imbricat care s atribuie o liter reprezentnd evaluarea pentru o
not exprimat n procente, dup cum urmeaz - 70 sau peste: A, 60-69: B, 50-59: C, 40-49: D, 3039: E, mai puin de 30: F.
53. Care este diferena esenial ntre o bucl while i una do-while?
54. Ce scrie urmtorul segment de cod Java?
int i;
i = -12;
do
{
System.out.println( i );
i = i - 1;
}
while (i > 0)
55. Ce scrie urmtorul segment de cod Java?
int i;
for ( i = 1; i <= 12; i *= 2 )

System.out.println( i );
56. Ce tiprete urmtorul segment de cod Java?
int i;
for (i=1; i<20; i = i+3)
System.out.println( i );
57. Ce s-ar ntmpla 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 instruciunilor:
int y = 1 << 7;
int z = x & y;
59. Ce se intmpl dac compilm i executm aplicaia care conine fragmentul de cod urmtor 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 tiprete la execuia metodei myMethod()?
61. Dac arr[] conine doar valori ntregi pozitive, ce face funcia urmtoare?
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 tipri numrul de elemente din
fiecare rnd?
63. Dac size = 4, cartai coninutul rnd cu rnd 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 ntmpl dac ncercai s compilai i s executai codul dat?
65. Ce va tipri 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 tipri la executarea fragmentului de cod urmtor?
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 folosete n Java pentru a reprezenta numrul de elemente dintr-un tablou
numit arr ?
68. Ce va returna metoda substring(2, 4) invocat pe obiectul String "exemplu"? Punei
rezultatul ntre ghilimele ntruct este de tipul String..
69. Ce va fi tiprit la execuia urmtoarei secvene 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 ntmpl la apelul unei metode Java?
71. Ce se ntmpl la invocarea operatorului Java new?
72. Ce se ntmpl la execuia poriunii de cod Java care urmeaz?
BigDecimal big1 = new BigDecimal("1");
BigDecimal big2 = new BigDecimal("2");
big1 = big2;
73. Codul urmtor 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. Descriei cele dou componente ale definiiei unei interfee.
78. Descriei restriciile care se aplic interfeelor Java.
79. n ce scopuri este indicat a se folosi interfee 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 urmtoare?
-4 >>> 26
85. Care sunt diferenele ntre metode i constructori ?
86. Explicai de ce secvena urmtoare este corect sau incorect
short s = 20;
char c = s;
87. Explicai de ce secvena urmtoare este corect sau incorect
byte b = 20;
char c = b;
88. Explicai de ce secvena urmtoare este corect sau incorect
short s1 = 10;
short s2 = 20;
short result = s1*s2;
89. Fiind dat declaraia 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 ntmpl la ncercarea de a compila i rula MyClass?


90. Ce se ntmpl dac ncercai s compilai i s executai 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. Cte obiecte String sunt create la execuia fragmentului urmtor? Motivai rspunsul
dat.
String s1,s2,s3,s4;
s1 = "Hello";
s2 = s1;
s3 = s2 + "Pal";
s4 = s3;
92. Ce se tiprete la execuia 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 tiprete la execuia 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 tiprete la execuia 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 tiprete la execuia 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 tiprete la execuia 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 tiprete la execuia 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 iniializeaz variabilele locale?
99. Ce se ntmpl dac ncercai s compilai i s executai 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 numr de octei este folosit la stocarea tipului primitiv Java long?
101. Ce numr de octei este folosit la stocarea tipului primitiv Java char?
102. Ce numr de octei este folosit la stocarea tipului primitiv Java double?
103. Care este rezultatul evalurii expresiei 14 ^ 23?
104. Ce se ntmpl dac ncercai s compilai i s executai 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 ntmpl dac ncercai s compilai i s executai 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 ntmpl dac ncercai s compilai i s executai 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 ntmpl dac ncercai s compilai i s executai 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 ntmpl dac ncercai s compilai i s executai 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 ntmpl la ncercarea de compilare i execuie 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. Scriei o instruciune care s iniializeze tabloul de String temp cu irurile "a", "x",
"axe".
113. n ce situaii se obine un constructor implicit?
114. Pentru fragmentul urmtor, 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 urmtor, 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 execuiei urmtorului fragment de cod Java atunci cnd 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 execuiei urmtorului fragment de cod Java:
boolean flag = false;
if (flag = true)
{
System.out.println("true");
}
else
{
System.out.println("false");
}
118. Potrivit recomandrilor, cte clase publice se pot declara ntr-un fiier surs?
119. La ce se refer termenul ascunderea informaiei?
120. Scriei 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 rndului nmulit cu coloana pentru fiecare
element.

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