אופרטורים לוגיים חלק 3
חלק מהיחידה יסודות במסלול ה-Java של Coddy. שיעור 25 מתוך 73.
כאשר בודקים כמה תנאים, המחשב מפסיק לבדוק ברגע שהוא יודע מהי התשובה הסופית (זה נקרא הערכה בקצר חשמלי).
לדוגמה:
int x = 0;
int y = 5;
boolean result = x != 0 && y / x > 2;כאן x שווה ל־0, ולכן הוא לא יעריך את y / x > 2. אם נהפוך את הסדר:
boolean result = y / x > 2 && x != 0;פעולה זו תגרום לשגיאה, כי y יחולק ב־0, דבר שאינו חוקי במתמטיקה.
משתמשים בטכניקה הזאת כדי לייעל את ההערכה של ביטויים לוגיים. לדוגמה:
int a = 0;
int b = 2;
int c = 3;
int d = 5;
boolean result = (a > 0 && b < 2) || (c < -5 && d < 10);בדוגמה הזו, b < 2 ו-d < 10 לא יוערכו, מכיוון שגם a > 0 וגם c < -5 הם false.
אתגר
מתחיליםבואו ניצור תוכנית שתחליט אם זה יום טוב לייצור אנרגיה באמצעות פאנלים סולאריים
אתחלו את המשתנים האלה:
isSunnyעם הערך truewindSpeedעם הערך 5.4temperatureעם הערך 23solarPanelOutputעם הערך 9isCloudyעם הערך false
צרו ביטוי לוגי אחד שבודק את כל התנאים האלה:
- יום שמשי
- מהירות הרוח נמוכה מ-10
- תפוקת הפאנלים הסולאריים נמוכה מ-15
- הטמפרטורה גבוהה מ-20 OR שאין עננים
נסו בעצמכם
public class Main {
public static void main(String[] args) {
// אתחלו את המשתנים
// החליפו כל ערך מציין מקום למטה בערך המבוקש במשימה
boolean isSunny = false;
double windSpeed = 0.0;
int temperature = 0;
int solarPanelOutput = 0;
boolean isCloudy = false;
// הביטוי הלוגי המלא
// החליפו את מציין המקום למטה בביטוי אחד המשלב את כל ארבעת התנאים
boolean result = false;
// אל תמחקו את השורות למטה
System.out.println("Checking conditions for solar energy production...");
System.out.println("1. Is it sunny? " + isSunny);
System.out.println("2. Is wind speed safe? " + (windSpeed < 10));
System.out.println("3. Can panels produce more? " + (solarPanelOutput < 15));
System.out.println("4. Is temperature good OR no clouds? " + (temperature > 20 || !isCloudy));
System.out.println("\nFinal result - Good day for solar energy production: " + result);
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה לאחר מכןקיצורים אריתמטייםאופרטורי השוואההשוואת מחרוזות5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2סיכום - לוגיקה פשוטהאופרטורים לוגיים חלק 3אופרטורים לוגיים חלק 4תרגלו בעצמכם: קומפיילר Java אונליין