לולאות for
הוצג| English | משמעות |
|---|---|
| for loop/fɔː luːp/ | לולאת for |
לולאה עם ספורן מובנה
- לולאת for מאגדת שלושה חלקים בשורה אחת:
for (int i = 0; i < 5; i++) { ... }- הגדרה (
int i = 0), תנאי (i < 5), עדכון (i++). - השתמש ב
forכאשר אתה יודע כמה פעמים לחזור על הפעולה.
שלושת החלקים, בסדר
- ההגדרה רצה פעם אחת, לפני שמתחילה הלולאה.
- התנאי נבדק לפני כל מעבר (כמו ב
while). - העדכון רצה אחרי כל מעבר, ולאחר מכן התנאי נבדק שוב.
- לכן הזרימה היא: הגדרה → (בדיקה → גוף → עדכון) → (בדיקה → גוף → עדכון) → …
לולאות for ו-while הן חלופיות
- כל לולאת
forניתן לכתוב מחדש כלולאתwhile, ולהפך. for (int i=0; i<5; i++) {B}שווה ל-int i=0; while (i<5) {B; i++;}.forנראה מסודר יותר כאשר ההגדרה, הבדיקה והשינוי של הספורן מגיעים ביחד.- בחר בזה או בזה לפי מה שמבטא את כוונת הלולאה בצורה הכי ברורה.
ספירה במספר ידוע של פעמים
for (int i = 0; i < n; i++)מבצע את הגוף בדיוקnפעמים (i=0עדn-1).- שנה את הגבולות כדי לספור אחרת:
i = 1; i <= nתפעיל גם כןnפעמים. - השם לב לגבול:
<עצרת אחת לפני, אך<=כוללת את הסוף. - זהו הדגם הסטנדרטי ל"לבצע משהו
nפעמים".
השם לב לגבולות הלופ — שינוי של אחד משנה את הספירה. for (int i = 0; i < n; i++) תפעיל n פעמים (i החל מ0 ועד n-1); מעבר לi <= n תפעיל n+1 פעמים ולעיתים תחצא את גבולות המערך. עקוב אחר הערך הראשון והאחרון של i כדי לאמת את הספירה לפני שאמין בלופ for.
הדפסת 0,1,2,3,4:
for (int i = 0; i < 5; i++) { System.out.println(i); }iמתחיל ב0, פועל בזמן שi < 5, ומעדכןi++בכל מעבר.- מדפיס
0 1 2 3 4(חמישה ערכים); בi = 5התנאי נכשל → עצור.
לופ for משלב התחלה (פעם אחת), תנאי (נבדק לפני כל מעבר) ועדכון (לאחר כל מעבר): for (int i = 0; i < n; i++) מבצע את הגוף n פעמים. הוא חלופי ללופ while. השם לב לגבולות — הבדל בין < ל<= משנה את הספירה ב-1.
לולאת for הסופרת מ-0 עד 4
i עובר על הערכים 0..4 (חמישה עברים); בערך i=5 התנאי נכשל.
שלושת חלקי הכותרת של לולאת for הם, בסדר זה...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
for (יזום; תנאי; עדכון).
כמה פעמים גוף הפקודה for (int i = 0; i < 5; i++) מתבצע?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
i מקבל 0,1,2,3,4 → 5 מעברים.
חלק היזום של לולאת for מתבצע...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
היזום מתבצע פעם אחת; התנאי נבדק בכל מעבר; העדכון מתבצע לאחר כל אחד.
כל לולאת for ניתנת לכתיבה מחדש כ-lולאת while שקולה.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
for ו-while הם חלופיים זה לזה.
כמה פעמים מתבצע for (int i = 1; i <= 5; i++)?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
i מקבל 1..5 (כולל) → 5 מעברים.