אופרטורים לוגיים חלק 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אתגר
מתחיליםאתה עוזר לחנות חיות ליצור מערכת שתקבע אם היא יכולה למכור חיית מחמד ללקוח.
אתחל את המשתנים הבאים:
hasLicenseעם הערךtruehasSpaceעם הערךfalsehasExperienceעם הערך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);
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה לאחר מכןקיצורים אריתמטייםאופרטורי השוואההשוואת מחרוזות5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2סיכום - לוגיקה פשוטהאופרטורים לוגיים חלק 3אופרטורים לוגיים חלק 4תרגלו בעצמכם: קומפיילר Java אונליין