Grupa Pitanja 2 Flashcards

1
Q

Opišite ulogu klase Math u Java programima? Da li se kreira Math objekat za pozive metoda?

A

Klasa Math sadrži metode za matematičke operacije (koren, stepenovanje, brojevi Pi i e i mnoge druge). Klasa Mathsadrži statičke metode, pa nije potreban objekat za njihovo pozivanje.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Pokažite polimorfizam na primeru metoda klase Math.

A

U zavisnosti od tipa parametara u pozivu, neki metodi klase Math vraćaju rešenja različitog tipa.
Math.min(1, 5) vraća (int) 1
Math.min(0.8, 3.5) vraća (double) 0.8
Math.min(1.2F, 3.5F) vraća (float) 1.2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Objasnite redosled izvršavanja matematičkih operacija u Java programima.

A

Zavisi od vrste operacija. Prvo se rade množenje i deljenje, pa sabiranje i oduzimanje. Poštuju se zagrade. Pravila su kao u matematici.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Objasnite eksplicitnu i implicitnu konverziju primitivnih tipova podataka.

A

Implicitna konverzija - Java sama konvertuje podatke kad je to neophodno
Eksplicitna konverzija - korisnik konvertuje podatke kada mu je to potrebno

int broj = Integer.parseInt(string);
Integer.toString(broj);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Kako se učitavaju stringovi sa tastature?

A

Korišćenjem klase Scanner
String imeStringa = imeSkenera.next();
ili
String imeStringa = imeSkenera.nextLine();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Objasnite formatiranje izlaza primenom naredbe printf().

A

Metoda printf() omogućuje prikaz rezultata u definisanom obliku. Koristimo %format (f za float, c za char).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Koje tipove petlji poznajete u Java jeziku? Napišite ih u opštem obliku. Pokažite jedan jednostavan Java primer urađen primenom različitih vrsta petlji.

A

While, do-while, for i for each.

while(uslov) {
telo petlje; }

do {
telo petlje; }
while(uslov);

for(početna vrednost; uslov; korak) {
telo petlje; }

for(int broj : imeNiza) {
telo petlje; }

Primer: štampaj brojeve od 0 do 3

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Napravite razliku između while i do-while petlje. Pokažite na primeru.

A

While petlja prvo proverava uslov pa ulazi u petlju. Do-while petlja prvo izvršava telo petlje jednom pa proverava uslov. Ovo znači da se telo do-while petlje izvršava bar jednom, a telo while petlje ne mora da se izvrši.

Primer:
int x = 3;

while(x > 4)
sout(“Test”);
ne štampa test jer ne ulazi u petlju

do
sout(“Test”);
while(x>4);
štampa prvo Test pa tek onda proverava

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Po čemu se razlikuju for i for-each petlja?

A

For each se koristi za prolaženje kroz nizove. Za razliku od for petlje, for each ne gleda koliko puta treba da izvrši nešto već izvršava isto nad svim članovima niza

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Pokažite na primeru i objasnite primenu ugnježdenih petlji.

A

Primer:
for(int i = 0; i < a.length; i++)
for(int j = 0; j < a[i].lenght; j++)
a[i][j] = imeSkenera.nextInt();
Pošto se unutrašnja petlja izvršava cela pre nego što se krene na sledeću iteraciju spoljne petlje, ugnježdene petlje (petlje u petlji) se koriste kad nam je potrebno da se neka petlja ponovi više puta. To je posebno korisno kod rada sa višedimenzionalnim nizovima.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Šta su metode? Kako se definišu metode? Kako se pozivaju metode?

A

Metode su skupovi naredbi koje zajedno obavljaju istu funkciju. Metode se definišu imenom, parametrom, tipom povratne vrednosti i telom metode. Metode mogu da se pozivaju preko klase
imeKlase.imeMetode();
ili preko objekta
imeObjekta.imeMetode();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Šta su modifikatori pristupa? Objasnite ih pojedinačno.

A

Modifikatori pristupa određuju gde u programu možemo da vidimo neki objekat ili metod.

  1. public - vidi se u celom programu
  2. private - vidi se samo u svojoj klasi
  3. protected - vidi se u klasi i podklasama
  4. default - vidi se samo u svom paketu
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Na osnovu povratnog tipa kako delimo metode?

A

Funkcije - metode koje vraćaju vrednost (int, double, String…)

Procedure - metode koje ne vraćaju vrednost (void)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Na osnovu načina pozivanja kako delimo metode?

A

Klasne (statičke) metode koje se pozivaju preko klase, i ojektne metode koje se pozivaju preko objekta.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Navedite prednosti primene metoda u programima.

A

Uredniji i kraći kod. Mogućnost korišćenja istog koda više puta. Veća čitljivost programa.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Objasnite kako metoda vraća vrednost?

A

Korišćenjem ključne reči return. U definiciji metoda mora se navesti bar jedna return naredba koja vraća vrednost tamo gde je metoda pozvana.

17
Q

Šta je preklapanje metoda (overloading)?

A
Dve ili više metode mogu da imaju isto ime, a različit potpis (lista argumenata). 
Primer:
public int niz(int [] a, int [] b)
i metoda
public int niz(int [] a)
18
Q

Šta je redefinisanje metoda (overriding)?

A

Ako deklarišemo metodu u roditeljskoj klasi, klase koje je nasleđuju mogu da je redefinišu i naprave da radi specifično za njih.

19
Q

Šta je jednodimenzionalni niz?

A

Niz je numerisana struktura elemenata istog tipa. Elementi mogu biti primitivni ili objekti ali moraju da budu istorodni.

20
Q

Kako se konstruiše niz?

A

Niz prvo moramo da deklarišemo. Ova dva koraka najčešće su napisani u istom redu.
Deklaracija:
tip [] imeNiza;

Konstrukcija:
new tip [intDužinaNiza];

21
Q

Kako se pristupa članovima niza?

A

Članovima niza pristupa se preko indeksa.

22
Q

Ukoliko se ne dodeli vrednost svim članovima niza, koje podrazumevane vrednosti dobijaju ti članovi?

A

Inicijalna vrednost elementa je 0 za brojeve i null za objekte.

23
Q

Navedite nedostatke nizova.

A

Broj elemenata u nizu je određen onog trenutka kada je konstruisan i ne može da se menja. Redosled elemenata u nizu je važan.

24
Q

Objasnite učitavanje i obradu jednodimezionalnog niza.

A
Za rad sa nizovima koristimo petlje (najčešće for ili for each). Ovo je najbolje objasniti na primeru:
Učitavanje niza:
int [] niz = new int [3];
     for(int i : niz)
          niz[i] = sc.nextInt();

Obrada (sabiranje članova):
for(int i : niz)
zbir = zbir + niz [i];

25
Q

Algoritam sortiranja jednodimenzionalnog niza.

A

Postoje mnogi algoritmi za sortiranje nizova. Najčešći način je uvođenje promenljive koja privremeno čuva vrednosti članova niza. Možemo da koristimo i SelectionSort() ili compareTo().

26
Q

Objasnite na koji način klasa Arrays olakšava rad sa nizovima?

A

Klasa Arrays sadrži korisne statičke metode koje obezbeđuju korisne operacije nad nizovima. Primer:
toString(tip[] ime) pretvara niz u String
copyOf(tip[] ime; int a) pravi novi niz dužine a, u koji se kopiraju elementi
sort(tip[] ime) sortira niz u rastućem redosledu