Kako postaviti pametne telefone i računala. Informativni portal

Javascript while, do-while i for petlje.

Neki izvori kažu da if else select izjava jest nezavisni operater. Ali to nije točno, if else je samo oblik pisanja if selekcijske izjave. Naredba if else omogućuje programeru da definira radnju kada je uvjet istinit i alternativnu radnju kada je uvjet lažan. Dok vam je dozvoljeno da odredite radnju ako je uvjet istinit.

Sintaksa za pisanje if else odabira naredbe je:

If (/*uvjet koji treba provjeriti*/) ( /*tijelo operatora odabira 1*/; ) else ( /*tijelo operatora odabira 2*/; )

Ona glasi ovako: “Ako je stanje koje se testira istinito, onda odaberite tijelo izjave 1, inače (to jest, uvjet koji se testira je lažan) je zadovoljen odaberite tijelo izjave 2". Obratite pozornost na to kako je if else naredba napisana. Riječ drugo posebno pomaknut udesno kako bi se programski kod bio jasan i lak za čitanje.

Pogledajmo problem iz prethodne teme, koristeći if else . Dopustite mi da vas podsjetim na uvjet problema: "Dana su dva broja, morate ih usporediti."

// if_else.cpp: Definira ulaznu točku za konzolnu aplikaciju. #include "stdafx.h" #include korištenje imenskog prostora std; int main(int argc, char* argv) ( int a, b; cout<< "Vvedite pervoe chislo: "; cin >>a; cout<< "Vvedite vtoroe chislo: "; cin >>b; if (a >= b) // ako je a veće ili jednako b, tada ( cout<< a << " >= " << b << endl; } else // иначе { cout << a << " <= " << b << endl; } system("pause"); return 0; }

U ovom kodu koji nas zanimaredovi 14-20. Ovi redovi glase ovako: ako a (prvi broj) veći ili jednak b (drugi broj), zatim izvršite izlaznu naredbu ulinija 16

Cout<< a << " >= " << b << endl;

inače izvršiti izlaznu naredbu u linija 19

Cout<< a << " <= " << b << endl;

U ovom primjeru koristimo relacijske operatore >= i<= . Условие перехода не совсем правильно, так как условие будет ложно только в том случае, если первое число будет меньше второго, во всех остальных случаях условие истинно. Значит, linija 19 trebate to ovako napisati

cout<< a << " < " << b << endl; // в кавычках записать не меньше или равно, а просто меньше.

I ovako je program radio (vidi sliku 1).

Vvedite pervoe chislo: 15 Vvedite vtoroe chislo: -4 15 >= -4 Za nastavak pritisnite bilo koju tipku. . .

Slika 1 - Izjava o odabiru if else

Pokazat ću vam još jedan primjer korištenja if else naredbi za odabir (tzv. ugniježđene if else naredbe za višestruki odabir).

Zadatak:
Napravite algoritam koji pronalazi vrijednost y, ako je y=x, za x<0; у=0, при 0<=х<30; у=х 2 , при х>=30;

// inif_else.cpp: Definira ulaznu točku za aplikaciju konzole. #include "stdafx.h" #include korištenje imenskog prostora std; int main(int argc, char* argv) ( int x, y; cout<< "Vvedite x: "; cin >>x; ako (x< 0) { y = x; // выполняется, если х меньше нуля } else { if ((x >= 0) && (x< 30)) { y = 0; // выполняется, если х больше либо равно нуля и меньше 30 } else { if (x >= 30) ( y = x * x; // izvršava se ako je x veći ili jednak 30 ) ) ) cout<< "y=" << y << endl; system("pause"); return 0; }

Postoje tri moguća slučaja u ovom problemu:
1. slučaj: x< 0 ;
2. slučaj: x leži u rasponu od 0 (uključujući 0) do 30;
3. slučaj: x je veći ili jednak 30.

Primjetite inovaciju!! U Linija 17 takav unos: if ((x >= 0) && (x< 30)) , Koristio sam && simbole - ovo je . Logička operacija I&& je potreban za kombiniranje nekoliko jednostavnih uvjeta u jedan složeni uvjet. U našem slučaju potrebno je provjeriti istinitost dva uvjeta: prvi – x >= 0, drugi – x< 30 . Все проверяемое условие будет истинно, если истинны два простых условия. В математике правильной записью считается такая запись: 0 <= x < 30 , а в С++ правильной записью считается вот такая запись: (x >= 0) && (x< 30) или такая 0 <= x && x < 30 . Кстати круглые скобочки () && () не обязательны, так как условия простые, но для уверенности, я прописываю, всегда, данные скобочки и вам советую.

Analiza konkretnog slučaja:

Recimo da je korisnik unio broj 31. Počevši od linije 12, uvjeti su provjereni. Ona glasi ovako: “Ako x (31 u našem slučaju)< 0, то выполнить оператор в linija 14" Ali budući da je 31 > 0 uvjet netočan, prelazimo na riječ else (inače) linija 15. Zatim provjeravamo je li broj 31 uključen u navedeni interval. Ona glasi ovako: ako je x>=0 i x<30zatim izvršite naredbu u liniji 19 . Ali budući da broj 31 nije uključen u zadani interval, uvjet je lažan. pojedinosti linija 17: program će prvo provjeriti prvi jednostavni uvjet x >= 0 - on je istinit, a ako je prvi istinit, tada će program nastaviti s provjerom drugog jednostavnog uvjeta x< 30 – оно ложно. Следовательно всё составное условие ложно, ведь в составном условии у нас используется логическая операция && , а это значит, что все составное условие истинно только в том случае, когда истинны оба простых условия. Переходим к else (иначе), здесь у нас последний if , (linija 22). Ček je x >= 30. Ona glasi ovako: Ako je x >= 30, izvršite naredbu koja se nalazi u retku 24 . Konačno, uvjet je istinit, pa je izjava u linija 24. I linija 28 ispisuje dobivenu vrijednost. Eto, to je to, program smo pogledali do najsitnijih detalja. Rezultat programa ako je korisnik unio broj 31 (vidi sliku 2)

C++ nudi standardni skup operatora za odabir odabira i ciklusa.

Ključne riječi koje se odnose na konstrukciju uvjeta grananja za kod su:

  • sklopka
  • pauza
  • zadano

Ključne riječi koje se odnose na konstrukciju ciklusa su:

  • dok
  • pauza
  • nastaviti

Izjave o uvjetima

Izjava If

Konstrukt uvjeta pomoću naredbe if formira se na sljedeći način:

Int x = 56; bool check_x() ( if (x > 0) return true; return false; )

U ovom slučaju, uvjet se stavlja u zagradu nakon naredbe if. U ovoj konstrukciji, povratni kod je istinit; Izvršit će se ako je x veći od 0. sljedeći redak return false; Više se ne odnosi na kôd koji će se izvršiti kada se uvjet ispuni. U konstruktima uvjeta, ako je ovaj uvjet ispunjen, izvršit će se samo jedna linija koda ako kod nije u vitičastim zagradama, to jest ako tijelo koda koji se izvodi pod uvjetom nije formirano. Razmotrimo dvije opcije koda:

Prva opcija:

Int x = 56; bool check_x() ( if (x > 0) x = 0; return true; return false; )

U ovom kodu vratite true; Uvijek će se izvršavati, jer je samo niz x = 0 relevantan za kôd koji se izvršava;

Druga opcija:

Int x = 56; bool check_x() ( if (x > 0) ( x = 0; return true; ) return false; )

U ovom kodu vratite true; Bit će zadovoljeno samo ako je zadovoljen uvjet x>0.

Izjava else

The drugo izjava se koristi zajedno s ako izjava za formiranje niza uvjeta.

Int x = 56; bool check_x() ( if (x > 0) ( x = 0; return true; ) else if (x< 0) { x = 0; return false; } else { return false; } }

Naredba else može se koristiti za dodavanje novog uvjeta ako prethodni uvjet, naredba else if, ne uspije. I kao konačni kod u nizu uvjeta, ako prethodni uvjeti nisu ispunjeni. Alternativno, moguće je koristiti zagrade za tijelo koda ako kod stane u jedan redak.

Naredbe switch, case, break, default

The prebaciti kućište konstrukt se koristi za odabir grananja koda, u čijem se uvjetu odabir vrši cjelobrojnim vrijednostima. To znači da se slučaj switch može koristiti samo za cjelobrojne vrijednosti, nabrajanja i odabire kodom simbola.

Int x = 100; bool check_x() ( prekidač (x) ( slučaj 0: vrati istinito; slučaj 50: x = 0: prekid; slučaj 100: vrati lažno; zadano: vrati lažno; )

U gornjem kodu, provjerava se da je varijabla x jednaka brojevima 0, 50, 100. Zadani operator odabire kod koji se izvršava ako niti jedan od uvjeta nije ispunjen. Imajte na umu također da u bloku koda sa slučajem 50: dodana naredba break, ova naredba izlazi iz uvjeta, dok naredba return izlazi iz funkcije. Ako ne dodate naredbu break, izvršavanje koda će se nastaviti u slučaju 100:. Zbog ove osobitosti konstrukcije kućišta prekidača, moguće je kombinirati uvjete za koje je potrebno izvršiti isti kod. Na primjer:

Int x = 100; bool check_x() ( switch (x) ( case 0: case 50: case 100: return true; default: return false; ) )

, za x jednak 0, 50, 100, funkcija vraća true, dok za sve ostale vrijednosti funkcija vraća false.

Također, kod za odabir veličine slova u ovoj konstrukciji može se omotati u blokove koda, što će ograničiti opseg i koristiti deklaracije varijabli s istim imenom.

Int x = 100; int check_x() ( switch (x) ( case 0: ( int y = 1; return y; ) case 50: ( int y = 2; return y; ) case 100: ( int y = 3; return y; ) default : vrati x; ))

Stoga, ograničavanjem opsega, možemo koristiti varijable s istim imenima u uvjetima slučaja. Ali nemojte zaboraviti da izvan opsega, omeđenog vitičastim zagradama, varijabla y neće postojati u ovom slučaju.

Operatori ciklusa

Izjava while

Naredba while ponavlja kod u svom tijelu sve dok je uvjet ispunjen. Na primjer:

Int i = 0; dok ja< 10) { i = i + 1; }

U ovom kodu ja ću biti 10 nakon petlje.

Izjava do

Naredba do koristi se zajedno s naredbom while i omogućuje da se tijelo petlje izvrši najmanje jednom, prije nego što se provjeri uvjet petlje. Na primjer:

Int i = 15; do ( i = i - 5; std::cout<< i << std::endl; } while (i >0 && i< 13);

U ovom kodu, varijabla I inicijalno ne odgovara uvjetu i u uobičajenoj petlji while kod tijela petlje nije izvršen, ali budući da se koristi petlja do-while, test će se izvesti nakon što se tijelo petlje izvrši pogubljen. Kao rezultat toga, izlaz std::cout je:

Možete pitati zašto je 0 u izlazu? Ne odgovara stanju. Opet, zbog činjenice da se provjera izvodi nakon što se kod izvrši u tijelu petlje. Odnosno, tijelo petlje je izvršeno, a zatim se vrši provjera, rezultat koje ciklus završava svoj rad.

Izjava o prekidu

Kao u slučaju switch, ova se izjava može koristiti u petljama. Ovo je neophodno za izlazak iz petlje, prije nego što se ispuni uvjet ciklusa. Na primjer:

Int i = 15; dok ja< 50) { if (i < 0) { break; } i = i - 5; }

U umjetnom ovom primjeru, vječni ciklus bi rezultirao jer se varijabla i smanjuje umjesto da raste, a prema uvjetu petlje, izlaz će biti proizveden samo ako je i veći od 50. Ali zahvaljujući break naredbi i ispitnom uvjetu za negativnu vrijednost varijable i Izvršenje programa će izaći iz ove petlje čim i postane manje od 0.

Izjava o nastavku

Ovaj operator vam omogućuje da prekinete ponavljanje petlje i započnete novo ponavljanje petlje prije izvršenja cijelog koda u tijelu petlje. Na primjer:

Int i = 0; dok ja< 5) { if (i == 3) { i = i + 1; continue; } std::cout << i << std::endl; i = i + 1; }

Prilikom izvršavanja ovog koda dobivamo sljedeći izlaz:

To jest, izlaz broja 3 će biti izostavljen.

Izjava for

Petlje s naredbom for omogućuju vam kombiniranje inicijalizacije varijabli, uvjeta i promjene tih varijabli.

Odnosno, sljedeća petlja while

Int i = 0; dok ja< 10) {

To će biti ekvivalentno sljedećoj for petlji:

Za (int i = 0; i< 10; i++) { // ToDo Something }

Prednost ove for petlje bit će to što će varijabla I biti u lokalnom opsegu for petlje.

For petlje se mogu inicijalizirati s nekoliko varijabli istog tipa. Na primjer:

Za (int i = 0, *p = i< 9; i += 2) { std::cout << i << ":" << *p << " "; }

Također, uvjet može biti deklaracija, inicijalizacija varijable. Na primjer:

Znak cstr = "Zdravo"; for (int n = 0; char c = cstr[n]; ++n) ( std::cout<< c; }

S obzirom na C++ standard 11, auto varijabla se može koristiti kao tip varijable, što vam omogućuje izlaz tipa varijable iz inicijalizatora:

Std::vektor v = (3, 1, 4, 1, 5, 9); for (auto iter = v.begin(); iter != v.end(); ++iter) ( std::cout<< *iter << " "; }

Također je zanimljivo da inicijalizator, uvjet i blok promjene mogu biti izraz:

Int n = 0; za (std::cout<< "Loop start\n"; std::cout << "Loop test\n"; std::cout << "Iteration " << ++n << "\n") { if(n >1) prekid; )

Počevši od standarda C++11, for petlje, iteracija je dodana za spremnike koji podržavaju iteraciju. Na primjer, vektorski spremnik iz standardne biblioteke:

Std::vektor v = (0, 1, 2, 3, 4, 5); za (const int& i: v) std::cout<< i << " ";

U ovom kodu, konstrukcija petlje je sljedeća:

Za (Dohvaćeno iz spremnika pri svakoj iteraciji objekta: spremnik) ( // Tijelo ciklusa )

Također, petlje for na temelju raspona podržavaju auto naredbu. Na primjer:

Std::vektor v = (0, 1, 2, 3, 4, 5); za (auto& i: v) std::cout<< i << " ";

U ovom ćemo članku nastaviti proučavati osnove PHP-a i razgovarati o ciklusima i stanjima. Prvo, pogledajmo konstrukciju IF - ELSE, koja vam omogućuje izvođenje određenih radnji ovisno o tome je li uvjet ispunjen ili ne. Zatim ćemo prijeći na cikluse. Ukupno će se razmatrati tri dizajna petlje - WHILE, DO - WHILE petlje i FOR petlja.

Osnove PHP-a. IF–ILSE konstrukcije

IF–ELSE konstrukcija omogućuje izvođenje određenih radnji ovisno o tome jesu li uvjeti ispunjeni ili ne. Ovaj dizajn može se široko koristiti u praksi, na primjer, za stvaranje jednostavne zaštite za neki dio web stranice pomoću lozinke. Ako korisnik unese ispravnu lozinku, dobiva pristup privatnom dijelu. U suprotnom, možemo mu dati poruku o pogrešci, na primjer.

U praksi konstrukcija IF – ELSE izgleda ovako:

Pa komentirajmo. Prvo, varijablama se dodjeljuju vrijednosti. Zatim se postavlja uvjet. Ako je varijabla $a jednaka varijabli $b, tada se izvršava kod koji je u prvim vitičastim zagradama. Ako uvjet nije ispunjen, tada se sve što je u prvim vitičastim zagradama preskače i izvršava se kod koji je u vitičastim zagradama nakon ELSE. Kao što vidite, sve je banalno jednostavno i jasno.

Osim jednostavnih uvjeta u PHP-u, možete koristiti nekoliko uvjeta i IF – ELSE konstrukcija. Na primjer, pogledajmo sljedeći kod:

"; if ($e != $c) ( echo "Varijabla E nije jednaka varijabli C
"; ) else ( echo "Varijabla E jednaka je varijabli C
"; ) ) else ( echo "Varijable nisu jednake
"; } ?>

Prvo, varijablama dodjeljujemo određene vrijednosti. Zatim postoje ugniježđene IF – ELSE konstrukcije. Kao što možete vidjeti u PHP-u, svaka IF - ELSE konstrukcija može sadržavati druge slične konstrukcije, čiji je broj, u načelu, neograničen.

Sada pogledajmo znakove koji se primjenjuju u uvjetima.

  • == - u PHP-u ovaj znak znači jednaki. Znak "=" u PHP-u je znak dodjele.
  • != nejednak, na primjer, $a != $b – varijabla $a nije jednaka varijabli $b.
  • i ili &&- zlobno I, na primjer, $a != $b && $c != $d – varijabla $a nije jednaka varijabli $b i varijabla $c nije jednaka varijabli $d.
  • ili ili ||- zlobno ILI, na primjer, $a != $b || $c != $d - varijabla $a nije jednaka varijabli $b ili varijabla $c nije jednaka varijabli $d.

Dakle, shvatili smo tumačenje svih znakova. Sada počnimo čitati gornji kod, koji se riječima može izraziti na sljedeći način:

Ako je varijabla $a jednaka varijabli $b i varijabla $c jednaka varijabli $d ili je varijabla $e jednaka varijabli $d, tada prikazujemo poruku "Varijable su jednake" i radimo prijelom retka. Zatim radimo još jednu provjeru. Ako varijabla $e nije jednaka varijabli $c, tada prikazujemo poruku “Varijabla E nije jednaka varijabli C” i radimo prijelom retka. Ako uvjet nije ispunjen, ispisujemo "Varijabla E jednako je varijabli C." Ako prvi uvjet nije ispunjen, sav kod u prvim vitičastim zagradama se preskače i odmah se prikazuje poruka "Varijable nisu jednake" i pravi se prijelom retka (tag
).

Ovo zaključuje naše razmatranje konstrukcije IF – ELSE. Nadam se da ste razumjeli cijelu bit gore opisanog i prelazimo na daljnje proučavanje osnove PHP-a– proučavanje ciklusa.

Osnove PHP-a. WHILE i DO–WHILE petlje

Petlje u PHP-u imaju vrlo široku primjenu jer vam omogućuju implementaciju mnogih funkcija koje su prisutne na svakoj dinamičkoj web stranici. Jedan od najčešćih zadataka koji se može riješiti korištenjem petlji je, na primjer, prikazivanje najnovijih vijesti sa stranice. Cijela poanta petlji je izvođenje određene radnje sve dok je ispunjen uvjet. Kao primjer, riješimo problem izračunavanja zbroja brojeva od jedan do 10. U ovom slučaju, broj brojeva može biti bilo koji, ali uzmimo broj 10 kao primjer, jer će u ovom slučaju biti lakše provjerite rezultat.

Za rješavanje ovog problema koristit ćemo se WHILE petlja. Kôd za izračunavanje zbroja brojeva od jedan do deset bio bi:

Prije svega, kreiramo varijable $s (zbroj) i $i (brojač) i dodijelimo im vrijednosti. Zatim pišemo WHILE petlju, u čijem uvjetu označavamo da se petlja treba izvršiti sve dok varijabla $i (brojač) ne bude manja ili jednaka 10. Vrijednost varijable $s upisujemo u tijelo petlju i povećajte brojač $i za jedan. To se radi pomoću dva znaka + ($i++) ili jednostavnim dodavanjem jednog ($i = $i + 1). Vrijednost brojača mora se promijeniti bez greške kako bi se izbjeglo cikliranje (izvršenje beskrajne petlje).

Sada pogledajmo kako se program izvršava. Prvo dodijelimo vrijednost varijablama. Petlja zatim provjerava stanje. Ako se izvrši, tada se izvršava kôd koji se nalazi u tijelu petlje (u vitičastim zagradama). Nakon izvršenja tijela petlje i povećanja brojača, uvjet se ponovno provjerava i, ako je istinit, petlja se ponovno ponavlja. Petlja će se ponavljati sve dok je uvjet ispunjen. Nakon što se petlja izvrši, rezultat se prikazuje na zaslonu pomoću operatora Echo output. Više o varijablama i izlaznim operatorima možete pročitati u članku "".

DO – WHILE petlja radi na sličan način. Jedina razlika je u tome što se provjera uvjeta vrši nakon što se petlja izvrši. Dakle, petlja će se u svakom slučaju izvršiti barem jednom. U praksi, DO – WHILE petlja izgleda ovako:

Kao što vidite, u rješavanju problema izračunavanja zbroja brojeva od jedan do deset pomoću DO – WHILE petlje, vrijednosti se prvo dodjeljuju varijablama. Zatim se kod izvršava i vrijednost brojača se inkrementira, a tek nakon svega toga provjerava se uvjet. Ako je ispunjen, ciklus se ponovno ponavlja. U suprotnom, rezultat se ispisuje na ekran pomoću izlaznog operatora.

Osnove PHP-a. FOR petlja

Možete koristiti FOR petlju za sve iste stvari koje možete učiniti s WHILE petljom. Također se koristi pri izradi web stranica, ali, po mom mišljenju, u manjoj mjeri od ciklusa WHILE. Osobno preferiram ovo drugo, ali u ovom članku ćemo se osvrnuti i na FOR petlju, jer je ona dio PHP jezika i morate je poznavati.

Pogledajmo rješavanje prethodnog problema korištenjem FOR petlje. Kod za izračunavanje zbroja brojeva od jedan do deset pomoću FOR petlje izgledao bi ovako:

Kao što vidite, sintaksa FOR petlje je sljedeća. Prvo se inicijaliziraju varijable, zatim se specificira uvjet, nakon čega se ukazuje na radnju koja se mora izvršiti nakon prolaska kroz jednu petlju. Shematski će izgledati ovako:

For (inicijalizacija; stanje; akcija nakon izvršenja jedne petlje) (Tijelo petlje (akcija))

Kao što vidiš, PHP sintaksa slična C++ sintaksi. Ako ste učili C++, tada će vam biti lakše svladati PHP. Ali čak i ako prije niste proučavali druge programske jezike, lako možete savladati osnove PHP-a, budući da je to jedan od najjednostavnijih programskih jezika.

Ovo zaključuje ovaj članak o osnovama PHP-a. Ako vam se svidio moj stil pisanja članaka i sam njihov sadržaj, možete se pretplatiti na vijesti web stranice na bilo koji način koji vam odgovara u stavci "Pretplata".

To je sve. Sretno vam i vidimo se uskoro na stranicama bloga

Grananje(uvjetna instrukcija) je konstrukcija programskog jezika koja osigurava izvršenje određene naredbe ili skupa naredbi samo ako je određeni logički izraz istinit ili izvršenje jedne od više naredbi (skupova naredbi) ovisno o vrijednosti određene izraz.

Ciklus je vrsta kontrolne strukture dizajnirane za organiziranje višestrukog izvršavanja skupa instrukcija.

Grananje i pojedinačne petlje temelje se na operatorima logičke usporedbe koji određuju hoće li se izvršiti sljedeće linije koda ili prijeći na druge.

Operatori usporedbe

Većina operatori usporedbe primjenjiv na numeričke vrijednosti. Sve su to binarni operatori koji imaju dva numerička argumenta, ali vraćaju Booleovu vrijednost.

  • > operator "veće od".
  • >= operator veće od ili jednako
  • < оператор «меньше»
  • <= оператор «меньше или равно»
  • != operator "nije jednako".
  • == operator ekvivalencije

Zadnja dva operator usporedbe koriste se ne samo za numeričke vrijednosti, već i za logičke. Usporedba dva tekstualna operatora vrši se pomoću metoda equals(String object), equalsIgnoreCase(String object).

Vrlo je važno ne brkati operator ekvivalencije s operatorom dodjele. U izrazima koji sadrže operatore različitih tipova prvo se izvode aritmetičke operacije, zatim operacije usporedbe, zatim logičke operacije i na kraju dodjela.

Logički operatori

Prilikom izvođenja operacija usporedbe ili dodjele mogu biti prisutni logički operatori. Postoji jedan unarni i nekoliko binarnih logičkih operatora. Argumenti za sve ove operatore su logički literali (konstante), logičke varijable i izrazi koji imaju logičku vrijednost.

Logički operatori imaju sljedeći prioritet: negacija, konjunkcija, disjunkcija.

Kao i kod aritmetičkih operatora, zagrade se koriste za podešavanje prioriteta operacije. Ako je jedan par zagrada ugniježđen unutar drugog para zagrada, prvo se procjenjuje vrijednost u unutarnjim zagradama.

Primjeri korištenja logičkih operatora

Booleov a = istina; booleov b; booleov c; b = a || pravi; // b je istinito b = !b; // b false System.out.println(b); // izbaci vrijednost false na konzolu a = a || b; // a je istinito c = a && (a || b); // s istinitim System.out.println(c); // izlaz na konzolu vrijednosti true boolean m; booleov w; m = 5 >= 4; // istinito m = 5 != 5 || lažno; // lažno w = m == lažno; // true System.out.println(w); // prikaz vrijednosti true na konzoli

Operateri podružnica

Sintaksa izjave grananja if else

If (uvjet)( ... // složeni operator br. 1 ) else ( ... // složeni operator br. 2 )

Ako složena naredba u glavnoj ili alternativnoj grani kontrolne naredbe sadrži samo jednu jednostavnu naredbu, tada se vitičaste zagrade mogu izostaviti. U ovom slučaju, sintaksa operatora grane će imati oblik:

If (uvjet) ... // jednostavni operator br. 1; inače ... jednostavna izjava #2;

Glavna svrha operatora grananja je implementacija algoritama grananja. Na primjer, fragment programa za izračunavanje funkcije: Y(x) = x*x, za x< 0 и Y(x) = 2*x, при x >= 0

Int x, y; // Čitanje x, y vrijednosti iz konzole Scanner in = new Scanner(System.in); System.out.println("Unesite x:"); x = in.nextLine(); System.out.println("Unesite y:"); y = in.nextLine(); ako (x< 0) y = x*x; else y = 2*x; System.out.printf ("Результат: %i\n", y);

Kod konstruiranja programa s nekoliko uzastopnih naredbi grananja mora se voditi računa o sljedećem pravilu: naredba drugo odnosi se na posljednju izjavu ako. Na primjer, razmotrite fragment programa:

Ako je (x > 10,0) y = 2*x + 5; ako (y< z) y = fabs(x); else y = 2.5*x;

Ako je potrebno prekinuti ovaj poredak (tj. granu drugo odnosi se na prvog operatera ako), tada je potrebno uključiti drugu if naredbu u složeni operator izravne grane prve if naredbe:

Ako (x > 10,0) ( y = 2*x + 5; ako (y< z) y = fabs(x); } else y = 2.5*x;

U programiranju često postoji potreba za stvaranjem kaskadnih naredbi grananja. Sintaksa takve strukture je:

If (uvjet br. 1) (složeni iskaz br. 1) else if (uvjet br. 2) (složeni iskaz br. 2) ... ( ) else if (uvjet br. N) (složeni iskaz br. N) else (složena izjava br. N+ 1 )

Multivarijantno grananje, naredba switch

Oblikovati ako drugo može biti nezgodno ako morate birati između nekoliko opcija. Operater sklopka pruža jasan način prebacivanja između različitih dijelova koda na temelju vrijednosti jedne varijable ili izraza. Opći oblik ovog operatora je:

Prebaci (izbor) ( case value1: break; case value2: break; case value: break; default: )

Izvršenje koda počinje na oznaci slučaj, što odgovara vrijednosti izraza izbor, i nastavlja se do sljedeće izjave pauza ili kraj izjave sklopka. Ako nijedna oznaka ne odgovara vrijednosti varijable, izvršava se zadana sekcija, ako je navedena.

Imajte na umu da oznaka slučaj mora biti cijeli broj. Ne možete provjeriti nizove. Sve vrijednosti velikih i malih slova moraju biti jedinstveni literali. Ako dva case iskaza sadrže iste vrijednosti, prevoditelj će generirati poruku o pogrešci.

Imajte na umu da je zadana izjava izborna. U slučaju kada niti jedna naredba case ne odgovara vrijednosti izraza i in sklopka nema zadane naredbe Izvršenje programa nastavlja se naredbom koja slijedi iza naredbe switch.

Ako slučaj ne završi naredbom break, tada će se nakon trenutnog odjeljka slučaja izvršiti sljedeći. Ponekad je zgodno imati nekoliko uzastopnih case odjeljaka u switch naredbi, koji nisu odvojeni break naredbom.

java petlje

U Javi postoje dvije vrste petlji:

  • petlja poput "while" - while i do...while
  • tip "n-vrijeme" - za (inicijalizaciju; stanje; iteraciju)

Prva vrsta "dok" je dizajnirana za ponavljanje neke radnje sve dok je ispunjen neki uvjet. Primjer: povećavajte vrijednost varijable za 3 dok ne dosegne tri znamenke.

Drugi tip "n-vrijeme" namijenjen je ponavljanju nekih radnji unaprijed određeni broj puta. Primjer: pronađite faktorijel od 6.

Dok i do...while petlje

Operater dok ponavlja navedene radnje sve dok njegov izraz ima pravu vrijednost.

Sintaksa while petlje

Dok (logički izraz) ( ... // tijelo petlje )

Primjer ispisivanja vrijednosti niza na konzolu:

String lst = ("Zima", "Ljeto", "Jesen", "Proljeće"); int i = 0; dok (i++< lst.length){ System.out.print(lst[i] + " "); }

Uvjet za potrebu ponavljanja ciklusa provjerava se prije svakog koraka ciklusa, uključujući i prvi.

Java također nudi mogućnost korištenja petlje s testiranjem nakon uvjeta. Za pisanje se koristi konstrukcija operatora učiniti... dok.

Do ( ... // tijelo petlje ) dok (logički izraz)

Sljedeća petlja će se izvršiti 4 puta i "1 2 3 4" će se ispisati na konzoli:

Int i = 0; do ( i++; System.out.print(Integer.valueOf(i) + " "); ) while(5 > i);

Tijelo petlje učiniti... dok izvršiti barem jednom. Ovaj operator je prikladan za korištenje kada se neka radnja u programu mora izvršiti barem jednom, ali pod određenim uvjetima morat će se ponoviti više puta.

za petlju

Operater za sadrži tri parametra: parametar inicijalizacije, parametar ponavljanja, parametar iteracije.

za sintaksu petlje

Za (inicijalizacija; uvjet; iteracija) ( // tijelo petlje, tj. radnje koje se ciklički ponavljaju)

Prvi parametar definira varijablu koja će se koristiti za brojanje broja ponavljanja petlje. Zove se brojač. Brojaču se daje neka početna vrijednost (oni pokazuju od koje će se vrijednosti promijeniti). Drugi parametar označava neka ograničenja na brojaču, tj. na koju vrijednost će se promijeniti. Treći parametar specificira izraz koji mijenja brojač nakon svakog koraka petlje. Obično je to povećanje ili smanjenje, ali možete koristiti bilo koji izraz u kojem će brojaču biti dodijeljena nova vrijednost.

Predstavljeni program prikazuje vrijednosti polja na konzoli:

String lst = ("Zima", "Ljeto", "Jesen", "Proljeće"); // izravnim redoslijedom za (int i = 0; i< lst.length; i++) { System.out.print(lsti] + " "); } // в обратном порядке for (int i = (lst.length - 1); i >= 0; i--) ( System.out.print(lsti] + " "); )

U jednom ciklusu možete postaviti nekoliko brojača odjednom. Da biste to učinili, morate nekoliko izraza u iteraciji i inicijalizaciji odvojiti zarezima. Može se navesti samo jedan uvjet ponavljanja, ali to može biti izraz koji sadrži nekoliko brojača odjednom.

Predstavljeni kod će konzoli ispisati sljedeći niz: “0 -1 -4 -9 -16 -25”

For(int a = 0, b = 0; a - b<= 10; a++, b--){ System.out.print(" " + a*b); }

Prekid ciklusa, pauza

Za prijevremeni prekid petlje upotrijebite operator pauza. U ovom slučaju dolazi do trenutnog izlaska iz ciklusa; trenutni korak neće biti dovršen. Oni. ako je bilo bilo kakvih drugih naredbi nakon prekida, one se neće izvršiti.

Primjeri prekidajućih petlji:

// Prekid for petlje for (int a = 1; a<= 10; a++){ if (a == 5) break; System.out.println("a = " + a); } // Прерывание цикла while int s = 100; while(true) { System.out.print(s +" "); s = s / 2; if (s == 0) break; System.out.println("s = " + s); }

Prekinite petlju, nastavite

Za prekid petlje možete koristiti operator nastaviti. Za razliku od naredbe break, koja prekida petlju, naredba continue prekida samo trenutni korak petlje i prenosi kontrolu na početak petlje.

// Prekid petlje while int s = 100; while(true) (​System.out.print(s +" "); s = s / 2; if (s == 25) continue; else if (s == 0) ( break; ) else System.out .println ("s = " + s); )

U primjeru, ako je vrijednost s jednaka 25, sljedeća iteracija petlje će se prekinuti i kontrola će se prenijeti na početak petlje.

Ako operater nastaviti koristi se u petlji za, tada će prenijeti kontrolu na operator povećanja brojača petlje.

Jedan od najvažnijih alata u programiranju su petlje. Korisni su u slučajevima kada morate nešto učiniti određeni broj puta.

Ako postoji takav zadatak, na primjer, prikazati redak "zdravo svima" 1000 puta. Zatim, bez upotrebe petlje, prvo će trebati puno vremena, a drugo, neće izgledati baš lijepo. Zato morate savršeno poznavati cikluse jer se koriste vrlo, vrlo često.

Postoje četiri petlje u programiranju, to su while, do-while, for i foreach. Svaki od njih ima svoju sintaksu i svaki se koristi u određenim slučajevima.

Najčešće korištene petlje su for i foreach, nakon kojih slijedi while, a do-while petlja je vrlo rijetka.

Počet ćemo s while petljom.

Sintaksa while petlje je sljedeća:


Prvo deklariramo varijablu i, koja je brojač, a unutar petlje taj brojač povećavamo. Unutar zagrada upisujemo uvjet za ulazak/izlazak iz petlje.

Komentar! Napišite izlazni uvjet ispravno, inače se može dogoditi beskonačna petlja i tada će se skripta zamrznuti. Takav se ciklus može dogoditi ako, na primjer, jednostavno napišemo true u izlaznom uvjetu.

Na primjer, ispišite niz "Pozdrav svima!" 10 puta.

Var i = 0; dok(i "); i++; )

Varijabla i može početi od 0 ili 1 ili od bilo kojeg drugog broja.

Izlazni uvjet je ujedno i ulazni uvjet. Petlja radi na sljedeći način: prvo se provjerava je li varijabla i manja od 10, i ako je uvjet istinit, tada ulazimo u petlju, u suprotnom ne. U ovom slučaju, ako je varijabla i jednaka 30, na primjer, tada se petlja neće izvršiti, jer 30 nije manje od 10.

Ušli smo u ciklus, ispisali redak “Pozdrav svima”, povećali brojač i opet idemo na uvjet, gdje ponovno provjeravamo da li je vrijednost varijable i manja od 10, zatim ulazimo u ciklus, inače izlazimo iz njega. I to se događa sve do trenutka kada uvjet unosa postane lažan, odnosno vrijednost varijable i bit će 10. 10 nije manje od 10, tako da više ne ulazimo u petlju, već idemo dalje.

Komentar! Ne zaboravite povećati brojač (i++), inače ćete završiti s beskonačnom petljom.

Obradili smo while petlju, a sada idemo na do-while petlju.

Sintaksa do-while petlje je sljedeća:


Razlika između while petlje i do-while petlje je u tome što se do-while petlja može izvršiti barem jednom, bez obzira na uvjet, dok se while petlja uopće neće izvršiti ako je uvjet lažan.

Komentar! Baš kao i kod while petlje, ne zaboravite povećati i brojač.

Prijeđimo na praksu. Na primjer, izračunajmo umnožak brojeva od 1 do 10.

Var i = 1; var proizvodnja = 1; do( proizvodnja *= i; i++; )dok(i

Rezultat će biti broj 3628800. U prvom koraku smo odmah ušli u petlju, unatoč njenom stanju, gdje je izvršena operacija production *= i (to je isto kao production = production * 1). Zatim povećavamo brojač. Nakon inkrementacije ima vrijednost 2. I na kraju provjeravamo uvjet, ako je vrijednost brojača manja ili jednaka 10, onda idemo na sljedeću iteraciju petlje, inače izlazimo iz petlje i idemo dalje .

za petlju

Kao što sam gore napisao, for petlja se pojavljuje prilično često, pa je morate dobro poznavati.

za sintaksu petlje Sljedeći:


Radi boljeg razumijevanja, riješimo jednostavan problem. Recimo da trebamo izračunati zbroj brojeva od 1 do 1000 koristeći for petlju.

Var zbroj = 0; za (var i = 1; i

Spremamo dokument, otvaramo ga u pregledniku i vidimo da je rezultat 500500.

Komentar! Ako postoji samo jedna izjava u petlji, tada vitičaste zagrade nisu potrebne.

Za demonstraciju, prikažimo neki niz na ekranu 5 puta, na primjer "Hello!"

Za(var i = 1; i

Komentar! Nakon što se petlja izvrši, posljednja vrijednost ostaje u varijabli i.

Sada riješimo malo kompliciraniji problem, na primjer, trebamo ispisati niz "Hello" 100 puta. A kako se sve to ne bi pojavilo u jednom redu, onda nakon svake 10. iteracije prelazimo u novi red. I na kraju ćemo ispisati vrijednost varijable i.

Za(var i = 1; i<= 100; i++){ document.write("привет!"); if(i % 10 == 0)  document.write("
"); ) document.write("

Varijabla i = " + i + "

"); // i = 101

foreach petlja Obično se koristi za ponavljanje preko objekata i nizova. Stoga ću o tome govoriti u članku koji opisuje rad s nizovima.

break izjava namijenjen je nasilnom izlasku iz petlje.

Nastavi operator omogućuje vam da prekinete trenutnu iteraciju petlje i prijeđete na sljedeću.

Radi boljeg razumijevanja, riješit ćemo i jednostavan problem. Recimo da želimo izračunati zbroj neparnih brojeva od 1 do 20. A kada dođemo do 15. iteracije, izaći ćemo iz petlje.

Var zbroj = 0; za (var i = 1; i<= 20; i++){ //Пропускаем текущею итерацию цикла if(i % 2 == 0) continue; summa += i; //Выходим совсем из цикла. if(i == 15) break; document.write(i + ". Итерация
"); ) document.write("

summa= " + zbroj + "

"); //zbroj = 64

Spremamo dokument, otvaramo ga u pregledniku i gledamo rezultat.

Za vježbanje pokušajte promijeniti napisani tekst tako da izračunava zbroj parnih brojeva.

Ovo završava ovaj članak. Sada znaš sintaksa while, do-while, for petlji i kako raditi s njima. I mi smo se upoznali prekinuti i nastaviti izjave.

Najbolji članci na temu