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