
||. הוא מחזיר true כשלפחות אחד מהתנאים מתקיים.yes או y, ושתי התשובות צריכות להציג continuing to the next level.else if, אבל כך משכפלים את אותו קוד בשני ענפים.answer.equals("yes") || answer.equals("y") הוא תנאי אחד שמחזיר true לשתי התשובות, ואז נשאר רק else אחד.a % 7 == 0 || b % 7 == 0 || c % 7 == 0.הטקסט המלא של הדקות הראשונות בהרצאה «Logical OR Operator» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אוקיי אז אנחנו מגיעים לאופרטור אור ובאופרטור אור גם כאן אנחנו מקבלים שני תתי תנאים משני צדדים של האופרטור והוא מחזיר לנו תוצאה בוליאנית true או false אבל בואו נראה מה הוא בעצם מחזיר לנו אז גם כאן אנחנו יכולים לבצע שני תתי תנאים ואור ביניהם בעצם זה vertical pipe, vertical pipe, תו כזה של קו אנכי.
מה האופרטור עושה? האופרטור אומר כזה דבר: אני צריך שלפחות אחד מהם יהיה true ואז אני אביא לכם true משני התנאים שהבאתם לי. זאת אומרת הראשון true והשני false אני מחזיר לכם מכל זה true הראשון false והשני true אני מחזיר לכם מכל זה true הראשון true והשני true אני מחזיר לכם מכל זה true. זאת אומרת
שיש פה שלושה מצבים מתוך ארבעת הקומבינציות שיחזור true אבל אם פה יש false ופה יש false אני מחזיר לכם מכל זה false זה המקרה היחידי שהוא יחזיר לנו false לכן הוא כאילו אומר לנו או זה יהיה true או זה יהיה true אבל אני אחזיר לכם true בואו נראה דוגמה אמיתית אנחנו רוצים לשאול את המשתמש את השאלה הבאה קונטיניו טו דה נקסט לבל נניח שיש לנו פה משחק ואנחנו רוצים שהיוזר יגיד לנו כן או
לא האם הוא מסכים האם הוא רוצה שנמשיך לשלב הבא במשחק בואו ניקח את ההודעה שלו לתוך משתנה אנסר ונכניס בה נקסט ליין מפני שזה או יס או משהו אחר עכשיו אני רוצה להציג לו הודעה קול, קונטיניוינג טו דה נקסט לבל או אני רוצה להציג לו את ההודעה ביי ביי או זאת או זאת כן כתבתי
אותם כרגע רק בשביל להבין שאני רוצה להציג את שניהם מה הבעיה הבעיה היא שהיוזר יכול להכניס את המחוזת yes והוא יכול להכניס y מבחינתנו גם y זה בסדר וגם yes זה בסדר או במילים אחרות או שהוא יכניס yes או שהוא יכניס y בשני המקרים האלה אני רוצה to continue to the next level.
אז איך אנחנו עושים את זה? בואו נניח שהיינו רוצים לעשות את זה בתנאים רגילים ללא שימוש באופרטור or, ואז נראה איך אופרטור or יכול לעזור לנו. מה הייתם עושים בשביל גם במקרה הראשון וגם במקרה השני להציג cool continuing to the next level?
אנחנו לא חייבים להשתמש עם האופרטורים האלה, אבל זה מאוד הגיוני להשתמש בהם אם הם חוסכים לנו קוד. אז מה שאנחנו רוצים לעשות, זה לבצע בדיקה אם answer = yes אנחנו רוצים להציג את ההודעה הזאת.
אלס אם answer = y גם כאן אנחנו רוצים להציג את ההודעה הזאת. אלס אנחנו רוצים להציג ביי ביי ובעצם תהיה לוגיקה נכונה עבור המטלה שכרגע ראינו. בואו נבדוק את זה נריץ continue to the נקסט לבל, יס, קול, קונטיניווינג.
נריץ שוב, נרשום הפעם וואי, שוב פעם קונטיניווינג. נריץ שוב, נרשום נו, ביי ביי. לא משנה גם מה אנחנו מכניסים, גם אם נכניס ABC אנחנו נראה ביי ביי, מפני שבדקנו רק אם זה יס או וואי, אנחנו בעצם רוצים להציג את ההודעות האלה, כל דבר אחר אנחנו מציגים את הביי ביי.
אז זה בסדר, זה עובד, אבל למה לא לקצר את זה? דבר ראשון, אפשר לקצר את זה בשיטה קצת אחרת. אפשר לרשום if במקרה כזה, כאשר אנחנו רוצים else ובתוכו if, אפשר לרשום פשוט else if בצורה כזאת ולהוריד את זה, בלי קשר לאופרטור or שתכף נשלב אותו.
זאת אומרת שיש לנו כאן if ראשון, if זה כאילו שאנחנו רושמים פה else ואין לו סוגריים מסוסלים ומיד יש לו if ואז ה-else הזה כמובן קשור ל-if הזה כי ה-if הזה מכיל את המסוסלים.
אז זה בעצם אפשרות אחת, אז לפעמים רואים את זה, לפעמים רואים if ואז else if ואז else if ואז else if ובסוף else זה גם בסדר. אפשר אבל לקצר את זה עוד יותר עם האופרטור של האור שלנו.
בואו נבצע את כל הקוד הזה שוב פעם, נוריד רק את ההערה הזאת ונריץ אותו בצורה כזאת. כל זה אפשר להזיז חזרה ואנחנו רוצים לבדוק אם answer שווה ל-yes או answer שווה ל-y אז אנחנו רוצים להציג את ההודעה call continuing to the next level.
אז אנחנו לא צריכים יותר את זה, כל מה שאנחנו צריכים זה רק אלס אחד ביי ביי בואו נבדוק נריץ נכניס yes נראה continuing נריץ שוב נכניס y נראה continuing נריץ שוב נכניס no נראה ביי ביי וכל דבר אחר יביא לנו ביי ביי אתם רואים שאנחנו קיצרנו פה את הקוד מפה הגענו לכאן וזה גם יותר קריא מי שמסתכל על זה אומר אוקיי או
או זה, או זה, תבצע לי את הקטע קוד הזה, אני לא צריך יותר מדי לקרוא את העיף הראשון ואז לקרוא את העיף השני, ובעצם פה שכפלנו בכלל קוד, הקוד הזה הוא אותו הדבר כמו הקוד הזה, וכמובן בפיתוח תוכנה זה לא הדבר הכי נכון לשכפל קוד.
אז הנה יש לנו עכשיו אפשרות להשתמש באופרטור or בשביל גם כאן לחסוך לעצמנו כינון או שימוש בסדרת תנאים על ידי קיצור ושימוש כתנאי אחד.