PracticU

תנאי בתוך תנאי

בלי כתוביותעם כתוביות
PracticU › קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים › תנאי בתוך תנאי
תנאי בתוך תנאי
כאן רואים איך כותבים תנאי בתוך תנאי. שאלה שנייה נשאלת רק אם הראשונה עברה.
המבנה
1. תנאי חיצוני: בודקים אם הגיל גדול או שווה ל-13. רק מי שעבר את הבדיקה נשאל את השאלה הבאה.
2. תנאי מקונן: בתוך הבלוק של ה-if החיצוני נשאלת השאלה האם המשתמש מסכים לתנאי השימוש. התשובה נקלטת כמחרוזת.
3. השוואת מחרוזות: בג'אווה משווים מחרוזות בעזרת answer.equals("yes"). הפקודה מחזירה true או false, ולכן אפשר להשתמש בה בתנאי.
4. ענף else של הפנימי: אם המשתמש לא הסכים, מודפסת הודעה שלא ניתן לפתוח חשבון בלי להסכים לתנאים.
5. בדיקת כל המסלולים: גיל 16 והסכמה מדפיסים שאפשר לפתוח חשבון. גיל 16 בלי הסכמה מדפיס את הודעת התנאים. גיל קטן עובר ישר ל-else החיצוני בלי להגיע לתנאי הפנימי.
שימו לב
- קריסה התרחשה כי נכתב nextInt במקום nextLine לקליטת התשובה. לקליטת מחרוזת צריך nextLine.
תנאי מקונן מאפשר לשאול שאלות שלב אחר שלב, כשכל שלב תלוי בתוצאת הקודם.
השיעור הבא בקורס: תרגול על if-else

פרקי ההרצאה: תנאי בתוך תנאי

  1. 00:00

    מבוא לתנאי מקונן (Nested If)

  2. 00:39

    שאלה נוספת בתוך תנאי הגיל

  3. 01:19

    השוואת מחרוזות בג'אווה עם equals

  4. 03:04

    הודעת אישור רק כשהתנאים מתקיימים

  5. 03:49

    הודעת דחייה כשאחד התנאים לא מתקיים

  6. 04:31

    שילוב כל הקומבינציות בתוכנית אחת

תמלול ההרצאה: תנאי בתוך תנאי

הטקסט המלא של הדקות הראשונות בהרצאה «תנאי בתוך תנאי» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    האם אנחנו יכולים לכתוב בתוך הבלוק של האיף עוד איף? התשובה היא כן. זה נקרא איף מקונן או באנגלית נסטד איף. בואו נעשה את זה.

  2. 00:17

    בואו נניח שהאיף הראשון שאל שאלה האם הגיל גדול או שווה ל-13, אבל זה לא מספיק לנו בשביל שנוכל להגיד למשתמש שהוא יכול לפתוח חשבון פייסבוק.

  3. 00:29

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

  4. 00:48

    אז בוא נניח שהוא עבר בהצלחה את האיף הראשון ונכנס לכאן כאן אנחנו יכולים לשאול אותו עוד שאלה עוד איף ושימו לב שהאיף הזה נמצא בתוך הבלוק של האיף החיצוני. לפני שנשאל את השאלה הזאת בואו קודם כל נקבל ממנו את התשובה לשאלה אז הנה השאלה do you agree to the terms and conditions נניח שהוא גם קרא את הטרמס אנד קונדישנס בואו ניקח סטרינג אנסוור שווה קונסול נקודה נקסט ליין

  5. 01:28

    ויש לנו עכשיו את התשובה של היוזר אז בואו נשאל שאלה לגביה. אן סוואר ואנחנו רוצים לבצע השוואה על ידי סטרינגים. עכשיו בג'אווה זה קטע קצת מוזר לא ניתן לבצע השוואה של סטרינגים בצורה הזאת ולשאול האם אנסר שווה יס שזה קצת באסה בC-Sharp לדוגמה הדבר הזה חוקי לגמרי.

  6. 02:05

    בג'אווה אנחנו צריכים לעשות את זה. בצורה הבאה קצת מוזר אבל יש לנו איזושהי פקודה שנקראת equals שבעצם נכתבת אחרי נקודה וכותבים את זה אחרי המחרוזת אז המחרוזת היא answer זה מה שהיוזר בעצם ענה ואנחנו רוצים לשאול האם ה-answer equal to yes כל הדבר הזה מחזיר לנו true או false אז בוא נניח שהיוזר ענה

  7. 02:42

    yes ושימו לב שזה לא כל כך case sensitive אבל נסתפק בזה נניח שהיוזר ענה yes באותיות קטנות אז אם הוא גם מעל גיל 13 גדול או שווה ל-13 וגם ענה yes על זה שהוא מסכים לתנאי השימוש רק אז אנחנו יכולים להגיד לו את המשפט הבא you can open a facebook account אבל כאן אנחנו יכולים לרשום עכשיו אנחנו צריכים להבין איפה כל אחד נמצא

  8. 03:18

    מתי המחשב מגיע לזה רק אם הוא ענה true כאן וכאן ואז הוא נכנס לכאן מתי הוא מגיע ל-else רק אם המחשב ענה true על השאלה הזאת עם הגיל גדול השווה ל-13 ו-false על השאלה הזאת ואז הוא יגיע ל-else הזה מפני שה-else שווה ל-if ששייך אליו לפי הבלוק.

  9. 03:47

    אנחנו רואים שהif הזה פותח פה בלוק וסוגר פה בלוק ופה אנחנו מיד רואים אלף זאת אומרת שהוא שווה שייך אליו אז ה-else הזה התבצע רק אם הוא ענה false על השאלה הזאת אז מה אנחנו נכתוב לו כאן בואו נכתוב לו הודעה אחרת you cannot open a facebook account if you don't agree to

  10. 04:19

    to the terms and conditions ויש לנו כאן סמיילי עצוב ובגלל שזה קצת ארוך if you don't agree to the terms and conditions בואו נראה אולי בעצם אנחנו כן נוכל לראות את כל הסיפור הזה בבת אחת על הקונסול אז זה יהיה בסדר אז יש לנו if מקונן nested if נסטנד קונדישן או נסטנד איף בתוך איף אחר באלס אין לנו יכול גם

  11. 04:55

    באלס להיות לנו איף אין לנו מניעה לשים אלס איף בכל מקום שנרצה או ליתר דיוק איף אלס בואו נריץ את זה וננסה את כל הקומבינציות האפשריות יוזר מכניס 16 קבל שאלה do you agree to the terms and condition ואנחנו רואים שיש לנו פה את הבעיה של הקלט המלוכלך שנתקענו בה בעבר dirty input

ההרצאה הקודמת: תנאי if-else

ההרצאה הבאה: תרגול על if-else

הרצאות קשורות מקורסים אחרים

  • תנאי If - Else - חלק 1
  • תנאי if-else בג'אווה
  • תנאי If-Then-Else ב-Javascript
  • משפטי תנאי - if - else - שפת Swift

קורסים נוספים במסלול

  • קורס מבוא ל-QA - מידע חשוב לבודק תוכנה
  • קורס פוסטמן - Postman - בדיקות לאתרי אינטרנט - API
  • קורס Robot Framework - בדיקות QA ממשק גרפי
  • קורס סלניום בסיסי - בדיקות אוטומטיות - Selenium
  • קורס סלניום מתקדם - CI/CD - Continues Integration
  • קורס מייבן - Maven