Menu
Coddy logo textTech

אופרטורים לוגיים חלק 4

חלק מהיחידה יסודות במסלול ה-Java של Coddy. שיעור 26 מתוך 73.

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

כשיש לך not לפני שני תנאים שמחוברים באמצעות and, אפשר לפצל אותם לשני חלקים נפרדים. ה-and הופך ל-or, וכל חלק מקבל not משלו:

!(A && B) שקול ל-(!A) || (!B)

לדוגמה:

// נבדוק אם מספר אינו נמצא בין 1 ל-10
int number = 15;
// שני הביטויים האלה שקולים:
boolean result1 = !(number >= 1 && number <= 10);
boolean result2 = !(number >= 1) || !(number <= 10);
System.out.println(result1);  // true
System.out.println(result2);  // true

גם ההפך נכון: !(A || B) זהה ל־(!A) && (!B)

לדוגמה:

// בודקים אם אדם אינו (סטודנט או מועסק)
boolean isStudent = false;
boolean isEmployed = false;
// שני הביטויים האלה שקולים:
boolean result1 = !(isStudent || isEmployed);
boolean result2 = !(isStudent) && !(isEmployed);
System.out.println(result1);  // true
System.out.println(result2);  // true
challenge icon

אתגר

מתחילים

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

אתחל את המשתנים הבאים:

  • hasLicense עם הערך true
  • hasSpace עם הערך false
  • hasExperience עם הערך true

כתוב את הביטויים הלוגיים הבאים כדי לקבוע אם:

  • canSellRegularPet: הלקוח צריך רישיון או ניסיון, וחייב להיות לו מקום
  • canSellExoticPet: הלקוח צריך גם רישיון וגם ניסיון, וחייב להיות לו מקום
  • cannotSellAnyPet: ללקוח אין רישיון ואין ניסיון, או שאין לו מקום
  • result: canSellRegularPet או canSellExoticPet או cannotSellAnyPet

טיפ: כתוב את התנאי שהדרישה מתארת, ולא את הערך שהמשתנה מכיל במקרה. "חייב להיות לו מקום" → hasSpace; "אין לו מקום" → !hasSpace. השתמש ב־! רק כשהדרישה היא ההפך ממה ששם המשתנה מציין, למשל "אין לו רישיון" → !hasLicense.

נסו בעצמכם

public class Main {
    public static void main(String[] args) {
        // אתחלו את המשתנים
        

        // חשבו את התנאים
        boolean canSellRegularPet = 
        boolean canSellExoticPet = 
        boolean cannotSellAnyPet =
        boolean result =

        // אל תמחקו את השורות שלמטה
        System.out.println("Can sell regular pet: " + canSellRegularPet);
        System.out.println("Can sell exotic pet: " + canSellExoticPet);
        System.out.println("Cannot sell any pet: " + cannotSellAnyPet);
        System.out.println("Result: " + result);
    }
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Java אונליין