אופרטורים לוגיים חלק 3
חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 26 מתוך 93.
קדימות קובעת כיצד ביטוי מקובץ. ! נקשר בקדימות הגבוהה ביותר, אחריו &&, ואז ||. לכן a || b && c פירושו a || (b && c).
val a = true
val b = false
val c = false
println(a || (b && c)) // true
println((a || b) && c) // falseקיבוץ שונה מסדר הערכה. || נעצר כשהאופרנד השמאלי שלו הוא true, ו-&& נעצר כשהאופרנד השמאלי שלו הוא false. בביטוי הראשון שלמעלה, b && c לעולם לא מוערך, כי a כבר true.
סוגריים יכולים לשנות את הקיבוץ או להפוך אותו למפורש. העריכו תחילה את האופרנד השמאלי, ואז קבעו אם יש צורך באופרנד הימני.
אתגר
קלכתבו פונקציה canAccessFeature שמקבלת את isAdmin, את isPremium ואת hasTrialActive, ומחזירה אם משתמש יכול לגשת לתכונת פרימיום.
משתמש יכול לגשת לתכונה אם הוא מנהל, או אם הוא גם חבר פרימיום וגם יש לו תקופת ניסיון פעילה.
השתמשו בסוגריים כדי להבטיח את סדר ההערכה הנכון: יש לקבץ יחד את התנאי && לפני שמשלבים אותו עם ||.
פרמטרים:
isAdmin(Boolean): האם המשתמש הוא מנהלisPremium(Boolean): האם למשתמש יש מנוי פרימיוםhasTrialActive(Boolean): האם למשתמש יש תקופת ניסיון פעילה
ערך מוחזר: true אם המשתמש יכול לגשת לתכונה, false אחרת (Boolean)
מנהל ההתקן שסופק קורא לפונקציה שלכם ומדפיס את הערך שהיא מחזירה. השאירו את חתימת הפונקציה כפי שהיא ואל תוסיפו פונקציית main.
נסו בעצמכם
fun canAccessFeature(isAdmin: Boolean, isPremium: Boolean, hasTrialActive: Boolean): Boolean {
// כתבו כאן קוד
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסיים
פונקציית Printlnתבניות מחרוזתקלט באמצעות ReadLineהמרת טיפוסיםסיכום – שנים עד הפרישהסיכום – אמת או שקר10פונקציות
הכרזה על פונקציהפרמטרים וארגומנטיםערכי החזרהארגומנטים בעלי שםערכי ברירת מחדלפונקציות עם ביטוי יחידחזרה – פונקציית Sigmaחזרה – פונקציית אימות5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2אופרטורים לוגיים חלק 3אופרטור טרנרי עם ביטוי ifסיכום – לוגיקה פשוטה3אפשרות לערך null
מהי בטיחות מפני nullטיפוסים שיכולים להיות nullאופרטור קריאה בטוחהאופרטור אלביסיסודות אתגר הפונקציותאופרטור ההבטחה לאי־nullסיכום – גישה בטוחה9לולאות
לולאת forלולאת whileלולאת do-whilebreakcontinueטווחים בלולאותלולאה מקוננתחזרה – עצרתחזרה – קלט דינמיתרגלו בעצמכם: Kotlin אונליין