Silmuse „for” tüübid:
A. "eest" silmus määratletud arvu iteratsiooni jaoks
Süntaks:
for (initsialiseerimine; lõpetamise tingimus; juurdekasv / vähenemine)Väide 1… n
Sellel silmusel on kolm osa. Esimene osa sisaldab lähtestusmuutujat, kust silmus iteratsiooni alustab. Teine osa sisaldab lõpetamistingimust, mida kasutatakse silmuse lõpetamiseks. Kolmas osa sisaldab initsialismuutujale tuginevat juurdekasvu või vähendamise lauset lõpetamistingimuse saavutamiseks.
B. "eest" silmus määratlemata arvu korduste jaoks
Süntaks:
for (muutuja: massiiv või kogu)Väide 1… n
Seda tsüklit kasutatakse peamiselt massiivi või kogumismuutuja väärtuse kordamiseks. See silmus jätkab iteratsiooni seni, kuni kõik üksused on läbi loetud.
Nende tsüklite erinevaid kasutusviise on selgitatud selle õpetuse järgmise osa näidetega.
Näide 1: arvutage arvu faktoriaal
Kasutades saab loogilise probleemi lahendada väga lihtsalt "eest" silmus. Selles näites on näidatud, kuidas arvu faktori väärtust saab arvutada silmuse „for” abil. Kasutajalt võetakse täisarv ja salvestatakse muutujasse nimega 'n '. Teine muutuja, 'tulemus' selle väärtuse salvestamiseks lähtestatakse väärtuseks 1 n!. "eest" silmus kordab n korda ja korrutab väärtuse 'tulemus' väärtusegama ' igas iteratsioonis. Tulemus muutuja sisaldab väärtust n! pärast lõpetamist silmusest, mis hiljem prinditakse.
// Skanneri paketi importimineimport java.kasut.Skanner;
avalik klass for1
public staatiline void main (String [] args)
// Skanneri objekti loomine
Skanneri sisend = uus skanner (süsteem.sisse);
Süsteem.välja.print ("Sisestage number:");
// Võta kasutajalt stringi andmed
int n = sisend.järgmineInt ();
// Lähtesta tulemuse muutuja
int tulemus = 1;
/ * Silmus kordub n korda
* n arvutamiseks!
* /
jaoks (int i = 1; i<=n; i++)
// Korrutage i väärtus tulemusega ja salvestage tulemusse
tulemus * = i;
// Prindi faktori väärtus
Süsteem.välja.print ("" + n + "faktoriaal on" + tulemus ");
// Sulgege skanneri objekt
sisend.Sulge();
Väljund:
Järgmine pilt näitab koodi väljundit. Siin, 5 võetakse väärtuseks n ja 5! on 120 see on trükitud.
Näide 2: loendage massiivi positiivsed, negatiivsed ja nullarvud
Kuidasjaoks loopi abil saab lugeda arvulise massiivi väärtusi ja lugeda selles näites massiivi positiivsete, negatiivsete ja nullarvude koguarvu. Koodis on määratletud kümnest elemendist koosnev arvuline massiiv. The pikkus omadust kasutatakse Java-s massiiviobjektide koguarvu loendamiseks. Seda kasutatakse "eest" loop, et määrata mitu korda tsükkel kordub. Positiivne, negatiivne, ja null Tulemuse salvestamiseks lähtestatakse loendurimuutujate väärtuseks 0. Järgmine, "poolt" loopi kasutatakse massiivi iga väärtuse lugemiseks ja konkreetse loenduri väärtuse suurendamiseks kontrollimise teel 'kui ' seisund. Kõik loendurid muutujad prinditakse hiljem.
avalik klass for2public staatiline void main (String [] args)
// Deklareeri numbriline massiiv
int numberic_arr [] = 34, -45, 12, 0, -5, 23, 0, 98, 21, 7;
// Inicialiseeri loendurid
int positiivne = 0, negatiivne = 0, null = 0;
/ * Kordage massiiv, kasutades silmust ja
* saada teada positiivne, negatiivne ja nullarv
* /
jaoks (int i = 0; i 0)
positiivne ++;
muidu if (numberic_arr [i] < 0)
negatiivne ++;
muud
null ++;
// Prindige loenduri väärtused
Süsteem.välja.print ("Positiivsed arvud:" + positiivsed + "\ n" +
"Negatiivsed arvud:" + negatiivne + "\ n" +
"Nullarv:" + null);
Väljund:
Järgmine pilt näitab koodi väljundit. Massiivis on 6 positiivset, 2 negatiivset ja 2 nullarvu.
3. näide: massiivi iga väärtuse põhjal printige konkreetne sõnum
Mitu korda "eest" korduv tsükkel on määratletud kahes eelmises näites. Selles näites "eest" aasaga kasutatakse "lülituskarp" lause massiivi iga väärtuse põhjal konkreetse teate printimiseks. Mitu korda see silmus kordub, sõltub massiivi elementide arvust. Niisiis, tsükkel kordub, kuni kõik massiivi elemendid on sõelutud. Igas iteratsioonis sobitab see elemendi väärtuse juhtumiväärtusega ja prindib konkreetse teate, kus vaste leiti; vastasel juhul prindib see vaikesektsioonis määratletud teate.
avalik tund for_eachpublic staatiline void main (String [] args)
// Deklareeri numbriline massiiv
Stringviljad [] = "Mango", "Banaan", "Viinamarjad", "Pirn", "Maasikas";
// Silmus kordab seni, kuni kõik väärtused on massiivist parsitud
for (String puuviljad: puuviljad)
// Trüki puuviljal põhinev sõnum
lüliti (puuvili)
juhtum "Mango":
Süsteem.välja.println ("Mango värv on roheline");
murda;
juhtum "Banaan":
Süsteem.välja.println ("Banaani värv on kollane");
murda;
juhtum "Viinamarjad":
Süsteem.välja.println ("Viinamarjade värv on lilla või heleroheline");
murda;
ümbris "Strawberry":
Süsteem.välja.println ("Maasika värv on punane");
murda;
vaikimisi:
Süsteem.välja.println ("Värvide teave" + puuviljad +
"ei leitud");
Väljund:
Järgmine pilt näitab koodi väljundit. Siin ei leitud otsingule vastet "Pirn" ja vaiketeade prinditakse ainult selle väärtuse jaoks.
Järeldus:
"eest" loop on väga kasulik mitut tüüpi probleemide hõlpsaks lahendamiseks. Fikseeritud arvu korduv silmus ja massiiviobjektide andmete lugemine on selles õpetuses selgitatud erinevate näidete abil. Loodan, et see õpetus aitab uutel Java kasutajatel kandideerida "jaoks nende kood korralikult sisse lülitada.