Kotlin - Temel Tipler

Bu bölümde, Kotlin programlama dilinde mevcut olan temel veri türleri hakkında bilgi edineceğiz.

Sayılar

Kotlin'de sayıların temsili Java'ya oldukça benzer, ancak Kotlin farklı veri türlerinin dahili dönüşümüne izin vermez. Aşağıdaki tablo, farklı numaralar için farklı değişken uzunlukları listelemektedir.

Tür Boyut
Çift 64
Yüzer 32
Uzun 64
Int 32
Kısa 16
Bayt 8

Aşağıdaki örnekte Kotlin'in farklı veri türleri ile nasıl çalıştığını göreceğiz. Lütfen kodlama alanımıza aşağıdaki kod setini girin.

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);
}

Yukarıdaki kod parçasını kodlama alanında çalıştırdığınızda, web konsolunda aşağıdaki çıktıyı üretecektir.

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

Karakterler

Kotlin, karakter kullanarak char. Karakter aşağıdaki gibi tek bir alıntıyla belirtilmelidir:‘c’. Lütfen kodlama alanımıza aşağıdaki kodu girin ve Kotlin'in karakter değişkenini nasıl yorumladığını görün. Karakter değişkeni, sayı değişkenleri gibi bildirilemez. Kotlin değişkeni iki şekilde beyan edilebilir - biri kullanılarak“var” ve bir başkası kullanıyor “val”.

fun main(args: Array<String>) {
   val letter: Char    // defining a variable 
   letter = 'A'        // Assigning a value to it 
   println("$letter")
}

Yukarıdaki kod parçası, tarayıcının çıktı penceresinde aşağıdaki çıktıyı verecektir.

A

Boole

Boolean, diğer programlama dilleri gibi çok basittir. Boolean için yalnızca iki değerimiz var - doğru veya yanlış. Aşağıdaki örnekte Kotlin'in Boolean'ı nasıl yorumladığını göreceğiz.

fun main(args: Array<String>) {
   val letter: Boolean   // defining a variable 
   letter = true         // Assinging a value to it 
   println("Your character value is "+"$letter")
}

Yukarıdaki kod parçası, tarayıcıda aşağıdaki çıktıyı verecektir.

Your character value is true

Teller

Dizeler, karakter dizileridir. Java gibi, doğası gereği değişmezler. Kotlin'de iki tür dizgimiz var - biri denirraw String ve diğeri denir escaped String. Aşağıdaki örnekte bu dizeleri kullanacağız.

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)   
}

Yukarıdaki escaped String örneği, ilk print ifadesinden sonra fazladan satır alanı sağlamaya izin verir. Tarayıcıdaki çıktı aşağıda olacaktır.

Hello!I am escaped String!

Hey!!I am Raw String!

Diziler

Diziler homojen verilerin bir koleksiyonudur. Java gibi, Kotlin de farklı veri türlerinin dizilerini destekler. Aşağıdaki örnekte farklı diziler kullanacağız.

fun main(args: Array<String>) {
   val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5)
   println("Hey!! I am array Example"+numbers[2])
}

Yukarıdaki kod parçası aşağıdaki çıktıyı verir. Dizinin indekslenmesi diğer programlama dillerine benzer. Burada değeri "3" olan ikinci bir indeks arıyoruz.

Hey!! I am array Example3

Koleksiyonlar

Koleksiyon, veri yapısının çok önemli bir parçasıdır ve yazılım geliştirmeyi mühendisler için kolaylaştırır. Kotlin'in iki tür koleksiyonu vardır - biriimmutable collection (bu, düzenlenemeyen listeler, haritalar ve kümeler anlamına gelir) ve diğeri mutable collection(bu tür koleksiyon düzenlenebilir). Kotlin sistemi bunlarda belirli bir farkı temsil etmediği için uygulamanızda kullanılan koleksiyon türünü akılda tutmanız çok önemlidir.

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  
}

Yukarıdaki kod parçası, tarayıcıda aşağıdaki çıktıyı verecektir. Değişken koleksiyon listesini temizlemeye çalıştığımızda hata veriyor.

main.kt:9:18: error: unresolved reference: clear
   readOnlyView.clear()    // -> does not compile  
                 ^

Koleksiyonda Kotlin, aşağıdaki gibi bazı yararlı yöntemler sağlar: first(), last(), filter(), vb. Tüm bu yöntemler kendi kendini tanımlayıcıdır ve uygulaması kolaydır. Üstelik Kotlin, koleksiyonu gerçekleştirirken Java gibi aynı yapıyı takip ediyor. Harita ve Set gibi seçtiğiniz herhangi bir koleksiyonu uygulamakta özgürsünüz.

Aşağıdaki örnekte, farklı yerleşik yöntemler kullanarak Map ve Set'i uyguladık.

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)
}

Yukarıdaki kod parçası, tarayıcıda aşağıdaki çıktıyı verir.

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]

Aralıklar

Aralıklar, Kotlin'in bir başka benzersiz özelliğidir. Haskell gibi, bir aralıkta yineleme yapmanıza yardımcı olan bir operatör sağlar. Dahili olarak, kullanılarak uygulanırrangeTo() ve operatör formu (..).

Aşağıdaki örnekte Kotlin'in bu aralık operatörünü nasıl yorumladığını göreceğiz.

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)
   }
}

Yukarıdaki kod parçası, tarayıcıda aşağıdaki çıktıyı verir.

1234we found your number --2