-
-
Save anggaaryas/52f8513b9b4d7ebfb5d3f5fd893bf72a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* TODO: Belajar Array | |
* * Teryata banyak hal yng menarik tentang | |
* * Array di Kotlin | |
* * dan yang lain... :) | |
*/ | |
fun main(args: Array) { | |
// * Array ternyata bisa berisi macam macam tipe | |
var _array = arrayOf(1 , 2 , 3.14 , 'A', "item" , "a b c d", 4) | |
// ! Wow Ternyata ada perbedaan | |
println("$_array[3]") // [Ljava.lang.Object;@1b6d3586[3] | |
println("${_array[3]}") // A | |
println(_array[3]) // A | |
//println( _array[3] + " adalah index ke 3") // ! ERROR | |
println( "" + _array[3] + " adalah index ke 3") // A adalah index ke 3 | |
/** | |
* * Akhirnya saya tanya ke Stackoverflow (Thanks ya) | |
* * https://stackoverflow.com/questions/51686791/ask-about-different-println-in-kotlin | |
* | |
* TODO: println("$_array[3]") | |
* * itu mencetak object reference _array , setelah itu output "[3]" | |
* * Mirip ini : println(_array.toString() + "[3]") | |
* | |
* TODO: println("${_array[3]}") | |
* * Ini baru mencetak . Lebih aman pakai { } | |
* | |
* TODO: println( _array[3] + " adalah index ke 3") | |
* * Membutuhkan .toString() karena tanda '+' nya | |
* * membingungkan (apakah maksudnya menambah ataukah menggabungkan String) | |
* | |
* TODO: println( "" + _array[3] + " adalah index ke 3") | |
* * Karna di tengah, si compiler menjadi yakin kalau tanda '+' nya | |
* * berarti menggabungkan String | |
*/ | |
// TODO: Mengetahui index | |
// * Nggak perlu pakai perulangan | |
println(_array.indexOf("item")) // 4 | |
// TODO: Array juga bisa pakai rumus | |
// * Yang ini beneran keren | |
// ! Pakai Array , bukan arrayOf | |
var luasPersegi = Array(10, {x -> x * x}) | |
println(luasPersegi[4]) // 16 | |
// TODO: Kita coba yang lebih keren lagi | |
var luasLingkaran = Array(10, {x -> if(x % 7 == 0) x * x * 22 / 7; else x * x * 3.14 }) | |
println(luasLingkaran[7]) // 154 | |
println(luasLingkaran[8]) // 200.96 | |
// * Sangat menghemat kode kan? | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment