Java

Java silmuseks

Java silmuseks
Mõnikord nõuab probleemi lahendamiseks konkreetse väljundi saamiseks mõnda lauset korduvalt ja seda tüüpi ülesandeid saab hõlpsasti teha mis tahes tüüpi tsüklit kasutades. Üldiselt toetab enamik programmeerimiskeeli kolme tüüpi silmuseid. The "eest" loop on üks neist. See silmus on väga kasulik erinevat tüüpi programmeerimisülesannete täitmiseks. Kuidaseest loopi saab Java-s kasutada mitmel eesmärgil, selgitatakse selles õpetuses.

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 importimine
import 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 for2
public 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_each
public 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.

Viis parimat mängu püüdmise kaarti
Me kõik oleme YouTube'is voogesituse mänge näinud ja armastanud. PewDiePie, Jakesepticye ja Markiplier on vaid mõned tipptasemel mängijatest, kes on t...
Kuidas mängu Linuxis arendada
Kümme aastat tagasi ei osanud paljud Linuxi kasutajad ennustada, et nende lemmikoperatsioonisüsteem on ühel päeval populaarne kommertsvideomängude män...
Kommertsmängumootorite avatud lähtekoodiga sadamad
Tasuta, avatud lähtekoodiga ja platvormidevaheliste mängumootorite puhkusereise saab kasutada nii vanade kui ka mõnede üsna hiljutiste mängude pealkir...