CodeGym /בלוג Java /Random-HE /Java While Loop
John Squirrels
רָמָה
San Francisco

Java While Loop

פורסם בקבוצה
לולאת ה- while נמצאת כמעט בכל שפת תכנות, וג'אווה אינה יוצאת דופן. בעוד לולאה ב-Java ובשפות אחרות מבצעת משפט או בלוק של הצהרות כל עוד הערך של התנאי שהפעיל אותו נכון. במאמר זה, אנו הולכים לדבר על איך לעבוד עם לולאת while . Java While Loop - 1

בשביל מה מחזורים?

התוכניות הראשונות שלך היו רצף של הוראות שהופעלו צעד אחר צעד בזו אחר זו. בלי מזלגות וחזרות. בהמשך התחלנו להשתמש בסניפים בעזרת מפעילים מותנים. ובכן, על מנת לבצע פעולות חוזרות, יש מחזוריות. אולי מחזורים הם אחד היתרונות הברורים ביותר למתכנתים מתחילים שמספקת אוטומציה של תהליכים. תאר לעצמך שאתה צריך לכתוב תוכנית מעקב שסופרת את מספר הצעדים שננקטו ביום. וכשאתה עובר, למשל, 10,000 צעדים, התוכנית אמורה לשלוח לך הודעה על היעד שהושג. המשימה של הוצאת הודעה יכולה להתבטא במילים (או פסאודוקוד) כך:
While (number of steps less than 10,000)
{
Count steps
}

Send notification "you have reached the goal"
כלומר, ברגע שמספר השלבים שווה למה שצוין בתנאי, התוכנית יוצאת ממחזור זה ושולחת הודעה. או דוגמה אחרת. דמיינו שאתם צריכים לשנן שיר (או נאום). שיר נחשב בעל בעל פה אם אתה יכול לקרוא אותו שלוש פעמים ברציפות מבלי להציץ. אם אתה מדמיין תוכנית שתופסת את הניסיונות שלך לדקלם שיר, היא תצטרך להשתמש גם בלולאה:
While (success < 3)
learn a poem
קונסטרוקציות דומות משמשות בכל האפליקציות החינוכיות המודרניות המשמשות, למשל, בלימוד שפות או נגינה בכלי נגינה.

בעוד לולאה והמבנה שלה

כדי לפתור בעיות כמו הדוגמאות לעיל, ובאופן כללי יותר, כדי להפוך פעולות חוזרות ונשנות ב-Java, אתה יכול להשתמש בלולאת while . Java while loop יעבוד טוב במקרה שלנו. עיצוב זה מסדר מספר פעולות במבנה תמציתי ומובן. הצהרת לולאת while נמצאת כמעט בכל שפות התכנות. הוא חוזר על משפט או בלוק של הצהרות כל עוד הערך של ביטוי השליטה שלו נכון. צורת לולאת ה- while היא כדלקמן:
while(condition == true) {
    // statement or loop body
}
התנאי חייב להיות ביטוי בוליאני, כלומר כזה שניתן לומר שהוא נכון או לא נכון. הנה כמה דוגמאות לביטויים בוליאניים:
s != "exit";
a > 5;
true;
גוף הלולאה יבוצע כל עוד הביטוי המותנה נכון. כאשר התנאי הופך לא נכון, השליטה מועברת לשורת הקוד שמגיעה אחרי הלולאה. אם נעשה שימוש במשפט אחד בלבד בלולאה, אז ניתן לוותר על פלטה מתולתלת (אבל עדיף לא לעשות זאת). הביטוי הלוגי מוערך לפני תחילת לולאת ה- while , ולאחר מכן בכל פעם לפני ביצוע החזרה הבאה של ההצהרה.

בעוד לולאה דוגמאות

בוא נכתוב תוכנית שתסכם את כל המספרים מ-1 עד 10 באמצעות לולאת while :
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);
   }
}
הפלט הוא:
55
אנחנו צריכים לחשב את הסכום של כל המספרים מ-1 (או מאפס, זה לא משנה) ל-10. אנחנו הופכים את הסכום ההתחלתי ואת האלמנט הראשון לשווים לאפס, ונגדיל את האלמנט באחד בכל מעבר של הלולאה. נמשיך לסכם עד שהארגומנט ישתווה ל-10 (כלומר, פחות מ-11. באופן דומה, נוכל לכתוב את התנאי i <= 10 ). ניקח דוגמה נוספת של לולאת Java while . אנחנו הולכים לכתוב תוכנית שבה משתמשים מזינים מספרים שלמים חיוביים. אם הם מזינים אפס או מספר שלילי, התוכנית צריכה לדווח על כך ולסיים את העבודה.
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");
   }
}
ניתן לשפר את התוכנה ולהוסיף לה, למשל, לבדוק אם המשתמש הזין בדיוק מספר ולא תו אחר, או שהמספר הוא מספר שלם.

לולאת עשה תוך כדי

לולאת ה- while הקלאסית , כמו בדוגמאות למעלה, בודקת מיד אם התנאי נכון. לכן, זה יכול להיקרא מחזור עם תנאי מוקדם. ללולאת ה- while יש אח לעשות בזמן, לולאה עם תנאי פוסט. כלומר, לפני שמתקיים בדיקת אמיתות התנאי, לולאה כזו תתבצע לפחות פעם אחת:
do {
     // Loop body - periodically executed statement(s)
}while(Boolean expression);
אז, הדוגמה הראשונה עם לולאה כזו תיראה כך:
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);
   }
}

מחזור אינסופי

ניתן להשתמש בלולאת while כדי לארגן לולאות אינסופיות בצורה while(true) : לדוגמה, הנה תוכנית שמדפיסה בלי סוף (עם כמה ניואנסים) סדרה של מספרים שלמים:
public class EndlessLoop {
    public static void main(String[] args) {
        int i = 0;
        while (true) {
            System.out.println(i++);
        }
    }
}
כדי לחזק את מה שלמדת, אנו מציעים לך לצפות בשיעור וידאו מקורס Java שלנו
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION