JavaRush /בלוג Java /Random-HE /לולאות בג'אווה

לולאות בג'אווה

פורסם בקבוצה

מה זה מחזורים

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

  2. לולאות עם postcondition: תנאי הביצוע נקבע לאחר האיטרציה הראשונה (כך שהם תמיד מבוצעים לפחות פעם אחת). שימושי כאשר אתה צריך לבצע פעולה מסוימת עד למימוש תנאי מסוים: למשל, קריאת הקלט של המשתמש עד שהוא מזין את המילה "עצור".

  3. לולאות מונה: מספר האיטרציות נקבע על ידי המונה המדומה. תנאי הלולאה מציין את הערכים ההתחלתיים והסופיים שלו. בכל איטרציה המונה גדל. אנו יכולים לקבוע את מספר האיטרציות מראש.

    לולאות אלה שימושיות כאשר אתה צריך לחזור על כל האלמנטים באוסף. לולאות עם מונה נקראות "לולאות ל...". "עבור כל רכיב של אוסף מסוים, בצע את הפעולות הבאות."

    ישנם מקרים בהם ניתן להפסיק את ביצוע לולאה לפני הגעה למצבה. למשל, אם יש לנו אוסף של 100 מספרים ועלינו להבין אם הוא מכיל מספרים שליליים. נוכל להתחיל לעבור בלולאה בין כל המספרים באמצעות לולאת for. אבל כשאנחנו מוצאים את המספר השלילי הראשון, אנחנו לא צריכים לעבור על המספרים הנותרים. אנו יכולים להפסיק את ביצוע הלולאה אם ​​המשך הביצוע שלה אינו הגיוני. מצבים כאלה נקראים הפרעת מחזור.

  4. לולאות ללא תנאי הן לולאות הפועלות בלי סוף. לדוגמה: "בעוד 1=1, הדפס "1=1"". תוכנית כזו תפעל עד להפסקה ידנית.

    לולאות אלו שימושיות גם כאשר משתמשים בהן בשילוב עם הפסקת הלולאה מבפנים. השתמש בהם בזהירות כדי לא לגרום לתוכנית לקפוא.

    אתה יכול ללמוד עוד על לולאות בשפת התכנות Java ברמה 4 של קורס JavaRush. במיוחד עם while ועבור לולאות.

לולאות בג'אווה

עכשיו בואו נסתכל על לולאות ב-Java. ישנם מספר סוגים שלהם בשפה זו:
  • while- לולאה עם תנאי מוקדם;
  • do..while- מחזור עם תנאי פוסט;
  • for- לולאה עם מונה (לולאה עבור);
  • for each..- לולאה "לכל..." - סוג של for עבור איטרציה דרך אוסף של אלמנטים.

while, do.. whileויכול forלשמש כלולאות ללא תנאי. אתה יכול להשוות את התחביר של לולאות בשפות תכנות שונות ברמה הרביעית של האימון בקורס JavaRush. לדוגמה, for ו-while לולאות. הבה נבחן בקצרה כל אחד מהסוגים המוצגים.

בעוד לולאה

הלולאה הזו בג'אווה נראית כך:
while (expression) {
     statement(s)
}
כאן:
  • expression- תנאי לולאה, ביטוי שאמור להחזיר booleanערך.
  • statement(s)- גוף לולאה (שורת קוד אחת או יותר).
לפני כל איטרציה, ערך הביטוי יחושב expression. אם תוצאת הביטוי נכונה , גוף הלולאה מבוצע statement(s). דוגמא:
public class WhileExample {
    public static void main(String[] args) {
        int countDown = 10;

        while (countDown >= 0) {
            System.out.println("До старта: " + countDown);
            countDown --;
        }

        System.out.println("Поехали !");

    }
}
סיכום:

