When עם טווחים
חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 33 מתוך 93.
לפעמים צריך לבדוק אם ערך נמצא בטווח, במקום לבדוק אם הוא תואם לערכים מסוימים. הביטוי when תומך בכך באמצעות מילת המפתח in בשילוב עם טווחים.
fun main() {
val score = 85
val grade = when (score) {
in 90..100 -> "A"
in 80..89 -> "B"
in 70..79 -> "C"
in 60..69 -> "D"
else -> "F"
}
println(grade) // מדפיס: B
}מילת המפתח in בודקת אם הערך נמצא בטווח שצוין. כאן, 85 נמצא בטווח 80..89, לכן הציון הוא "B". זה הרבה יותר נקי מכתיבת score >= 80 && score <= 89 עבור כל תנאי.
אפשר גם לשלב טווחים עם ערכים ספציפיים באותו ביטוי when:
fun main() {
val age = 17
val category = when (age) {
0 -> "Newborn"
in 1..12 -> "Child"
in 13..19 -> "Teenager"
else -> "Adult"
}
println(category) // מדפיס: Teenager
}טווחים הופכים את הקוד שלך לקריא יותר כשעובדים עם תנאים מספריים רציפים, דבר הנפוץ במערכות ציונים, בקטגוריות גיל ובתרחישים דומים.
אתגר
קלכתבו פונקציה getTicketPrice שמקבלת את age ומחזירה את מחיר הכרטיס בהתאם לקטגוריית הגיל של האדם.
השתמשו בביטוי when עם טווחים כדי לקבוע את מחיר הכרטיס המתאים.
תנאים:
- גיל
0עד3: החזירו0(חינם) - גיל
4עד12: החזירו10(מחיר לילד) - גיל
13עד17: החזירו15(מחיר לנער) - גיל
18עד64: החזירו25(מחיר למבוגר) - גיל
65ומעלה: החזירו12(מחיר לאזרח ותיק)
פרמטרים:
age(Int): הגיל של האדם
ערך מוחזר: מחיר הכרטיס כמספר שלם (Int)
נסו בעצמכם
fun getTicketPrice(age: Int): Int {
// כתבו כאן קוד
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
7קלט/פלט בסיסיים
פונקציית Printlnתבניות מחרוזתקלט באמצעות ReadLineהמרת טיפוסיםסיכום – שנים עד הפרישהסיכום – אמת או שקר10פונקציות
הכרזה על פונקציהפרמטרים וארגומנטיםערכי החזרהארגומנטים בעלי שםערכי ברירת מחדלפונקציות עם ביטוי יחידחזרה – פונקציית Sigmaחזרה – פונקציית אימות3אפשרות לערך null
מהי בטיחות מפני nullטיפוסים שיכולים להיות nullאופרטור קריאה בטוחהאופרטור אלביסיסודות אתגר הפונקציותאופרטור ההבטחה לאי־nullסיכום – גישה בטוחה9לולאות
לולאת forלולאת whileלולאת do-whilebreakcontinueטווחים בלולאותלולאה מקוננתחזרה – עצרתחזרה – קלט דינמיתרגלו בעצמכם: Kotlin אונליין