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

Java For Loop

פורסם בקבוצה
פעם מארק צוקרברג ציין שמחשבים ממש טובים בחזרה על פקודות. זה לא פשוט לבן אדם, אנחנו מתעייפים מחזרות על אותו דבר הרבה פעמים ברציפות, אבל מחשב יכול לעשות את זה מיליוני ומיליארדים של פעמים ולעולם לא ישתעמם. אם תנסה לשלוח ברכות לכל משתמשי פייסבוק, אין אדם שיספיק לימים לעשות זאת. עם זאת, אתה יכול ליצור מחשב כדי לפתור משימה זו על ידי כתיבת כמה שורות קוד. כך פועלות לולאות. הם נתנו לנו לא לחזור על אותן פעולות שגרתיות. הלולאה הפופולרית ביותר בג'אווה היא מה שנקרא לולאה מוגדרת או for loop.

איך כותבים לולאה for ב-Java? ללופ באופן כללי

For loop מבצע כמה הצהרות במשך מספר מסוים של פעמים. לדוגמה, כתיבת חמישים פעמים "אסור לי להיות כזה, הו-הו, הו" או שליחת הזמנות לכל החברים שלך הן משימות אופייניות ללולאה מסוג זה. התחביר של הגרסה הנפוצה ביותר של for loop:
for ([counter initialization]; [checking conditions]; [changing of the counter])
{
    //  statements
}
ביטוי האתחול מבוצע פעם אחת, ואז התנאי מוערך, שאמור להיות ביטוי בוליאני.
  • כאשר הלולאה מתחילה, האתחולים מבוצעים.
  • כאשר התנאים מוערכים כשווא, הלולאה שלנו מפסיקה את עבודתה.
המונה משתנה, בדרך כלל תוספת (או ירידה) מתרחשת לאחר כל איטרציה דרך הלולאה. אתה יכול לדלג על כל אחד משלושת ביטויי הלולאה (אתחול, בדיקת מצב, שינוי המונה). מצב הלולאה נבדק לפני השלב הבא של הלולאה. אם התנאי שקרי, התוכנית יוצאת מהלולאה וממשיכה עם ההוראה בעקבות ה-for construct. כאן יש לנו דיאגרמת בלוקים של for loop. עבור לולאה ב-Java - 2

כיצד להשתמש עבור לולאה ב-Java. דוגמה פשוטה.

הנה דוגמה מסוימת של Java עבור לולאה. בוא נכתוב עשר פעמים "שלום!" מחרוזת בכל פעם שהיא תהיה מהשורה החדשה עם מספר מהשורה הזו. אנחנו אמורים לקבל את הפלט הבא:
  1. שלום!
  2. שלום!
  3. שלום!
  4. שלום!
  5. שלום!
  6. שלום!
  7. שלום!
  8. שלום!
  9. שלום!
  10. שלום!
הנה תוכנית Java שלנו שפותרת את הבעיה הזו:
public class ForExample {
   public static void main(String[] args) {
       for (int i = 0; i < 10; i++) {
           System.out.println(i + 1 + ". Hello!");
       }
   }
}

איך זה עובד?

שלב 1. מונה i = 0. לולאה בודקת את המצב שלנו, i << 10, לפיכך, הצהרות לולאה מבוצעות. הוא מדפיס את המשפט "1. שלום!". 1 הוא מחרוזת i + 1 (כי ספרנו מאפס, אבל השורה הראשונה היא עדיין הראשונה). מונה i מוגדל. עכשיו, i = 1. שלב 2. מונה i = 1. i < 10, אז יש לנו ביטוי "2. שלום!" ו-i + 1 = 2. … שלב 10. מונה i = 9, יש לנו "10. שלום!" ו-i מוגדל ל-10. שלב 11. מונה i = 10. i < 10 ? לא, זה שקר. לכן, הלולאה מסתיימת. עבור לולאה ב-Java - 3

בעוד לולאה ועבור לולאה: הבדלים ודמיון

ב-Java לולאה בלתי מוגדרת או לולאה while מבוצעת ברציפות אם התנאי הבוליאני מתגשם. התחביר של לולאת while:
while (boolean condition)
       {
            loop statements...
       }
