PracticU

Logical AND Operator

בלי כתוביותעם כתוביות
PracticU › קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים › Logical AND Operator
Logical AND Operator
השיעור עוסק באופרטור AND, הסימן &&. הוא מחזיר true רק כששני התנאים משני צדדיו true.
איך בונים את התרגיל
1. הבעיה: קולטים יום בשבוע כמחרוזת ויום בחודש כ-int, ורוצים להציג הודעה מיוחדת רק ליום שישי ה-13.
2. בדיקה ראשונה: day.equals("Friday"). המחרוזת צריכה להיכתב בדיוק כמו שהיא מוגדרת, עם F גדולה.
3. בדיקה שנייה: dayOfMonth == 13. יכול להיות שהיום שישי אבל לא ה-13, וההפך.
4. תנאים מקוננים: בלי AND בודקים את התנאי הראשון, ובתוכו את השני. הודעה לשישי ה-13, ואחרת הודעה אחרת.
5. AND כתנאי אחד: day.equals("Friday") && dayOfMonth == 13. הבלוק מתבצע רק כששני החלקים true, וכך נחסכות כחמש שורות.
6. שרשור: אפשר לשרשר כמה AND. בדוגמה של שלושה מספרים רנדומליים בודקים שכולם זוגיים: a % 2 == 0 && b % 2 == 0 && c % 2 == 0.
שימו לב
- המחשב מפעיל את ההשוואות בכל צד לפני שהוא מחבר אותן ב-AND, ולכן אפשר להשמיט סוגריים.
- ב-AND אפשר להוסיף תנאים רבים, וכל תנאי נוסף מוסיף בדיקה אחת.
AND מאפשר לבדוק כמה תנאים יחד בתנאי אחד, ולחסוך תנאים מקוננים.
השיעור הבא בקורס: Logical OR Operator

פרקי ההרצאה: Logical AND Operator

  1. 00:00

    מבוא לאופרטורים הלוגיים AND OR NOT

  2. 01:34

    הבעיה: יום שישי ה-13 בתאריך

  3. 02:10

    קליטת יום בשבוע ויום בחודש מהמשתמש

  4. 04:02

    בדיקה כפולה: יום שישי וגם יום 13

  5. 06:19

    הרצת התוכנית עם תאריכים שונים

  6. 07:00

    אופרטור AND: שני תנאים ביחד

  7. 08:03

    טבלת האמת של AND

  8. 08:58

    כתיבת AND בקוד בצורה קצרה

תמלול ההרצאה: Logical AND Operator

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

  1. 00:02

    אנחנו מגיעים לסדרה של אופרטורים חדשים. האופרטורים נקראים Logic Operators, אופרטורים לוגיים. סך הכל יש שלושה אופרטורים כאלה, ושלושתם קשורים לתחום התנאים, ה-conditions, ולכן חשוב שנראה אותם בנושא הזה של ה-condition.

  2. 00:23

    האופרטורים הם AND, OR ו-NOT. הסימנים שלהם הם עבור AND זה Double Amperescent, עבור אור זה דאבל ורטיקל פייפ, הסימן הזה נקרא ורטיקל פייפ, ועבור אור, סליחה, נוט, זה פשוט סימן קריאה.

  3. 00:50

    עכשיו, האופרטור הזה והזה, אנד ואור, הם אופרטורים בוליאנים, הם מקבלים שני אופרנדים משני הצדדים שלהם, ועושים איזה משהו שכבר אנחנו נראה.

  4. 01:03

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

  5. 01:23

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

  6. 02:00

    ואז נראה איך האופרטור הזה יכול לעזור לנו אם היוזר מכניס לנו שהיום באמת זה יום שישי השלוש עשרה אז אנחנו רוצים להציג לו הודעה אחת אם לא אנחנו אנחנו רוצים להציג לו הודעה אחרת לצורך כך בואו נקלוט מהמשתמש את הפרטים הדרושים דבר ראשון אני אומר למשתמש enter current day of the week ואני אפילו אומר לו תכניס לי בבקשה sunday תכניס לי monday וכולי עכשיו

  7. 02:35

    אני רוצה לקלוט בעצם את מה שהיוזר הכניס לי אז בואו נארגן לעצמנו כאן איזה סטרינג נקלוט את זה כסטרינג כרגע day of week, נכניס אופרטור, נכניס ליתר דיוק את המידע דרך הקונסול, יש לנו פה scanner, console שווה new scanner ו-system.in כאן בסוף אנחנו רוצים לסגור את הקונסול ופה לבצע console.next line בצורה כזאת.

  8. 03:21

    הדבר הבא שאנחנו רוצים לקלוט מהיוזר זה עוד מכרוזת שאומרת enter, current day of the month וזה כמובן 1, 2 עד 31 נניח, תן לי את היום של החודש. אוקיי, את זה אנחנו גם רוצים לקלוט אבל הפעם אנחנו רוצים לקלוט את זה לתוך integer day of month ולכן יש לנו פה next int.

  9. 03:57

    אז קלטנו מהמשתמש גם איזה יום היום מבחינת השבוע וגם איזה יום אנחנו בתאריך מבחינת החודש. וכעת אנחנו רוצים להציג הודעה עם עכשיו Friday the 13. אז לצורך כך אנחנו צריכים בעצם לבצע שתי בדיקות, כי יכול להיות שהיום יום שישי אבל לא השלוש עשרה, ויכול להיות שהיום השלוש עשרה אבל לא יום שישי.

  10. 04:26

    אז בדיקה ראשונה שאנחנו רוצים לעשות זה האם day of week והמחרובת Friday. אז לצורך בדיקת מחרוזות ראינו שאנחנו צריכים להשתמש עם עם Equals, Equals מחזירה לנו ערך בולעני ופשוט משווה.

  11. 04:43

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

  12. 04:57

    אם הוא עשה את זה, עדיין זה לא אומר שהיום יום שלישי השלוש עשרה. אנחנו צריכים לקלוט מהמשתמש גם, או ליתר דיוק לבדוק גם את ה-Day of Month.

  13. 05:10

    אז בואו נבצע בדיקה, אם day of month שווה ל-13 אז אם אני הגעתי בדיוק לאיף המקונן הזה אני יכול להציג לו פה את ההודעה שרציתי להציג בנוגע ליום שישי ה-13. be careful it is Friday the 13th today והנה יש לנו את ההודעה.

  14. 05:40

    אחרת אני רוצה להציג לו הודעה אחרת, לדוגמה no carry day today כי היום שלישי השלוש עשרה לפי האגדה נחשב יום מפחיד בגלל מה שקרה לטמפלרים אם אתם רוצים תקראו על זה מאוד מעניין אוקיי אבל אני צריך לבצע כאן עוד אלס מפני שיכול להיות שהמשתמש גם כאן כבר לא הכניס לי בעיף הראשון את Friday לכן ההודעה הזאת צריכה לחזור על עצמה כאן

  15. 06:16

    קודם כל, הקוד הזה מבחינה לוגית אמור לעבוד בצורה טובה. בואו נבדוק את זה. נריץ, הדבר הראשון זה שהיוזר מבקש ממני את היום בשבוע, אני מכניס Friday, הוא מבקש ממני את החודש, אני מכניס 13, והנה אני רואה, Be careful, it is Friday the 13th today.

  16. 06:38

    בואו נכניס שוב פעם, נכניס Friday, אבל נכניס שהיום הרביעי לחודש. הוא כותב לי No scary day today. נריץ שוב, נכניס הפעם monday ה-13, שוב פעם no scary day-to-day וכמובן אם אני מריץ ומכניס שהיום לדוגמה monday the 4th, שוב פעם no scary day-to-day, זאת אומרת שלוגית האלגוריתם הזה עובד.

  17. 07:12

    אז מה זה אופרטור end? אופרטור end מאפשר לנו לבצע סדרה של תנאים בתוך תנאי בולעני 1. מה זה אומר? אנחנו בעצם יכולים לבצע, בואו נעשה את זה מעין תרשים כזה, קטע של תנאי ראשון ויש לנו פה אופרטור end וקטע של תנאי שני.

  18. 07:42

    כאן אנחנו רואים בעצם שיש לנו משפט תנאי ובתוך הסוגריים יכולים להיות לנו שני תנאים עם end ביניהם. מה אופרטור end אומר?

  19. 07:51

    אם התנאי הראשון שווה ל true וגם end זה קיצור של וגם התנאי השני שווה ל true, רק אז כל הביטוי כולו יהיה true. למעשה האופרטור הזה מחזיר לנו משני האופרנדים האלה true או false.

  20. 08:09

    מתי הוא מחזיר true? רק אם התנאי הראשון true וגם התנאי השני true. רק במקרה הזה הוא יחזיר לנו true בעצמו משני התתי תנאים, משני האופרנדים ורק במקרה כזה הif יקבל באמת true ויוכל להתבצע.

  21. 08:27

    אם התנאי הראשון הוא true אבל התנאי השני הוא false, כל האופרטור הזה יחזיר לנו false ולכן הif הזה לא יתבצע. אם התנאי הראשון הוא false והתנאי השני הוא true, כל האופרטור הזה יחזיר לנו בעצם false ושוב פעם הif לא יתבצע וכמובן אם שני התנאים הם false אז האופרטור end יחזיר לנו false ושוב פעם הif לא יתבצע.

  22. 08:55

    זאת אומרת יש לנו פה ארבע קומבינציות שרק אחת מהן תביא לנו true, רק אם זה true וזה true כל האופרטור יחזיר לנו true. איך אנחנו יכולים ליישם אותו?

  23. 09:09

    בשביל לכתוב את אותו הדבר בקוד הרבה יותר

ההרצאה הקודמת: תרגול על if-else

ההרצאה הבאה: Logical OR Operator

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

  • Optionals: The nil coalescing operator
  • העמסת אופרטור-Operator Overloading

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

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