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.