До старта: 10
До старта: 9
До старта: 8
До старта: 7
До старта: 6
До старта: 5
До старта: 4
До старта: 3
До старта: 2
До старта: 1
До старта: 0
Поехали !
באמצעות while, אתה יכול ליצור לולאה אינסופית:
while (true) {
    // тело цикла
}
כדי להפריע לביצוע של לולאה, נעשה שימוש באופרטור break. לדוגמה:
public class WhileExample {
    public static void main(String[] args) {

        int count = 1;
        while (true) {
            System.out.println("Строка №" + count);
            if (count > 3) {
                break;
            }
            count++; // Без наращивания цикл будет выполняться вечно
        }

    }
}
סיכום:

Строка №1
Строка №2
Строка №3
Строка №4
אתה יכול לתרגל כתיבת לולאות משלך ברמה 4 של קורס JavaRush.

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

המבנה do.. whileנראה כך:
do {
     statement(s)
} while (expression);
כאן:
  • expression- תנאי לולאה, ביטוי שאמור להחזיר booleanערך.
  • statement(s)- גוף לולאה (שורת קוד אחת או יותר).
שלא כמו while, ערך הביטוי יוערך לאחר כל איטרציה. אם התוצאה של הביטוי היא אמת , גוף הלולאה יבוצע שוב statement(s)(לפחות פעם אחת). דוגמא:
public class DoWhileExample {
    public static void main(String[] args) {
        int count = 1;
        do {
            System.out.println("count = " + count);
            count ++;
        } while (count < 11);
    }
}
סיכום:

count = 1
count = 2
count = 3
count = 4
count = 5
count = 6
count = 7
count = 8
count = 9
count = 10

עבור לולאה

לולאת ג'אווה זו נראית כך:
for (initialization; termination; increment) {
    statement(s)
}
כאן:
  • initialization- ביטוי שמתחיל ביצוע של הלולאה. מבוצע רק פעם אחת בתחילת הלולאה. לרוב, ביטוי זה מאתחל את מונה הלולאה
  • termination- booleanביטוי המווסת את סוף הלולאה. אם התוצאה של הביטוי היא false , הלולאה forתישבר.
  • increment- ביטוי שמתבצע לאחר כל איטרציה של הלולאה. לרוב, ביטוי זה כולל הגדלה או הפחתה של משתנה מונה.
  • statement(s)- גוף המחזור.
הביטויים initialization, termination, incrementהם אופציונליים. אם נשמיט כל אחד מהם, נקבל לולאה אינסופית:
// бесконечный цикл
for ( ; ; ) {
    // code тела цикла
}
לולאה לדוגמה for:
public class ForExample {

    public static void main(String[] args) {
        for (int i = 1; i < 6; i++) {
            System.out.println("Строка №" + i);
        }
    }
}
סיכום:

Строка №1
Строка №2
Строка №3
Строка №4
Строка №5
סדנה בנושא לולאת for מוצגת ברמה 4 של קורס JavaRush.

לולאה לכל אחד

לולאת ג'אווה זו היא סוג של לולאה forלחזרת אוספים ומערכים. המבנה for eachנראה כך:
for (Type var : vars) {
    statement(s)
}
כאן:
  • vars- משתנה, רשימה קיימת או מערך
  • Type var- הגדרת משתנה חדש מאותו סוג ( Type) כמו האוסף vars.
ניתן לקרוא את הבנייה הזו באופן הבא: "לכל var from vars, make...". נניח שיש לנו מערך של מחרוזות של שמות ימות השבוע. בואו נדפיס כל רכיב במערך הזה:
public class ForExample {

    public static void main(String[] args) {
        String[] daysOfWeek =
                { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };


        for (String dayOfWeek : daysOfWeek) {
            System.out.println(dayOfWeek);
        }
    }
}
לולאות Java נלמדות בקורס JavaRush ברמה הרביעית של קווסט Java Syntax. נסה את כוחך בפתרון בעיות בנושא זה :) לולאות בג'אווה - 2
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION