I Java, som i næsten ethvert sprogprogrammering er der værktøjer til at sikre gentagelse af et bestemt stykke kode, eller som de kaldes cyklusser. Cykler i Java repræsenteres af operatører som for og imellem samt deres sorter. Som regel bruges cykler til at passere gennem endimensionale og multidimensionale arrays og itererede datastrukturer (inklusiv samlinger) for at finde bestemte elementer og yderligere operationer med dem. Dette er imidlertid ikke den eneste måde at bruge et værktøj som Java-loop på. Eksempler på brug vil blive givet som de overvejes.

Cyklus mens Java: beskrivelse og eksempler

Den underliggende cyklusopgørelse i Java ermens. Kodefragmentet indesluttet i sin krop vil blive gentaget, indtil tilstanden af ​​udtrykket indesluttet i parentes efter det vil tilfredsstille den logiske værdi af sandheden. Den generelle formulering af det lange udsagn er:

mens (betingelse) {

// loopens krop

}

Så snart værdien af ​​den logiske tilstand ophører med at være sandt, vil koden vedlagt i loopens krop ophøre med at udføres, og kontrollen overføres til den umiddelbart efterfølgende linje.

sløjfer i java
Hvis der kun er en operatør i loopens krop,så kan de krøllede seler ikke indstilles, men det betragtes som en god form, hvis de altid står. Figuren ovenfor viser et blokdiagram over operatøren af ​​denne operatør.

Af klarhed skal vi se på eksemplet vist i nedenstående figur:

mens java-sløjfen

Den deklarerede variabel tæller har oprindeligtværdi 1. Næste ser vi et logisk udtryk indeholdt i parentes efter operatørens navn. Det vil være sandt, dvs. returnere sande indtil tællingen er mindre end eller lig med 10. I loopens krop, med hver iteration, øges værdien af ​​variablen med 1 og vises på konsolskærmen. Bemærk, at når værdien af ​​variablen nåede 11, ophørte cyklusen med at virke.

Hvis værdien af ​​variabel tællingen var oprindeligt lig med 11, ville sløjfebetingelsen være falsk, og programmet ville ikke engang gå ind i hans krop.

Det er værd at bemærke, at Java-syntaksen tillader detBrug mens udsagnet uden en krop. Lad os give et eksempel. Antag at vi har to variabler i = 100 og j = 200, vi står over for opgaven med at programmere beregne deres aritmetiske gennemsnit - du kan bruge en "hule" mens:

mens (++ i <- j);

Som et resultat vil værdien af ​​en af ​​de to variabler være lig med gennemsnittet af deres oprindelige værdier. Som du kan se, fungerede cyklen perfekt uden en krop og udførte alle nødvendige handlinger i et betinget udtryk.

Do-while loop

I de foregående eksempler, hvis det betingede udtrykoprindeligt returneres falsk, ville udførelsen af ​​programmet ignorere loopens krop og gå videre. Imidlertid er der ofte situationer, hvor udførelsen af ​​koden indeholdt i loopens krop, nødvendigvis mindst en gang, uanset gyldigheden af ​​det betingede udtryk. Det betyder med andre ord, at det ikke er nødvendigt at kontrollere gyldigheden af ​​et betinget udtryk i begyndelsen, men i slutningen af ​​en cyklus. Denne funktionalitet kan tilvejebringes af en slags while loop kaldet do-while. Den har følgende formular:

gør {
// loopens krop

} mens (tilstand)

Som vi kan se, er loopkroppen først udført, og først så er tilstandens sandhed kontrolleret - og så videre hver iteration.

cyklus java eksempler

Koden ovenfor virker som denneDet samme som i tilfældet med den sædvanlige stund. Men hvis vi gav tællervariablen en værdi på 11, vil sløjfekroppen stadig blive udført en gang før operatøren kunne bekræfte udtrykkets gyldighed.

Beskrivelse og eksempler på - Java cyklus

For loop er en universel ogeffektiv sprogformular i Java. Forud for den femte version af Java SDK var der kun en traditionel form for forklaring, og derefter en ny for hver. I dette afsnit får vi kendskab til den traditionelle form for operatøren. for java ser sløjfen sådan ud:

til java loop

Før kontrol gives koden i kroppencyklus starter initialiseringen af ​​variablen i, som fungerer som en tæller, først. Dernæst tjekker vi det betingede udtryk, hvor tælleren sammenlignes med en bestemt værdi, og hvis den vender tilbage, udføres løbehovedet. Derefter ændres tællerværdien til et forudbestemt trin, og det betingede udtryk tjekkes igen, og så videre, indtil tilstanden bliver falsk. Flow diagrammet nedenfor illustrerer alle faser af cyklussen.

til java loop

For en bedre forståelse, lad os give et eksempel på, hvordan Java-sløjfen fungerer:

til java loop

Vi ser at tælleren brugesvariabel loopVal. Efter hver iteration af sløjfen øges værdien med 1, og dette vil ske indtil det når 11. Bemærk, at kontrolvariablen også kan deklareres uden for forklaringen, men hvis du ikke vil bruge denne variabel overalt, undtagen i en løkke anbefales det at erklære det direkte i erklæringen. Husk, at den deklarerede variabel i selve erklæringen har et anvendelsesområde inden for samme loop.