לעתים קרובות אתה יכול לבחור באיזו לולאה אחת אתה רוצה להשתמש. לפעמים הם קרובים מאוד ואפשר להשתמש בשניהם. לדוגמה, הנה הקוד לאותה משימה (כתיבת עשר פעמים "הלו!" עם מספר השורה) שנכתב עם לולאת while:
public class ForAndForEach {
   public static void main(String[] args) {
       int j = 0;  //  we use the counter this way
       while (j < 10) {
           System.out.println(j + 1 + ". Hello!");
           j++;
       }
   }
}
עם זאת, מתכנתים מקצועיים לא ממש אוהבים את לולאת ה-while, ובכל מקום אפשרי, נסו להשתמש בלולאת for.
ל בזמן

אנו משתמשים בלולאת for אם כבר ידענו את מספר האיטרציות.

אנו משתמשים ב-while loop אם איננו יודעים בדיוק את מספר האיטרציות.

אתחול, בדיקת מצב ושינוי מונה כבר תפור בתחביר של לולאה

אתחול ובדיקת מצב בתוך הלולאה. אתה יכול בנוסף להשתמש ב-counter בהצהרות.

לולאה אינסופית עבור:

for(;;){
	System.out.println("working...");
}

לולאה אינסופית בזמן:

while(true){
	System.out.println("working...");
}

כיצד לצאת מלולאת for ב-Java

בדרך כלל לולאת for פועלת כמו זרימה והדרך הטבעית לצאת מלולאה היא כאשר תנאי מקבל ערך שקרי. עם זאת, ישנן שתי הצהרות בקרה המאפשרות לך לצאת מהלולאה לפני שתקבל את הערך השקרי של תנאי - הפסקה והמשך.
  • break מאפשר לצאת מגוף הלולאה הנוכחי כאילו מצב הלולאה הוערך ל-false.
  • continue גורם ללולאה לקפוץ לשלב הבא (חזרה על המונה) מבלי לבצע את ההצהרות.
בואו נפתור את הבעיה הבאה באמצעות הפסקה ונמשיך. יש לנו מערך של שמות ואנחנו אומרים שלום לכולם מהמערך הזה מלבד הזרים. אז אם אנחנו פוגשים מחרוזת "זר" במהלך הלופ שלנו, אנחנו יוצאים ממנה (תלכו ותעצרו להגיד שלום לכל אחד אחר).
public class ForBreakExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
//  how to break out of a for loop, java: check if we have any "Stranger" in  //  our array
if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               break;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
התוצאה של הפעלת התוכנית שלנו היא:

Hello,Mike
Hello,Dustin
I don't chat with strangers
לִרְאוֹת? ברחנו מהלולאה לפני שבירכנו את לוקאס ווויל. עכשיו בואו נשתמש להמשיך, רק כדי להתעלם מ"זר" אבל להישאר בתוך הלולאה להגיד שלום לחברים אחרים.
public class ForContinueExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
           if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
התוצאה היא:

Hello,Mike
Hello,Dustin
I don't chat with strangers
Hello,Lucas
Hello,Will
מְעוּלֶה! בירכנו את כל החברים, אבל לא דיברנו עם זר.

גרסה משופרת של for loop או for-each

For-each הוא סוג של לולאת for המשמשת כאשר אתה צריך לעבד את כל האלמנטים של מערך או אוסף. למעשה, עצם הביטוי עבור-כל אחד אינו בשימוש במחזור זה. התחביר הוא כדלקמן:
for (type itVar: array)
{
    Block of operators;
}
כאשר type הוא סוג המשתנה האיטרטיבי (זהה לסוג הנתונים של המערך), ItVar הוא שמו, array הוא המערך או שיכול להיות מבנה נתונים אחר, למשל, ArrayList. כפי שאתה יכול לראות, אין מונה, משתנה האיטרציה חוזר על האלמנטים של מערך או אוסף, ולא על ערכי האינדקס. כאשר מופעלת לולאה כזו, משתנה האיטרציה מוקצה ברצף את הערך של כל אלמנט של המערך או האוסף, ולאחר מכן מופעלת בלוק ההצהרות (או האופרטור) שצוין. שימו לב: ניתן להחיל את לולאת for-each על מערכים וכל מחלקות שמיישמות את הממשק java.lang.Iterable. בואו נפתור את אותה בעיה עם ברכות חברים, התעלמות מאנשים זרים ("זר") אבל הפעם נשתמש עבור-כל לולאה.
public class ForEachExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
	//  for each loop, Java code
       for (String name : names) {
           if (name.equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("hello, " + name);
       }
   }
}
כדי לחזק את מה שלמדת, אנו מציעים לך לצפות בשיעור וידאו מקורס Java שלנו
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION