Menu
Coddy logo textTech

If כביטוי

חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 31 מתוך 93.

ראית איך אפשר להשתמש ב־if בתוך שורה כדי לבחור בין שני ערכים. אבל כשבלוקי if-else שלך מכילים כמה פקודות, עדיין אפשר להשתמש במבנה כולו כביטוי: הביטוי האחרון בכל ענף הופך לערך המוחזר.

fun main() {
    val score = 85
    
    val message = if (score >= 60) {
        val grade = "passing"
        "You got a $grade score!"
    } else {
        val grade = "failing"
        "You got a $grade score."
    }
    
    println(message)  // מדפיס: קיבלת ציון עובר!
}

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

זה עובד גם עם שרשראות else if:

fun main() {
    val temperature = 25
    
    val description = if (temperature > 30) {
        "Hot"
    } else if (temperature > 20) {
        "Warm"
    } else {
        "Cool"
    }
    
    println(description)  // מדפיס: Warm
}

כשמשתמשים ב־if כביטוי, ענף ה־else הוא חובה: Kotlin צריכה להבטיח שיוחזר ערך בלי קשר לתנאי שמתקיים.

challenge icon

אתגר

קל

המשתנה הבא נתון לך:

val hours = 45

השתמש בביטוי if עם כמה פקודות בכל ענף כדי לקבוע את מצב השכר של העובד וליצור הודעה.

צור משתנה payStatus באמצעות ביטוי if:

  • אם hours גדול מ־40:
    • צור משתנה overtime השווה ל־hours - 40
    • הביטוי האחרון צריך להיות "Overtime: $overtime extra hours"
  • אחרת:
    • צור משתנה remaining השווה ל־40 - hours
    • הביטוי האחרון צריך להיות "Regular: $remaining hours until overtime"

הדפס את הערך של payStatus.

נסו בעצמכם

fun main() {
    val hours = 45
    
    // TODO: כתבו את הקוד שלכם למטה
    // צרו משתנה payStatus באמצעות ביטוי if
    // אם hours > 40: צרו משתנה overtime והחזירו "Overtime: $overtime extra hours"
    // אחרת: צרו משתנה remaining והחזירו "Regular: $remaining hours until overtime"
    
    
}
quiz iconבחנו את עצמכם

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

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

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