
הטקסט המלא של הדקות הראשונות בהרצאה «תנאי if-else בג'אווה» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בשיעור הקרוב נדבר על ה-Conditional Statement If Else ונכיר את התנאים הבוליאניים בעצם, את הלוגיקה של הקוד של שפת הג'אווה, איך אנחנו יכולים להחליט מה לעשות, איך אנחנו יכולים לבצע התניות לפעולות בקוד שלנו.
מהו ה-Conditional Statement? נדמיין אותנו כהולכי רגל הולכים על המדרכה ומגיעים למעבר חצייה שיש בו רמזור. קונדישיונל סטייטמנט בעצם אומר מה הצבע של הרמזור כרגע האם הוא ירוק אני יכול ללכת אם כן אם לא אני צריך לעצור כשאני מדבר על קונדישיונל סטייטמנט אני מדבר על תנאי בוליאני true או false אני שואל האם הרמזור ירוק true אני אלך false אני אעצור תכף נדגים את זה בקוד
ונראה בדיוק את התהליך עצמו של התנאי הבוליאני למה אנחנו צריכים אותו בתהליך כתיבת הטסטים שלנו, כתיבת הקוד שלנו, אנחנו נצטרך להחליט איך להתנהג, איזושהי לוגיקה של תגובה למצבים. האם התוצאה בדף היא כמו שציפינו?
אם כן, נמשיך. אם לא, נעצור ונגיד יש פה תקלה, אנחנו צריכים לצלם את הדף או לדווח תקלה או להראות איזושהי אינדיקציה אחרת או דעת שגיאה על מנת להגיב לתקלה.
איך אנחנו הולכים להשתמש בו, בואו נדגים. אוקיי, בואו נדגים את השימוש שלנו ב-Conditional Statement בקוד Java שלנו. יצרתי לעצמי פרויקט, קראתי לפרויקט Practice Project Conditional Statement.
בתוך ספריית ה-SRC יצרתי פקאג', קראתי לו if_s באותיות קטנות, ובתוך הפקאג' יצרתי קלאס Conditional Statement, וציינתי שהוא יכיל את הביטוי Public Static voidment המתודה הזאת שמאפשרת לי בעצם להריץ את הדוגמה שאנחנו הולכים לכתוב ביחד כרגע.
אני אצור לעצמי סטרינג אני מצהיר על משתנה מסוג סטרינג שאני הולך לכתוב אני אקרא לו אני אקרא לו רמזור באנגלית אני אקרא לו traffic light ואני אעשה לו אתחול אני בעצם אתן לו איזשהו ערך אני אקבע שהוא ירוק הוא מכיל את הטקסט ירוק.
כרגע מה שאני רוצה לבצע זה להדפיס במקרה שהוא ירוק continue walking במקרה שהוא אדום אני יכול לכתוב stop walking או wait אז בואו נראה איך אנחנו עושים את זה.
התנאי ה-conditional statement הבסיסי שאנחנו רוצים להכיר הוא if ואלס בואו נראה אם אני מסתכל על התהליך שלנו בלימודים בלימוד הזה הבסיס שלנו כרגע אנחנו רוצים ללמוד את התנאי הבוליאני הבסיסי if else if else אז בואו נתחיל להכיר את ה-if את ה-else ואת ה-else if אז כאמור יש לנו את הסטרינג מסוג traffic light קראנו לו
traffic light והוא מכיל את הערך k ואני רוצה לכתוב קוד שיתייחס לערך של אותו משתנה בשם traffic light if פתיחת סוגריים פה בתוך הסוגריים האלה אמור להיות לי תנאי בוליאני. להשתמש בידע שצברנו בלימוד על אותו משתנה מסוג סטרינג ונבצע את הפעולה הבאה traffic אני לוחץ control space הוא משלים לי את השם של המשתנה שיצרתי המשתנה שלי נקודה equals ופה נכתוב לו green אני יכול להדפיס לי פה את הביטוי keep walking אוקיי אז
בעצם יצרתי לעצמי פה את התנאי הבסיסי הבוליאני של האם המשתנה שיצרתי מסוג סטרינג מכיל את הערך green אם כן תדפיס keep walking אוקיי בוא נריץ ונראה מה קורה על מנת להריץ אני יכול לבצע שתי פעולות או ללכת וללחוץ על הכפתור האדום פה או לבצע את זה בעזרת הקיצור f11 בוא נבצע את זה דרך הכפתור אני לוחץ על
החצי השחור ואומר לו לרוץ את הג'אווה אפליקיישן להריץ את הג'אווה אפליקיישן בוא נעשה את זה עוד פעם בלי החצי השחור ואנחנו רואים Keep Working זאת אומרת זה היה התנאי הבוליאני היה True ולכן הוא בעצם ביצע את הפעולה שנכנס לתוך התנאי הזה זאת אומרת הקוד שלנו הגיע לפה הבין שהתנאי הזה Traffic Light איקואל גרין הוא true
ואז הוא ביצע את הפעולה הזאת. Keep walking, הכפיס את ה-Keep walking. בואו נשנה את זה ל-Red. עכשיו הרמזור התחלף ובעצם הטקסט כרגע שמאוכלס בתוך המשתנה traffic light הוא לא גרין. בואו נראה מה יקרה עכשיו בג'אווה שלנו.
בעצם לא בוצע כלום. למה לא בוצע כלום? System out print land Keep walking יודפס רק במקרה שהערך הוא גרין ואם הוא לא יהיה גרין אז הוא בעצם לא ידפיס אותו אוקיי ברגע ששיניתי אותו לרד או לכל משהו אחר שאינו טקסט גרין בעצם הוא לא מבצע את ההדפסה אבל אני לא רוצה לעצור את הקוד שלי פה אני רוצה להתייחס גם למצב הזה של אם הוא לא גרין ואז מה שאני
יכול לעשות פה זה בעצם לבצע והעתקה ואני יכול להגיד במקום Keep Working Stop Working אוקיי אז יש לי את ה-Keep Working ו-Stop Working ועכשיו ה-String שלי הוא במצב שהוא מכיל Red זה לא green ולכן הוא ילך ל-Else בואו נדפיס בואו נריץ ונראה ואני רואה באמת שהקוד הקצר שעשיתי עובד כמו שציפיתי יש עוד מצב שאנחנו רוצים להתייחס אליו וזה
שאנחנו רוצים להכניס עוד תנאי בוליאני ומצב שהתנאי הראשון הוא false תלך ותבצע עוד התנאיה בוליאנית וההתניה תהיה אם ה-orange אז נכתוב בוא נכתוב פה paper to stop זאת אומרת אם הרמזור הוא הולך להיות הוא ב-orange אז אנחנו צריכים להתכונן לעצור ותמיד התנאי שיסיים את התהליך הזה יהיה אלס ללא אלס איף זאת אומרת
יש לי את האיף הראשון אם לא נכנסתי לתוכו אם הערך הבוליאני של התנאי הזה הוא פולס אני ממשיך לאלס איף הבא ובודק האם הוא אורנג' ואם לא אז בעצם אני מדפיס את מה שבאלס ברגע שאנחנו רוצים לעשות יותר מפעולה אחת אחרי תנאי בוליאני לדוגמה אני ארצה להדפיס שתי פעולות לא רק את ה-prepare to stop
אלא גם להגיד פה ש-light is orange לדוגמה בוא נראה 2 orange אני רוצה להדפיס את שתי הפעולות האלה הג'אווה אומר לנו בעצם האקליפס אומר לנו שהפעולה היחידה שמתבצעת זה הפעולה שבאה ישירות בירידת השורה אחרי התנאי הבוליאני אבל על מנת לבצע את שתי הפעולות אני אצטרך לעשות את הפעולה הזאתי להכניס את הסוגריים ובעצם כך אני מוודא שיתבצעו
שתי הפעולות. אז כאמור כשיש לנו תנאי בוליאני ואנחנו רוצים יותר מפעולה אחת בתוך המיד אחרי התנאי הבוליאני אנחנו צריכים להכניס את הסוגריים המסולסלים, אחרת בעצם תתבצע רק הפעולה העוקבת אחרי התנאי הבוליאני.
הסוגריים המסולסלים מאפשרים לנו לבצע יותר מפעולה אחת. אז אני יכול לכתוב פה את אותו הדבר, להעתיק את זה ותדאג שיהיו לי סוגריים מסוסלות על מנת שהוא יבצע את שתי הפעולות האלה.
נבצע את זה גם פה ונבצע פה וגם פה נוסיף את