Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 11 odgovora
  • 5.570 pregleda

Najnovija ↓

Java pocetnik pojasnjenje u vezi nizova. 13.09.2013. u 09:28 · pre 159 meseci #1
Pozdrav. Tek sam poceo da ucim java programiranje pratim trenutno neke tutoriale na srpskom preko youtube nisu neki ali pomazu.
Sada sam dosao do nizova i malo sam se zbunio pa trazim pojasnjenje.

Code:

public class Tutorial11 
{
    public static void main(String[] args)
    {
        int[] mojNiz = {5,5,5,5,5,10,10,10,10,10};
        
        for (int i=0; i<mojNiz.length-1; i++)
            System.out.println(mojNiz[i]);
    }
}



Ja sam razumeo kroz ovaj tutorial da se nizovi koriste kad treba vise promenjljivih. ovaj deo:
{5,5,5,5,5,10,10,10,10,10};
oznacava 10 promenjljivih sa svojim vrednostima 0=5, 1=5, 2=5.... 8=10,9=10. Tako sam razumeo.
Onda u for petlji kroz tutorial nije nista objasnjeno ali sam ja dosao do nekog mog zakljucka za koji ne znam da li je tacan
int i=0; deklarisali smo i promenjljivu i dali petlji pocetnu vrednost.
E sad ovaj deo mi malo nije jasan
Code:

for (int i=0; i<mojNiz.length-1; i++)
            System.out.println(mojNiz[i]);

Skontao sam samo da promenjljiva i krece od 0 i da se povecava za 1 to je ovo i++;
i kako se promenjljiva i povecava za jedan onda se ispisuju brojevi iz ovog niza System.out.println(mojNiz);
Ali zasto smo u ovoj for petlji koristili mojNiz.length-1; ?
Ja sam vam ovde napisao kako sam ja protumacio ovaj program, ako gresim negde molio bi vas da mi to blize pojasnite jer ovaj tutorial koji gledam nije dovoljno pojasnjen. :)

Re: Java pocetnik pojasnjenje u vezi nizova. 13.09.2013. u 10:18 · pre 159 meseci #2
I ja sam početnik, al da probam da objasnim:)...Ovaj deo oko for petlje: mojNiz.length ti vraća dužinu niza. Ti si u svom primeru mogao da napišeš i<9, jer u ovom slučaju znaš kolika je dužina tvog niza, ali ako imaš niz u kome imaš ko zna koliko članova, da ne bi pisao npr. i<1256, uvek je bolje staviti mojNiz.length. Takođe, možda ćeš poželeti da promeniš nešto u nizu (da dodaš ili oduzmeš neki član), pa da ne bi u petlji svaki put menjao broj i tako rizikovao grešku, mojNiz.length ti pruža fleksibilnost, odnosno "prati" promene i prilagođava rezultat. U tvom konkretnom primeru, petlja ide kroz prvih 9 članova niza (jer imaš mojNiz.length-1, tj u prevodu 10-1) i ispisuje na ekranu rezultat prilikom prolaska kroz svaku iteraciju.

Nadam se da sam bio dovoljno razmljiv, a možda će neko od iskusnijih moći da pruži i bolje objašnjenje.

Pozdrav

P.S. Malo off, ali ako počinješ da učiš Javu, probaj knjigu Head First Java, prilagođena je početnicima i na sjajan način, kroz ilustracije i mozgalice te uči Javi.
Re: Java pocetnik pojasnjenje u vezi nizova. 13.09.2013. u 10:48 · pre 159 meseci #3
Lepo ti je objasnio ser_nicky. Samo da dodam par stvari:

1. Ovu for pertlju mogao si da napises da je i <= mojNiz.length ---- da te ne bi bunilo oovo -1.

2. Mozes umesto ovog ruznog for loop-a da uradis for(int element : mojNiz){}
Code:

public class Tutorial11 
{
    public static void main(String[] args)
    {
        int[] mojNiz = {5,5,5,5,5,10,10,10,10,10};

        //je isto sto i
        for(int nizElement : mojNiz){
            System.out.println(nizElement);
        }
        
        for (int i=0; i<mojNiz.length-1; i++){
            System.out.println(mojNiz[i]);
        }
      
    }
}


