1+ package essentials.control_flow
2+
3+ // Ternary equivalent is if and else
4+ // Switch-case equivaltent is when-in and default is given by else
5+
6+ private fun ternary_and_case () {
7+ val a = 100
8+ val b = 10
9+ val greater = if (a > b) a else b
10+ println (" Greater: ${greater} " )
11+
12+ val exp = 10
13+ val expGroup = when (exp) {
14+ in 0 .. 2 -> " Associate"
15+ in 3 .. 6 -> " Mid-Senior"
16+ in 6 .. 10 -> " Senior"
17+ in 10 .. 15 -> " Staff"
18+ else -> " Senior-Staff"
19+ }
20+ println (" Experience: ${exp} , Group: ${expGroup} " )
21+
22+ val num = 5
23+ when (num% 2 ) {
24+ 0 -> println (" ${num} is even" )
25+ 1 -> println (" ${num} is odd" )
26+ }
27+ }
28+
29+ private fun max (a : Int , b : Int , c : Int ): Int {
30+ // if block returns something which is quite unique to kotlin
31+ return (if (a > b && a > c) {
32+ a
33+ } else if (b > c) {
34+ b
35+ } else {
36+ c
37+ }
38+ )
39+ }
40+
41+ private fun loops () {
42+ for (i in 1 .. 10 ) {
43+ print (" ${i} " )
44+ }
45+ println ()
46+ for (i in 10 downTo 1 ) {
47+ print (" ${i} " )
48+ }
49+ println ()
50+ for (i in 1 .. 10 step 2 ) {
51+ print (" ${i} " )
52+ }
53+ println ()
54+ for (i in 10 downTo 1 step 2 ) {
55+ print (" ${i} " )
56+ }
57+ println ()
58+
59+ val animals = listOf (" Lion" , " Horse" , " Elephant" , " Camel" , " Dog" , " Tiger" , " Leopard" , " Rabbit" , " Snake" )
60+
61+ for (animal in animals) {
62+ print (" ${animal} " )
63+ }
64+ println ()
65+ for ((i, animal) in animals.withIndex()) {
66+ print (" ${i+ 1 } : ${animal} " )
67+ }
68+ println ()
69+
70+ var i = 0
71+ val animal = " Dog"
72+ while (i < animals.size) {
73+ if (animals[i++ ].compareTo(animal) == 0 ){
74+ println (" ${animal} exists" );
75+ break
76+ }
77+ if (i == animals.size) {
78+ println (" {animal} does not exist" )
79+ }
80+ }
81+ }
82+
83+ fun main () {
84+ ternary_and_case()
85+ println (" Max(5, 9, 10) => ${max(5 , 9 , 10 )} " )
86+ println (" Max(10, 10000, 9052)3 => ${max(10 , - 10000 , 90523 )} " )
87+ loops()
88+ }
0 commit comments