Skip to content

Instantly share code, notes, and snippets.

@anggaaryas
Created April 5, 2019 16:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anggaaryas/52f8513b9b4d7ebfb5d3f5fd893bf72a to your computer and use it in GitHub Desktop.
Save anggaaryas/52f8513b9b4d7ebfb5d3f5fd893bf72a to your computer and use it in GitHub Desktop.
/**
* 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