1 / 22

Compound – slo ženi operatori dodele

Compound – slo ženi operatori dodele. Dosta čest slučaj u praksi je promena tekuće vrednosti promenljive na sledeći način: answer = 42; answer = answer + 42;

ayla
Download Presentation

Compound – slo ženi operatori dodele

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Compound – složeni operatori dodele • Dosta čest slučaj u praksi je promena tekuće vrednosti promenljive na sledeći način: • answer = 42; • answer = answer + 42; • Značenje poslednjeg izraza je da se stara vrednost promenljive sa desne strane operatora dodele menja, u ovom slučaju uvećava za određenu vrednost i tako dobijeni izraz se dodeljuje istoj promenljivoj • Poslednji zapis je sintaksno sasvim ispravan, ali postoji i kraći način uz primenu složenog operatora dodele • answer += 42;

  2. Compound assignment operators • Složeni operatori dodele imaju isti prioritet i desnu asocijativnost kao i jednostavni operatori dodele • Kod podataka tipa string, može da se koristi samo složeni operator “+=“ za konkatenaciju stringova • Specijalni slučaj x+=1 se može pisati i kao x++

  3. While statement - naredba • While naredba se koristi za ponovljeno izvršavanje naredbe ili bloka naredbi sve dok je zadovoljen određeni uslov • Sintaksa while naredbe je: • while ( booleanExpression ) • Statement • Pre prvog izvršavanja naredbe iza while proverava se da li je zadovoljen uslov • Ako jeste, izvršava se naredba iza while, posle čega se ponovo proverava uslov i tako sve dok je uslov zadovoljen

  4. While statement - naredba • Kada uslov nije zadovoljen, ponavljanje naredbe iza while se prekida i izvršavanje se nastavlja od sledeće naredbe iza while konstrukcije • Sintaksa while je slična kao za if, sa razlikom ključne reči • To između ostalog znači da se u slučaju potrebe ponavljanja većeg broja naredbi sa while koristi blok, kao i kod if • Jedna od semantičkih grešaka kod while naredbe je da se uslov koji se ispituje odabere tako da je uvek ispunjen, pa nastaje mrtva petlja iz koje nema izlaska

  5. While statement - naredba • Primer sa ispisom brojeva od 0 do 9 • int i = 0; • while (i < 10) • { • Console.WriteLine(i); • i++; • } • Ako bi i++ bilo izostavljeno u gornjem primeru, dobila bi se beskonačna petlja. Zašto? • Promenljiva i se naziva brojačka ili sentinel promenljiva

  6. For statement naredba • Opšta struktura for naredbe izražena preko ekvivalentne while naredbe • initialization • while (Boolean expression) • { • statement • update control variable • } • Sintaksa for naredbe • for (initialization; Boolean expression; update control variable) • statement

  7. For statement naredba • For i while su na neki način ekvivalentni uz sve sintaksne razlike, a to je pre svega da omogućavaju iteraciju naredbe ili bloka naredbi • Suštinska razlika for i while sa druge strane je u tome što se while prirodnije koristi kada se unapred ne zna broj iteracija, već se stalno ispituje neki uslov i ponavljanje ide dok je taj uslov zadovoljen • For se sa druge strane koristi kada se unapred zna tačan broj iteracija, pa se zato for bazira na brojačkoj promenljivoj koja se u svakoj iteraciji inkrementira ili dekrementira. • For je brojačka petlja a while iterativna

  8. For statement naredba • Brojački primer sa for • for (int i = 0; i < 10; i++) • { • Console.WriteLine(i); • } • Bilo koji od tri dela for se može izostaviti • for (int i = 0; ;i++) • { • Console.WriteLine(“somebody stop me!”); • }

  9. For statement naredba • A može i ovako... • int i = 0; • for (; i < 10; ) • { • Console.WriteLine(i); • i++; • } • Ne mora samo jedna promenljiva... • for (int i = 0, j = 10; i <= j; i++, j--) • { • ... • }

  10. For statement naredba • Neobična ali sintaksno ispravna for naredba koja ne liči na brojačku petlju • for (string line = reader.ReadLine(); line != null; line = reader.ReadLine()) • { • source.Text += line + ‘\n’; • } • Iako je moguće koristiti for umesto while i obrnuto ili samo jednu od ove dve naredbe, to se ne preporučuje • Cilj je da sve strukture budu pre svega jasne

  11. Oblast for naredbe • for (int i = 0; i < 10; i++) • { • ... • } • Console.WriteLine(i); // compile-time error • for (int i = 0; i < 10; i++) • { • ... • } • for (int i = 0; i < 20; i += 2) // okay • { • ... • }

  12. Do statement - naredba • Telo do naredbe se uvek izvršava makar jednom, čak i kada uslov u startu nije zadovoljen za razliku od while i for • Razlog je naravno taj da se uslov ispituje na kraju a ne na početku • do • statement • while (booleanExpression); • Iako je ova konstrukcija ograničena sa dve ključne reči, neophodna je upotreba zagrada kada ima više od dve naredbe u telu petlje

  13. Do statement - naredba • Primer – brojačka petlja sa do while • int i = 0; • do • { • Console.WriteLine(i); • i++; • } • while (i < 10);

  14. Break i continue naredbe • Break naredba se koristila kod switch da spreči propadanje kroz stavke case • Kod petlji break se koristi za trenutni izlazak iz petlje nezavisno od trenutnog stanja uslova • Posle izlaska iz petlje sa break, izvršavanje se nastavlja od sledeće naredbe posle petlje • Continue se koristi za trenutni prelazak na sledeću iteraciju petlje uz prethodnu evaluaciju uslova • Ne preporučuje se upotreba continue i break, jer narušavaju regularnu strukturu petlje i otežavaju razumevanje programa

  15. Primer sa break • int i = 0; • while (true) • { • Console.WriteLine(“continue “ + i); • i++; • if (i < 10) • continue; • else • break; • }

More Related