
switch בודק ערך אחד, ו-case מציין כל ערך אפשרי שמתאים לו. בדוגמה נבדקה הסיסמה שהמשתמש הכניס.case כותבים break, שיוצא מהמבנה ומונע בדיקה של האפשרויות הבאות.הטקסט המלא של הדקות הראשונות בהרצאה «משפט Switch, Case - חלק 3» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום, שמי אבי, וזוהי הרצאת המשך למשפטי בקרה של if ו-else. בהרצאה הזאת אני הולך להעביר את ההסבר לגבי משפט בקרה שנקרא switch statement.
זה משפט בקרה מאוד דומה למשפט של if מבחינת המהות שלו, אבל יש בו איזה שוני קטן. אז בסוף השיעור הזה אתם אמורים לדעת מהו משפט בקרה של switch case, ואיך כותבים משפט כזה.
אז כמו שאמרתי בהתחלה, משפט בקרה של switch statement הוא די דומה בייעוד שלו למשפט בקרה של if ו-else. כלומר, שתי משפטי הבקרה האלה, בסופו של דבר, התפקיד שלהם זה לבדוק האם משהו מסוים הוא נכון, האם תנאי מסוים הוא נכון, ובהתאם לזה לפעול או לא לפעול.
עכשיו, בניגוד למשפטי if ו-else, שבהם יכולים להיות כמה תנאים שיכולים להיות נכונים, זאת אומרת, יכול להיות לנו מצב של if משהו מסוים, else if משהו מסוים, אם משהו מסוים, ויכולים להיות לנו כמה if-else-ים שהם נכונים.
במשפט בקרה של סוויץ' קייס רק אפשרות אחת יכולה להיות נכונה, ואני אדגים את זה. אז בהמשך לדוגמה הקודמת שלנו של מסך הכניסה, זה דרך אגב השיעור הקודם שלנו, תחמתי אותו באזור של ריג'ן, ריג'ן זה פשוט מאוד דרך מסוימת שבה אני תוחם חלק מהקוד ונותן לו שם.
אז נתנתי לו את השם של if-else-lesson. עכשיו, אני רוצה לבדוק לא מה המשתמש הכניס מבחינת שם המשתמש שלו, אלא מה הסיסמה שהוא הכניס. ואם הסיסמה שלו התחילה, אני רוצה שהוא יעבור למסך הבא.
וזה יהיה באמצעות סוויץ' קייס. אז מה שאני עושה זה את הדבר הבא: סוויץ' אנטרד פסוורד, בואו נקצר את זה ונעתיק את זה פשוט.
במקום אחד אחד נכתוב 2 2 קובר קול. אז מה יש לנו פה?
כשהמשתמש הכניס במקרה הזה את הפרטים שלו, אז לצורך הדוגמה הזאת אני רק רוצה לבדוק את הסיסמה שהוא הכניס אז שהמשתמש כרגע הוא לא רלוונטי לנו אז אפשר להתעלם מהחלק הזה יש פה חלק מסוים שבסופו של דבר אומר את הדבר הבא סוויץ' תעבור לפי הנתון לפי הסיסמה שהמשתמש הכניס לאפשרות המתאימה הזאת קייס זה מקרה אם אנחנו עכשיו אם המשתמש הכניס 111 זאת אומרת אם הדבר הזה שמייצג את הסיסמה שהוא
הכניס זה 111 תציג לו הודעת שגיאה כזאת במקרה שהמשתמש שהאנטר פספורד היא 222 תציג לו את ההודעה הזאת.
במקרה שהסיסמה שהוא הכניס היא 3333 תציג לו את ההודעה הזאת. במקרה שהסיסמה שהוא הכניס היא 1234 תעביר אותו לדף הבא כי זאת הסיסמה הנכונה. אחרת אם אף אחד מהדברים האלה הוא לא נכון תציג לו את ההודעה הזאתי, את הודעת השגיאה הזאתי וגם נוסיף כל אחד מהדברים האלה,
שכחתי, שתהיה שהמשתמש יראה את ההודעת השגיאה הזאת. אז בוא אני רק אוסיף את זה. אני אעשה קופי לכל אחת מהשורות האלה פה, יעתיק את זה, יעתיק את זה לפה ויעתיק את זה לפה.
אוקיי, זה לא רלוונטי לפה. אז זאת גם דרך שבה נבדק תנאי מסוים. יש פה את הסיסמה שהמשתמש הכניס ואני בודק את זה לגבי כל מיני אפשרויות. אפשרות שהוא הכניס 1,1,1,1, אפשרות שהוא הכניס 2,2,2,2,2, אפשרות שהוא הכניס 3,3,3,3 או את האפשרות שהוא הכניס את הסיסמה הנכונה.
ואם כל הדברים האלה לא נכונים, בוא נגיד שהוא הכניס 7, 8, 9 ו-10, אנחנו נגיע לחלק הזה. עכשיו, מה זה השורה הזאת פה שנקראת, שיש בה את המילה break?
אנחנו נפגוש בה בהמשך בהרצאה שתדבר על לולאות. מה שהשורה הזאת אומרת בסופו של דבר זה משהו מאוד פשוט. אם אנחנו עכשיו מתחילים לבדוק מה שהוא הכניס, והגענו לפה, וראינו שהוא באמת הכניס 1, 1, 1, אנחנו מכניסים את ההודעת שגיאה, דואגים שהודעת השגיאה תהיה
שהמשתמש הראה אותה ויוצאים זאת אומרת אנחנו לא ממשיכים הלאה לבדוק לגבי האם הוא הכניס 222 האם הוא הכניס 3333 וכן הלאה אנחנו break מפסיקים יוצאים מכל הסוויץ' קייס הזה ומגיעים לפה כנראה לגבי כל שורה בשורה בשורה שיש לנו פה אם גילינו שהוא הכניס 222 אנחנו
מכניסים הודעת שגיאה מציגים אותה שתהיה שהמשתמש הראה אותה ויוצאים מכל זה זה למעשה פקודת יציאה מהסוויץ' קייס, מכל החלק הזה.
אנחנו נהיה פה. אז בואו נריץ את האפליקציה ונראה את זה. אז האפליקציה עלתה. עכשיו, לגבי שם המשתמש לצורך הדוגמה שלנו, זה לא רלוונטי מה אני אכניס, אז אני אכניס פשוט את השם שלי, אבי.
אבל הסיסמה, בואו נגיד שאנחנו נכניס פה עכשיו 2222 ונלחץ שלח. בואו עכשיו נתקדם לשורה הזאתי, סוויץ' קייס. אוקיי, הגענו לפה.
אני הכנסתי 2222. ועכשיו מתבצעת בדיקה, מה אני הכנסתי, ואני עובר בהתאם למה שהכנסתי לאפשרות המתאימה, מהאפשרויות האלה. מכיוון שאני הכנסתי 2222 אני עובר למקרה של 2222, לאפשרות הזאת, ובאמת הגעתי אליה ואני מגיע לחלק הקוד שנמצא שקשור למקרה שמשתמש הכניס 2222 שזה זה.
ואז בסופו של דבר אני מכניס את הסיסמה שהיא חלה, דואג לכך שהסיסמה, סליחה, של הודעת השגיאה שהמשתמש יראה אותה. ועכשיו אני עובר לשורה הזאת. השורה הזאת אומרת לי בסופו של דבר, כמו שאמרתי מקודם, תצא מכל ה-switch case הזה, מכל חלק הקוד הזה.
וברגע שאני עובר את השורה הזאתי, הגעתי לפה, יצאתי מפה. שימו לב, אני נמצא פה כבר. כבר לא נמצא בחלק הקוד שנמצא של ה-switch case, שזה כרגע לא רלוונטי לנו בשבילנו פה כרגע, אז בואו נעצור את זה.
אוקיי, בואו נשים את זה אפילו בפומנט, זה הפריע לנו. אוקיי, עכשיו בואו נראה מה יקרה אם אני אכניס אפשרות שהיא לא קיימת מהאפשרויות האלה פה.
בואו נראה מה יתרחש, לאיפה נגיע. אז אני אכניס עכשיו עוד פעם אבי, ואני אכניס 5678, נצלח. אוקיי, הכנסתי 5678, אין לו אפשרות כזאת של 5678.
לכן מה שקורה, אנחנו נגיע לפה, לדיפולט לברירת המחדל במקרה שאף אחת מהאפשרויות האלה לא מתאימה אנחנו נגיע לחלק הזה כלומר לפה ובאמת הגענו לפה כלומר החלק הקוד הזה אחרי הדיפולט זה חלק הקוד שמתבצע במקרה שאף אחת מהאפשרויות לא מתאימה ונמשיך הלאה והנה הודעת השגיאה אוקיי
עכשיו בתחילת ההרצאה אני הסברתי שמשפט סוויץ' קייס שונה ממשפט if ואלס כי במשפט if ואלס אפשר כמה תנאים יכולים להיות נכונים אז אני רוצה להדגים את זה, כדי שזה יהיה ממש ברור.
אז בואו נגיד, בואו נסיר את ההערות האלה.