public static class ControlStructures { public fun () public immutable var prop: Int = 3 public fun nullFun(): String? = null public fun test(): Boolean { " " "Z" "Z Z" 'c' 5 5.0 5.0 -5 +5 0.0 -0.0 1.0E10 1.0E-10 public immutable var qwe: Int = 2 " " + qwe + " " "a" + "\"" + "b" "a'b" + "\r" + "\n" "5" + "\n" + " 2" "\t" + "\t" + "\t" if (5 > 3) { println("5 > 3") } for (c : "ABC") { println(c) } for (c : "DEF") { println(c.toByte()) } public var i: Int = 5 while (i > 0) { i-- if (i == 3) break if (i == 2) { continue } } "" !is String ("" as Any) as String? super.equals(this) this.equals(this) this.equals(this) ControlStructures::test ControlStructures::prop ControlStructures::class.java outer@ for (outerVal : 1 .. 2) { inner@ for (innerVal : 3 .. 4) { continue@outer } break@outer } nullFun()?.let({ println(it) }) i = 5 do { i -= 1 } while (i > 0) "ABC".forEach({ println(it.toString()[0]) }) "ABC".zip("DEF").forEach({ println(it.first + " " + it.second) }) public immutable var arr: Array = arrayOf("A", "B", "C") println(arr[2]) local var var1496943053: = "ABC".zip("DEF") local immutable var a: Pair = var1496943053.component1() local immutable var b: Pair = var1496943053.component2() public immutable var value: String = if (5 > 3) "a" else "b" public immutable var list: List = listOf("A") public immutable var list2: List = listOf("A") public immutable var type: String = switch (value) { it in list -> { "inlist" break } it in list2 -> { "notinlist2" break } it is String -> { "string" break } it is CharSequence -> { "cs" break } -> { "unknown" break } } public immutable var x: String = switch { value == "b" -> { "B" break } 5 % 2 == 0 -> { println("A") "Q" break } false -> { "!" break } -> { "A" break } } try { 5 + 1 throw () } catch (e) { e.printStackTrace() } catch (e) { System.out.println("error!") } finally { System.out.println("finally") } return false } }