CodeGym /Java blog /Véletlen /Java While Loop
John Squirrels
Szint
San Francisco

Java While Loop

Megjelent a csoportban
A while ciklus szinte minden programozási nyelvben megtalálható, ez alól a Java sem kivétel. Míg a Java és más nyelvek ciklusa egy utasítást vagy utasításblokkot hajt végre mindaddig, amíg az azt kiváltó feltétel értéke igaz. Ebben a cikkben arról fogunk beszélni, hogyan kell dolgozni a while ciklussal. Java While Loop - 1

Mire valók a ciklusok?

A legelső programjai utasítások sorozata voltak, amelyeket lépésről lépésre, egymás után hajtottak végre. Villák és ismétlések nélkül. Később feltételes operátorok segítségével kezdtük el az elágazásokat használni. Nos, az ismétlődő műveletek végrehajtásához ciklusok vannak. Talán a ciklusok jelentik az egyik legnyilvánvalóbb előnyt a kezdő programozók számára, amelyet a folyamatautomatizálás nyújt. Képzeld el, hogy írnod ​​kell egy nyomkövető programot, amely számolja az egy nap megtett lépések számát. És amikor például 10 000 lépést tesz meg, a programnak értesítést kell küldenie az elért célról. Az értesítés kiadásának feladata a következő szavakkal (vagy pszeudokóddal) fejezhető ki:

While (number of steps less than 10,000)
{
Count steps
}

Send notification "you have reached the goal"
Vagyis amint a lépések száma megegyezik a feltételben megadottal, a program kilép ebből a ciklusból és értesítést küld. Vagy egy másik példa. Képzeld el, hogy meg kell memorizálnod egy verset (vagy beszédet). Egy verset akkor tekintünk megjegyzettnek, ha háromszor egymás után el tudja olvasni anélkül, hogy leskelődne. Ha elképzel egy programot, amely rögzíti a versmondási kísérleteit, akkor egy ciklust is használnia kell:

While (success < 3)
learn a poem
Hasonló konstrukciókat használnak minden modern oktatási alkalmazásban, amelyet például nyelvtanuláshoz vagy hangszereken való játékhoz használnak.

Míg hurok és szerkezete

A fenti példákhoz hasonló problémák megoldásához, és általánosabban, az ismétlődő műveletek automatizálásához a Java nyelvben, használhatja a while ciklust. A Java while ciklus jól működik a mi esetünkben. Ez a kialakítás több műveletet rendez tömör és érthető szerkezetbe. A while ciklus utasítás szinte minden programozási nyelvben megtalálható. Addig ismétel egy utasítást vagy utasításblokkot, amíg a vezérlőkifejezésének értéke igaz. A while ciklus formája a következő:

while(condition == true) {
    // statement or loop body
}
A feltételnek logikai kifejezésnek kell lennie, vagyis olyannak, amelyről elmondható, hogy igaz vagy hamis. Íme néhány példa a logikai kifejezésekre:

s != "exit";
a > 5;
true;
A ciklus törzse mindaddig végrehajtásra kerül, amíg a feltételes kifejezés igaz. Amikor a feltétel hamissá válik, a vezérlés átkerül a ciklus után következő kódsorra. Ha csak egy utasítást használunk a ciklusban, akkor a göndör kapcsos zárójelek elhagyhatók (de jobb, ha ezt nem tesszük). A logikai kifejezés kiértékelése a while ciklus kezdete előtt , majd minden alkalommal az utasítás következő ismétlésének végrehajtása előtt történik.

Míg hurokpéldák

Írjunk egy programot, amely egy while ciklus segítségével összegzi az összes számot 1-től 10-ig:

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
   //while loop     
   while (i < 11) {
           sum = sum + i;
           i++;
       }
       System.out.println(sum);
   }
}
A kimenet a következő:
55
Ki kell számítanunk az összes szám összegét 1-től (vagy nullától, mindegy) 10-ig. A kezdeti összeget és az első elemet nullával egyenlővé tesszük, és az elemet eggyel növeljük minden egyes lépésnél. a hurok. Addig folytatjuk az összegzést, amíg az argumentum egyenlővé nem válik 10-gyel (azaz kisebb, mint 11. Hasonlóképpen felírhatjuk az i <= 10 feltételt is ). Vegyünk egy másik Java while ciklus példát. Olyan programot fogunk írni, amelyben a felhasználók pozitív egész számokat írnak be. Ha nullát vagy negatív számot adnak meg, a programnak jelentenie kell ezt, és be kell fejeznie a munkát.

import java.util.Scanner;

public class WhileTest {
   public static void main(String[] args) {
       int positiveNumber = 1;
       Scanner scanner = new Scanner(String.valueOf(positiveNumber));
       while (positiveNumber > 0) {
           Scanner sc = new Scanner(System.in);
           System.out.println("Enter positive number:");
           positiveNumber = sc.nextInt();
           System.out.println("ok, next");
       }
       System.out.println("The number should be positive");
   }
}
A programot javíthatja és kiegészítheti, például ellenőrizheti, hogy a felhasználó pontosan egy számot írt-e be, és nem más karaktert, vagy hogy a szám egész szám-e.

do-while hurok

A klasszikus while ciklus, mint a fenti példákban, azonnal ellenőrzi, hogy a feltétel igaz-e. Ezért előfeltételes ciklusnak nevezhető. A while ciklusnak van egy testvér do-while, egy ciklusa utófeltétellel. Ez azt jelenti, hogy a feltétel igazságának vizsgálata előtt egy ilyen hurok legalább egyszer végrehajtásra kerül:

do {
     // Loop body - periodically executed statement(s)
}while(Boolean expression);
Tehát az első példa egy ilyen hurokkal így nézne ki:

public class WhileTest0 {
   public static void main(String[] args) {
       int i = 0;
       int sum = 0;
       do
        {
           sum = sum + i;
           i++;
       } while (i < 11);
       System.out.println(sum);
   }
}

Végtelen ciklus

A while ciklus végtelen ciklusok szervezésére használható a while(true) formában : Például itt van egy program, amely végtelenségig (néhány árnyalattal) egész számokat nyomtat:

public class EndlessLoop {
    public static void main(String[] args) {
        int i = 0;
        while (true) {
            System.out.println(i++);
        }
    }
}
A tanultak megerősítése érdekében javasoljuk, hogy nézzen meg egy videóleckét a Java-tanfolyamról
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION