Kotlin - Tipe Dasar
Pada bab ini, kita akan mempelajari tentang tipe data dasar yang tersedia dalam bahasa pemrograman Kotlin.
Angka
Representasi angka di Kotlin sangat mirip dengan Java, namun Kotlin tidak mengizinkan konversi internal dari tipe data yang berbeda. Tabel berikut mencantumkan panjang variabel yang berbeda untuk nomor yang berbeda.
Tipe | Ukuran |
---|---|
Dua kali lipat | 64 |
Mengapung | 32 |
Panjang | 64 |
Int | 32 |
Pendek | 16 |
Byte | 8 |
Pada contoh berikut, kita akan melihat bagaimana Kotlin bekerja dengan tipe data yang berbeda. Harap masukkan rangkaian kode berikut di dasar pengkodean kami.
fun main(args: Array<String>) {
val a: Int = 10000
val d: Double = 100.00
val f: Float = 100.00f
val l: Long = 1000000004
val s: Short = 10
val b: Byte = 1
println("Your Int Value is "+a);
println("Your Double Value is "+d);
println("Your Float Value is "+f);
println("Your Long Value is "+l);
println("Your Short Value is "+s);
println("Your Byte Value is "+b);
}
Ketika Anda menjalankan potongan kode di atas di dasar pengkodean, itu akan menghasilkan keluaran berikut di konsol web.
Your Int Value is 10000
Your Double Value is 100.0
Your Float Value is 100.0
Your Long Value is 1000000004
Your Short Value is 10
Your Byte Value is 1
Karakter
Kotlin mewakili penggunaan karakter char. Karakter harus dideklarasikan dalam satu kutipan seperti‘c’. Silakan masukkan kode berikut di dasar pengkodean kami dan lihat bagaimana Kotlin menafsirkan variabel karakter. Variabel karakter tidak dapat dideklarasikan seperti variabel angka. Variabel Kotlin dapat dideklarasikan dengan dua cara - satu menggunakan“var” dan penggunaan lainnya “val”.
fun main(args: Array<String>) {
val letter: Char // defining a variable
letter = 'A' // Assigning a value to it
println("$letter")
}
Potongan kode di atas akan menghasilkan keluaran berikut di jendela keluaran browser.
A
Boolean
Boolean sangat sederhana seperti bahasa pemrograman lainnya. Kami hanya memiliki dua nilai untuk Boolean - benar atau salah. Pada contoh berikut, kita akan melihat bagaimana Kotlin menafsirkan Boolean.
fun main(args: Array<String>) {
val letter: Boolean // defining a variable
letter = true // Assinging a value to it
println("Your character value is "+"$letter")
}
Potongan kode di atas akan menghasilkan keluaran berikut di browser.
Your character value is true
String
String adalah larik karakter. Seperti Jawa, mereka tidak bisa diubah. Kami memiliki dua jenis string yang tersedia di Kotlin - satu disebutraw String dan yang lainnya dipanggil escaped String. Dalam contoh berikut, kami akan menggunakan string ini.
fun main(args: Array<String>) {
var rawString :String = "I am Raw String!"
val escapedString : String = "I am escaped String!\n"
println("Hello!"+escapedString)
println("Hey!!"+rawString)
}
Contoh di atas dari String yang di-escape memungkinkan untuk memberikan spasi baris tambahan setelah pernyataan cetak pertama. Berikut akan menjadi output di browser.
Hello!I am escaped String!
Hey!!I am Raw String!
Array
Array adalah kumpulan data yang homogen. Seperti Java, Kotlin mendukung array dengan tipe data berbeda. Dalam contoh berikut, kami akan menggunakan array yang berbeda.
fun main(args: Array<String>) {
val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5)
println("Hey!! I am array Example"+numbers[2])
}
Potongan kode di atas menghasilkan keluaran sebagai berikut. Pengindeksan array mirip dengan bahasa pemrograman lainnya. Di sini, kami mencari indeks kedua, yang nilainya adalah "3".
Hey!! I am array Example3
Koleksi
Koleksi adalah bagian yang sangat penting dari struktur data, yang memudahkan pengembangan perangkat lunak bagi para insinyur. Kotlin memiliki dua jenis koleksi - satu adalahimmutable collection (yang berarti daftar, peta, dan set yang tidak dapat diedit) dan lainnya adalah mutable collection(jenis koleksi ini dapat diedit). Sangat penting untuk mengingat jenis koleksi yang digunakan dalam aplikasi Anda, karena sistem Kotlin tidak mewakili perbedaan spesifik apa pun di dalamnya.
fun main(args: Array<String>) {
val numbers: MutableList<Int> = mutableListOf(1, 2, 3) //mutable List
val readOnlyView: List<Int> = numbers // immutable list
println("my mutable list--"+numbers) // prints "[1, 2, 3]"
numbers.add(4)
println("my mutable list after addition --"+numbers) // prints "[1, 2, 3, 4]"
println(readOnlyView)
readOnlyView.clear() // ⇒ does not compile
// gives error
}
Potongan kode di atas akan menghasilkan keluaran berikut di browser. Ini memberikan kesalahan ketika kami mencoba untuk menghapus daftar koleksi yang bisa berubah.
main.kt:9:18: error: unresolved reference: clear
readOnlyView.clear() // -> does not compile
^
Dalam koleksi, Kotlin menyediakan beberapa metode yang berguna seperti first(), last(), filter(), dll. Semua metode ini bersifat deskriptif dan mudah diterapkan. Selain itu, Kotlin mengikuti struktur yang sama seperti Java saat mengimplementasikan collection. Anda bebas menerapkan koleksi apa pun pilihan Anda seperti Peta dan Set.
Dalam contoh berikut, kami telah mengimplementasikan Map and Set menggunakan metode bawaan yang berbeda.
fun main(args: Array<String>) {
val items = listOf(1, 2, 3, 4)
println("First Element of our list----"+items.first())
println("Last Element of our list----"+items.last())
println("Even Numbers of our List----"+items.
filter { it % 2 = = 0 }) // returns [2, 4]
val readWriteMap = hashMapOf("foo" to 1, "bar" to 2)
println(readWriteMap["foo"]) // prints "1"
val strings = hashSetOf("a", "b", "c", "c")
println("My Set Values are"+strings)
}
Potongan kode di atas menghasilkan keluaran berikut di browser.
First Element of our list----1
Last Element of our list----4
Even Numbers of our List----[2, 4]
1
My Set Values are[a, b, c]
Rentang
Rentang adalah karakteristik unik lain dari Kotlin. Seperti Haskell, ini menyediakan operator yang membantu Anda melakukan iterasi melalui suatu jangkauan. Secara internal, ini diimplementasikan menggunakanrangeTo() dan bentuk operatornya adalah (..).
Dalam contoh berikut, kita akan melihat bagaimana Kotlin menafsirkan operator rentang ini.
fun main(args: Array<String>) {
val i:Int = 2
for (j in 1..4)
print(j) // prints "1234"
if (i in 1..10) { // equivalent of 1 < = i && i < = 10
println("we found your number --"+i)
}
}
Potongan kode di atas menghasilkan keluaran berikut di browser.
1234we found your number --2