Uvek pisi { } pa cak i kada imas samo jednu liniju koda. Jer program postaje pregledniji.
Znaci

Code:

public class Tutorial11 
{
    public static void main(String[] args)
    {
        int[] mojNiz = {5,5,5,5,5,10,10,10,10,10};
        
        for (int i=0; i<mojNiz.length-1; i++){
            System.out.println(mojNiz[i]);
        }
    }
}
Re: Java pocetnik pojasnjenje u vezi nizova. 13.09.2013. u 11:36 · pre 159 meseci #4
nemnesic, navodis coveka pogresno :) .

I ja sam pocetnik (u javi ;) ), ali - gornja for petlja S RAZLOGOM ide od 0 do 8, to jest printa prvih 9 elemenata od ukupno 10.
Kako si ti napisao, for petlja bi pokusala da isprinta i 11-i element (i == 10)...
A "elegantnoj" petlji for(item : collection) tek nema mesta ovde, pa ne iteriraju se svi elementi...

Pozz (NHF)
Re: Java pocetnik pojasnjenje u vezi nizova. 13.09.2013. u 11:44 · pre 159 meseci #5
:) e sad si me naterao da kompajliram i proveravam

Code:

public class Test
{
    public static void main(String[] args)
    {
        int[] mojNiz = {1,2,3,4,5,6,7,8,9};
        
        for (int i=0; i<mojNiz.length-1; i++){
            System.out.println(mojNiz[i]);
        }
        System.out.println("-------------");
        for(int nizElement : mojNiz){
            System.out.println(nizElement);
        }
    }
}

****OUTPUT****
1
2
3
4
5
6
7
8
-------------
1
2
3
4
5
6
7
8
9


U "elegantoj" petlji se svi elementi iteriraju...a ovde nedostaje jedan
Re: Java pocetnik pojasnjenje u vezi nizova. 17.09.2013. u 10:51 · pre 159 meseci #6
Hvala vam momci, skontao sam sada to sto ste mi rekli a jel moze neko samo da mi kaze mojNiz zasto se u ovom delo stavljaju ove [] zagrade to mi nece biti jasno, da li postoji neka definicija ili je to samo ta sintaksa tog jezika pa se tako mora staviti, to mi samo nije jasno. :)
Re: Java pocetnik pojasnjenje u vezi nizova. 17.09.2013. u 11:41 · pre 159 meseci #8
Citat:
miljan9602:
Hvala vam momci, skontao sam sada to sto ste mi rekli a jel moze neko samo da mi kaze mojNiz zasto se u ovom delo stavljaju ove [] zagrade to mi nece biti jasno, da li postoji neka definicija ili je to samo ta sintaksa tog jezika pa se tako mora staviti, to mi samo nije jasno. :)


Ako misliš na ovaj red koda:
int[] mojNiz = {5,5,5,5,5,10,10,10,10,10};

ovaj par praznih zagrada [] služi da definiše niz kao tip podatka, odnosno da "najavi" da treba pripremiti memorijski prostor za niz koji će, u ovom slučaju, sadržati samo numeričke podatke tipa integer (int). Da si npr. stavio samo int mojNiz (dakle, bez [] zagrada), ne bi mogao da deklarišeš niz, već samo pojedinačnu numeričku vrednost. Suma sumarum, int označava tip podatka koji će biti u nizu, [] zagrade označavaju da je u pitanju niz kao tip podatka.

Nadam se da sam bio razumljiv, mada bi možda neko od iskusnijih članova možda mogao i bolje da objasni.
Re: Java pocetnik pojasnjenje u vezi nizova. 21.11.2015. u 11:24 · pre 133 meseca #11
Cao svima! Da li bi mogao neko da mi kaze kako da izmenim neki odredjen clan u nizu. Tipa postoje cene artikala, ali neke od cena su na akciji i sad bi htela da stavim da promenim cenu u daljem izvrsavanju programa. Ne znam koja je sintaksa, jedino sto sam nasla je niz.set(int int), ali medjutim meni je tip niza double.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme