Kotlin Programming: Control Structures, OOP, and Android UI Design

Kotlin Programming Examples

Control Structures and Loops

Program 1: if-else Statement

fun main() {
    val numb = -10
    println("Entered number is: $numb")
    if (numb > 0) {
        println("Positive")
    } else {
        println("Negative")
    }
}

Program 2: if-else Statement

fun main() {
    val a = -9
    val b = -11
    val max = if (a > b) {
        println("$a is larger than $b.")
        println("max variable holds value of a.")
        a
    } else {
        println("$b is larger than $a.")
        println("max variable holds value of b.")
        b
    }
    println("max = $max")
}

Program 3: if-elseif Ladder

fun main() {
    val number = 0
    val result = if (number > 0)
        "positive number"
    else if (number < 0)
        "negative number"
    else
        "zero"
    println("number is $result")
}

Program 4: Nested if Statements

fun main() {
    val n1 = 3
    val n2 = 5
    val n3 = -2
    val max = if (n1 > n2) {
        if (n1 > n3)
            n1
        else
            n3
    } else {
        if (n2 > n3)
            n2
        else
            n3
    }
    println("max = $max")
}

Program 5: When Statement

fun main() {
    val day = 4
    val result = when (day) {
        1 -> "Monday"
        2 -> "Tuesday"
        3 -> "Wednesday"
        4 -> "Thursday"
        5 -> "Friday"
        6 -> "Saturday"
        7 -> "Sunday"
        else -> "Invalid day."
    }
    println(result)
}

Program 6: Using readLine for Input at Runtime

fun main() {
    val a = 12
    val b = 5
    println("Enter operator either +, -, * or /")
    val operator = readLine()
    val result = when (operator) {
        "+" -> a + b
        "-" -> a - b
        "*" -> a * b
        "/" -> a / b
        else -> "$operator operator is invalid operator."
    }
    println("result = $result")
}

Program 7: While Loop

fun main(args: Array) {
    var sum = 0
    var i = 100
    while (i != 0) {
        sum += i // sum = sum + i;
        --i
    }
    println("sum = $sum")
}

Program 8: Do-while Loop

fun main() {
    var sum: Int = 0
    var input: String
    do {
        print("Enter an integer: ")
        input = readLine()!!
        sum += input.toInt()
    } while (input != "0")
    println("sum = $sum")
}

Program 10: For Loop using Range Function

fun main(args: Array) {
    print("for (i in 1..5) print(i) = ")
    for (i in 1..5) print(i)
    println()
    print("for (i in 5..1) print(i) = ")
    for (i in 5..1) print(i) // prints nothing
    println()
    print("for (i in 5 downTo 1) print(i) = ")
    for (i in 5 downTo 1) print(i)
    println()
    print("for (i in 1..5 step 2) print(i) = ")
    for (i in 1..5 step 2) print(i)
    println()
    print("for (i in 5 downTo 1 step 2) print(i) = ")
    for (i in 5 downTo 1 step 2) print(i)
}

Object-Oriented Programming

Lamp Class

class Lamp {
    // property (data member)
    private var isOn: Boolean = false

    // member function
    fun turnOn() {
        isOn = true
    }

    // member function
    fun turnOff() {
        isOn = false
    }

    fun displayLightStatus() {
        if (isOn == true)
            println("lamp is on.")
        else
            println("lamp is off.")
    }
}

Android UI Design

Event Handling with Checkbox, Radio Button, Button, and Spinner

See the attached XML and Kotlin files for the Android UI design and event handling implementation.