PracticU

Logical NOT Operator

בלי כתוביותעם כתוביות
PracticU › קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים › Logical NOT Operator
Logical NOT Operator
השיעור מציג את אופרטור ה-NOT (!), אופרטור אונארי שמקבל ערך בוליאני אחד והופך אותו: מ-true ל-false ומ-false ל-true.
איך הוא עובד
1. הפיכה: NOT מקבל אופרנד אחד מימינו. אם הביטוי true הוא נהפך ל-false, ואם false הוא נהפך ל-true. לכן if (!תנאי) נכנס לבלוק רק כשהתנאי המקורי false.
2. דוגמה - טמפרטורה: רוצים להציג go and play outside רק כשהמעלות לא גדולות מ-35. אפשר לכתוב !(degrees > 35), והתוצאה נכונה, אבל זה מסורבל.
3. הדרך הפשוטה יותר: if (degrees <= 35) בלי NOT. המרצה מסביר שברוב המקרים NOT על תנאי השוואה מיותר.
4. מתי הוא הגיוני: כשיש ערך בוליאני טהור, משתנה בוליאני או פונקציה שמחזירה true או false. לדוגמה if (!veryHot) כשהמשתמש מכניס true או false.
5. בדיקת יום: !day.equals("Saturday") מציג הודעה לכל יום שאינו שבת, בלי צורך בבלוק else.
שימו לב
- השוואה כמו veryHot == false עובדת, אבל !veryHot קריא יותר.
NOT מתאים במיוחד להפיכת ערך בוליאני קיים, ופחות כשאפשר לכתוב את ההשוואה ישירות.
השיעור הבא בקורס: Operators Precedence

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

  1. 00:00

    מבוא לאופרטור NOT האונרי

  2. 00:46

    היפוך תוצאה בוליאנית עם NOT

  3. 01:25

    דוגמה: מזג אוויר וטמפרטורה בחוץ

  4. 03:09

    היפוך תנאי השוואה: מעלות גדולות מ-35

  5. 05:08

    כתיבת התנאי בלי NOT בצורה פשוטה

  6. 05:46

    מתי NOT הגיוני: ערך בוליאני

  7. 06:43

    קליטת true או false מהמשתמש

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

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

  1. 00:02

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

  2. 00:20

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

  3. 00:49

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

  4. 01:03

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

  5. 01:22

    נתקלים בהרבה מצבים שמשתמשים איתו הוא נדיר יותר מאשר not the end אבל בואו נראה באמת מתי משתמשים איתו. אז יש לנו כאן קודם כל בקשה מהמשתמש והפעם מה שאני רוצה להגיד למשתמש זה enter number of degrees outside.

  6. 01:43

    תכניס לי בבקשה כמה מעלות יש כרגע בחוץ, נניח מעלות סלזיוס ואנחנו רוצים לקלוט את זה לתוך degrees, הנה יש לנו פה next int ומה שאנחנו רוצים לשאול זה או מה שאנחנו רוצים לומר למשתמש זה רק דבר אחד, אנחנו רוצים להגיד למשתמש go and play outside אם המעלות 35 ומטה.

  7. 02:20

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

  8. 02:50

    ובוא נניח שאני רוצה להשתמש עם האופרטור הזה רק לצורך הדוגמה כמובן שיש לנו פה איזה שהוא איף שבתוך האיף אנחנו רוצים להציג go and play outside מפני שזאת המחרוזת היחידה שאני רוצה להציג.

  9. 03:09

    אז אם אני רוצה להשתמש עם האופרטרונות רק לצורך הדוגמה הזאת, תכף נראה אם זה באמת הגיוני או לא הגיוני, מה בעצם התנאי שאני צריך לבדוק? הרי אני צריך להפוך את התנאי.

  10. 03:21

    אז מתי אני רוצה להציג את ההודעה גוין פלייאט סייד? רק אם המעלות לא יותר גדולות מ-35, מה זה אומר?

  11. 03:30

    לא זנות יותר גדולות מ-35, דיגריז גדול מ-35. קצת מורכב הייתי אומר, בשביל לבדוק את התנאי הזה אבל בוא נראה אם זה עובד נריץ נכניס 38 מעלות בחוץ לא נקבל שום הודעה בהתאם לאפיון לחצתי פה על משהו אחר נריץ שוב פעם נכניס 33 מעלות שום בעיה go and play outside אז מה בעצם קרה כאן?

  12. 04:12

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

  13. 04:35

    נניח שהיוזר הכניס מעלות נמוכות מ-35, נניח 30, אז אנחנו כן רוצים להציג את ההודעה. האם המעלות גדולות מ-35? תשובה false, הוא הכניס 30. ה-note הפך את זה לטור, נכנסנו והצגנו את המחוזת.

  14. 04:57

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

  15. 05:12

    והאפשרות הקלה יותר זה בכלל לא להשתמש עם נוט ולהפוך את התנאי הזה בצורה כזאת. הרבה יותר קריא. If Degrees קטן שווה ל-35, וואלה, תציג לי את ההודעה, אם לא, אל תעשה כלום.

  16. 05:30

    אנחנו 39 מעלות בחוץ, וואלה, לא קרה כלום. אנחנו, לא הצגנו שום הודעה, אנחנו 20 מעלות בחוץ. אוקיי, go and play outside. אז אנחנו רואים שבהרבה מקרים זה בכלל לא יהיה הגיוני וסתם מיותר להשתמש באופרטור not.

  17. 05:51

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

  18. 06:24

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

  19. 06:35

    בואו נראה דוגמה. נניח שאני רוצה לשאול פחות או יותר את אותה שאלה, לנסח אותה קצת אחרת אני רוצה לשאול את המשתמש today is very hot בעצם זה לא בדיוק שאלה ואני רוצה שהוא פשוט יכניס לי true or false כאילו סקר כזה שאני עורך או תשובה לשאלה במבחן או

  20. 06:58

    לא משנה מה תכניס לי true or false לאן אני רוצה לקלוט את הtrue or false שלו למשתנה מסוג בוליאן איך אנחנו קולטים בוליאן על ידי הקונסול הקונסול מסוגל להביא לנו גם בוליאן לדוגמה very hot זה יהיה שם המשתנה כי אם הוא יכניס true אז זה אומר שזה very hot.

  21. 07:18

    קונסול נקודה, יש לנו נקסט בוליאן קלטנו את ה true או false של היוזר למשתנה very hot.

ההרצאה הקודמת: Logical OR Operator

ההרצאה הבאה: Operators Precedence

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

  • טיפול במקרה של Resource Not Found
  • Optionals: The nil coalescing operator
  • העמסת אופרטור-Operator Overloading

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

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