Der er situationer, hvor det er nødvendigt at erklæreflere variabler, der styrer cyklen. For Java giver en loop mulighed for at angive to eller flere variable adskilt af et komma, og dette gøres både under initialisering og iteration. En sådan operatør vil have følgende formular:

for (int i = 1, int j = 10; i <j; ++ i, - j) {}

Ved hver iteration vil værdien af ​​variabelen øges med 1, og værdien af ​​variablen j vil falde med 1. Iterationerne vil blive udført, indtil jeg bliver større end eller lig med j.

Funktioner ved brug af for-sætningen

For loop er ret fleksibelkonstruktion, da alle tre dele (initialisering, tilstand og inkrement / reduktion) ikke kan anvendes til det tilsigtede formål. I stedet for et betinget udtryk med en kontrolvariabel kan du for eksempel erstatte enhver logisk variabel.

boolean exit = false;

for (int i = 0 ;! exit; ++ i) {

exit = true;

}

I eksemplet ovenfor kan vi se hvordan arbejdetcyklus afhænger ikke kontrol variablen i og antallet af iterationer afhænger helt af hvad tid på exit variabel vil blive sat til true. Desuden styringen variabel kan helt fjernes fra cyklen, og det vil ikke påvirke hans arbejde: for (; exit ;!) {}. Selv om det ikke er den mest fornuftige måde at programmere, kan det undertiden være nyttigt. De vigtigste ting - at fastsætte en situation, hvor den variable vil tage retten til at afslutte cyklussen værdi, for ikke at gøre det til en endeløs.

For Java kan en loop blive erklæret og såmåde: for (;;) {}. Dette er et typisk eksempel på en uendelig sløjfe med særlige afbrydelsesforhold. Om hvordan man afbryder denne slags cykler, snakker vi lidt senere.

Cykle i stil for hver

Java foreach loop bruges altid tilsekventiel søgning af elementerne i arrayet eller en vis datastruktur og udførelsen af ​​visse gentagne operationer over dem. Et eksempel på denne form for forklaring er vist nedenfor:

foreach java loop

Iterationsvariablen er erklæretnavn, og den tidligere deklarerede række af strengnavne virker som operatørens andet argument. Det variable navn vil tage værdierne for hvert element i arrayet en ad gangen, indtil alle dens elementer er ekstraheret. Det skal bemærkes, at typen af ​​variablen skal være kompatibel med typen af ​​elementer, der er lagret i arrayet. Navnevariabelen er også skrivebeskyttet, og forsøger at ændre det ændrer ikke selve elementet i arrayet.

Cycle Interrupt Operators

Der er tre afbrydelsesoperatører til sløjfen: pause, vende tilbage og fortsæt. De to første er i stand til fuldstændigt at afbryde sløjfen, og fortsætter med at afbryde kun driften af ​​den aktuelle iteration. Hvis du bruger en bevidst uendelig Java-cyklus i din kode, skal disse operatører være til stede i den. Overvej et simpelt eksempel på brugen af ​​pause:

Afslut java-søjlen

Selv om 11 iterationer er angivet i denne til erklæring, vil kun 8 blive udført, fordi når tælleren i er 7, vil tilstanden i kroppen, hvor der er en pauseopgørelse, fungere.

Returopgørelsen virker på en lignende måde med forskellen, at den ikke kun giver en udgang fra Java-sløjfen, men også fra den metode, hvor denne sløjfe er placeret.

Brug pause som goto

Det skal tages i betragtning, at pause afbryder arbejdetKun cyklen i hvis krop den er direkte placeret, dvs. Hvis du bruger det i en indlejret loop, vil den ydre loop ikke stoppe med at virke. Til dette kan pauseopgørelsen bruges som en civiliseret form for goto.

I denne variant bruges denne operatør iEt bundt med en etiket, der giver dig mulighed for at organisere output ikke kun fra cykler, men fra enhver blok kode. En etiket er en passende navngivet identifikator med et kolon efter det. Mærket er erklæret i begyndelsen af ​​den markerede blok kode. For at afbryde udførelsen af ​​en markeret blok på det rigtige sted skal du erklære: break name_name. Overvej eksemplet i nedenstående figur:

uendelig java loop

Koden har tre blokke mærket One,Henholdsvis to og tre Pauseoversigten med etiketten To er indlejret i alle tre blokke, men når den udløses, forlader programmet fra de tre og to blokke og fortsætter eksekveringen i One-blok. dvs. i konsollen vil vi se to meddelelser: Tre og En.

konklusion

Vi har kendskab til begrebet cykler i Java,den vigtigste stund og for udsagn, såvel som deres do-while og for hver formular, henholdsvis. For bedre forståelse anbefaler vi, at du udfører øvelser ved at bruge disse operatører i forskellige former, samt forskellige måder at afbryde dem og flytte fra en blok til en anden.