
int i = 400.i <= 500. כל עוד הוא true מבצעים את הגוף.i++, ואז חוזרים לבדיקת התנאי בלי לאתחל שוב.i שמוגדר בתוך הסוגריים של הלולאה זמין רק בתוכה. מי שרוצה להשתמש בו מחוץ ללולאה צריך להגדיר אותו לפניה.i += 2 מציג מספרים זוגיים בלי בדיקת מודולו בתוך הלולאה.i-- כל עוד i >= 400.i, ולא count.הטקסט המלא של הדקות הראשונות בהרצאה «לולאת for בג'אווה» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו מגיעים ללולה הבאה שלמעשה היא קצת יותר מורכבת מלולאת while ולולאת do while אבל היא גם הרבה יותר נפוצה. הלולה הזאת נקראת לולאת 4. קודם כל בואו נסתכל מה בעצם המבנה שלה.
אנחנו רושמים את המילה 4 ובתוך הסוגריים העגולים יש לנו 3 חלקים. סך הכל יש בלולה הזאת 4 חלקים. יש לנו את החלק הראשון עד הנקודה פסיק, חלק שני בין שני הנקודות פסיק, חלק שלישי עד הסוגריים העגולים והחלק הרביעי זה פקודות הלולאה.
אז מה בעצם המבנה הזה אומר? יש לנו את החלק הראשון שהוא בעצם אתחול. כאן יש לנו איזושהי פקודה שמתבצעת רק פעם אחת. לולאה מתבצעת שוב ושוב.
הפקודה הזאת מתבצעת פעם אחת בחיי הלולאה. לאחר מכן מה שהמחשב מבצע זה עובר לחלק השני, החלק השני מכיל את התנאי שאנחנו בודקים. אנחנו יודעים שבכל הולאה יש תנאי שכל עוד הוא true אנחנו מבצעים את פקודות הלולאה, זה החלק השני.
לאחר מכן המחשב לא קופץ לחלק השלישי אלא קופץ ומבצע את פקודות הלולאה פעם אחת בלבד. אחרי שהוא ביצע את פקודות הלולאה פעם אחת בלבד אנחנו קופצים לחלק האחרון כאן יש איזושהי פעולה שאפשר לבצע שנקראת קידום.
אנחנו הולכים לקדם איזה משהו או לבצע איזושהי פעולה בכדי שמשהו בעצם ישתנה בלולאה עצמה. לאחר מכן אנחנו שוב פעם בודקים את התנאי. אנחנו לא חוזרים עוד פעם על חלק האיתחול אלא בודקים את התנאי.
אם אותרו מבצעים את הלולאה ושוב פעם מבצעים את הקידום. תנאי לולאה קידום וכדומה. מתי הלולאה נסתיימת? כאשר החלק הזה של התנאי שווה ל-false ואז אנחנו בעצם יוצאים החוצה מההלולאה.
אז בואו ניקח מקרה פשוט שבו אנחנו רוצים להציג מספר דברים על המסך. לדוגמה, אנחנו רוצים לקלוט מהיוזר, אז יש לנו כאן את ה-scannerConsol=newScannerSystemIn.
אנחנו רוצים לקלוט מהיוזר איזשהו מספר, בואו ניקח nconsole.next.int נגיד ליוזר enter a number ומה שאנחנו רוצים לעשות זה להציג כתלות במספר סדרה של סימנים הסימנים שאנחנו רוצים להציג זה הסימן tilde אם היוזר מכניס 10 אנחנו רוצים להציג 10 תילדות אם היוזר מכניס 20 אנחנו רוצים 20 תילדות וכדומה אז מה אנחנו יכולים לעשות להתחיל ולבצע את זה בעזרת לולאת 4. יש לנו
כאן משתנה שאנחנו רוצים לבצע איזושהי ספירה מסוימת של כמה פעמים אנחנו רוצים להציג את הטילדה הזו. אז יש לנו כאן count שווה 1 או אפילו בואו נעשה את זה בצורה כזאת int count פה אנחנו רוצים פעם אחת להכניס לתוכו 1. לאחר מכן אנחנו רוצים להמשיך ולבצע את הפעולה קולוד קאונט קטן או שווה ל-10 ואנחנו רוצים לקדם אותו במהלך הקידום.
בואו רגע נריץ, נכניס 10 והנה יש לנו 10 טילדות מוצגים כאן על המסך. נריץ שוב, נכניס 30 ויש לנו שוב פעם 10 טילדות.
כאן אנחנו רוצים לרוץ עד n, טעות שלי, סורי. שוב פעם, נכניס 10, יש לנו 10 טילדות, נכניס 30, והנה יש לנו 30 טילדות, נריץ שוב, נכניס 5, ויש לנו רק 5 טילדות.
אנחנו רואים שזה עובד. קאונט קטן שווה n, זאת הייתה הטעות, והנה תיקנו אותה. עכשיו, מה בעצם קורה פה בלולאה?
יש פה אתחול שמתבצע פעם אחת, מכניסים לתוך קאונט את המספר 1, יש פה בדיקה האם קאונט קטן שווה ל-n, תשובה כן, כי הוא שווה ל-1, ובוא נניח שהיוזר הכניס לנו 10, אנחנו מציגים טילדה אחת ומקדמים את הקאונט לשתיים.
שוב פעם בודקים, האם קאונט קטן שווה n? תשובה כן. מדפיסים טילדה פעם שנייה ומקדמים אותו לשלוש.
כאשר קאונט יהיה שווה 10, בואו נניח ש-n גם כן 10, זה עדיין ייתן לנו true. נדפיס את הטילדה האחרונה, נקדם את קאונט ל-11 וכבר יגרום לתוצאה הזאת להיות false.
או פשוט כאן נדפיס כמה אקאונט פיינל קאונט, אני רואה פה רק שורה, נריץ, נכניס 10, ונראה שהאקאונט יוצא ב-11. נריץ, נכניס 27, נראה שהאקאונט יוצא ב-28, כי רק כאשר האקאונט היה 28 התנאי הזה כבר לא התקיים ואז יצאנו מהלולאה.
עכשיו, כמה דברים שאפשר טיפה לשפר. קודם כל, לא מקובל לקרוא למשתנה הלולאה, שזה המשתנה שהלולאה בודקת, קאונט. מקובל לקרוא לו i.
אז בואו נחליף את זה ב-i. זה משהו שהוא קצת יותר מקובל לשימוש, קצת הרבה. דבר נוסף, אנחנו יכולים, במקום להגדיר את המשתנה int i מחוץ ללולאה, להגדיר אותו בתוך הלולאה.
בואו ניפטר מזה. זה גם כן משהו שהוא מאוד מקובל. ה-i הזה יהיה תקף רק ללולאה עצמה. במידה והוא תקף רק ללולאה לא יהיה לנו אפשרות להשתמש בו מחוץ ללולאה.
גם אם כאן אני ארצה להציג את ה-i עצמו אז כמובן שאנחנו לא נוכל להציג