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