Kotlin Temelleri

Burakcan SEZGİN
3 min readFeb 6, 2020

--

Merhabalar Arkadaşlar bugünkü yazımda sizlere Android’in ve son zamanlarda birden fazla özelliği göz dolduran Kotlin dilinden bahsedeceğim. Öncelikle Kotlin dilinin temelleri yazımıza başlayacağız. Hazırsanız bu sade dili öğrenmeye başlayalım :)

  1. Değişkenler (Variables)
    Değişken tanımlamak için iki tip değişken keyword(tipi)bulunur. Bunlar ‘val’ ve ‘var’dır.
    ‘val’, Value’den gelmektedir. Read-only (salt-okunur) veya assigned-one (bir kere tanımlanabilir) olarak kullanılır. Java’daki final değişkeni gibi davranır. Referans tutar. ‘var’, Variable’dan gelmektedir. Mutable (değişebilen) olarak değişken üzerinde sonradan değişiklik yapılabilir. var yerine val kullanmak, hem performansı iyileştirir, hem de kod üzerinde mutable list yönetimi gibi yazımlarda fonksiyonel yazımı anlamayı kolaylaştırır.

2. Sayılar (Numbers)
Local Type Inference: Kotlin statically-typed bir dil olduğu için bütün değişkenler ve ifadelerin tipi olmalı. Değişken tipi tanımlanmasa dahi compiler tip çıkarımı yapar.Tip çıkarımı yapması artı gibi görünsede, bunların belirtilmesi çalışılan projenin ilerisi için daha önemlidir. Projeden maksimum performans alabilmek için doğru değişken tipinin önceden belirlenmesi gereklidir.Tip çıkarımı sırasında eğer sayı Int değer aralığından büyük değilse default olarak Int set edilir.Tip çıkarımı sırasında eğer sayı Int değer aralığından büyükse default olarak Long set edilir.Değerler tanımlanırken altçizgi (underscore) kullanılabilir.

Output -
valByte is int
valShort is int
valInt is int
valLongWithOrWithoutL is long
valFloat is double
valFloatWithF is float
valFloatWithf is float
valDouble is double
valChar is char
valString is java.lang.String

3. Tip Dönüşümü (Type Conversion | Type Casting)
Değişken tiplerin referans tiplerine dönüşmesine boxing, referans tiplerin değişken tiplerine dönüşmesine unboxing denir. Kotlin’de bir değişken tipinin başka bir değişken tipine doğrudan casting işlemi geçersizdir.
Yani değişkenler birer nesne gibi düşünülüp explicit fonksiyonlarla bu işlem gerçekleştirilmeli.Kotlin’de Implicit Type Conversion yoktur.
Explicit Type Conversion için şu fonksiyonlar kullanılır:
toByte(), toShort(), toInt(), toLong(), toDouble(), toFloat(), toChar(), toString(), toUByte(), toUShort(), toUInt(), toULong(), toDuration(), toBigDecimal(), toBigInteger()
Değer aralığı küçük olan tipler büyük olan tiplere explicit olarak sorunsuzca dönüştürülebilir.Değer aralığı büyük olan tipler küçük olan tiplere explicit olarak dönüştürülürken; büyük olan tipin, küçük olan tipin aralığına uygun değerde olup olmadığına dikkat edilmeli. Ancak unsigned sayı olmamasına da dikkat edilmeli. Aksi takdirde yanlış değer atamaları yapılabilir.
Kapalı (implicit) tip dönüşümü olmasa bile, iki sayı arasında matematiksel işlem yapılırsa, sonuç değeri Int aralığından büyük çıkarsa, çıkan değerin tipinde olur.String’den sayı türlerine dönüştürürken Java’dan alışık olduğumuz bazı fonksiyonlar kullanılır. Örneğin: Integer.parseInt(firstNum) ve Integer.parseUnsignedInt(firstNum) gibi.

4. Karakterler (Chars)
Tek tırnaklıların arasına: harf, sayı, escape char ya da unicode yazılır.
Çift tırnaklıların ise String olur, Char olmaz.
Bir Char değişkeni Int tipine çevrilirken ASCII tablosundaki kaşılığı olan sayısal değeri alır.

5. Boolean Değişkenler
true veya false değer atamaları için kullanılır. 0 ya da 1 olarak kullanılamazlar.
&&, ||, and, or, % gibi operatörlerle kullanılabilirler.
Kontrol ifadesinde kullanılırken true yerine, sadece değişken adının kullanılması yeterli olur.
Kontrol ifadesinde kullanılırken false yerine, değişkenin önünde ! önekinin kullanılması yeterli olur.

6.String İfadeler

Kotlin’de string olarak bir tanımlama yapabilmemiz için değerler çift tırnak içerisinde olmalıdır.
val stringValue : String = “Kotlin”
val stringValue = “Kotlin” //Bu iki yazımı da doğrudur.

Burada val ve var ilişkisi devam etmektedir. val olarak verilmiş bir değişkene daha sonra tekrardan bir değer atanamaz.

val stringValue = “Java” yazamayız. Ne zaman ki val tipi var’a dönerse o zaman yeniden değer atanabilir.

var stringValue : String = “Kotlin”

var stringValue = “Kotlin”

var stringValue = “Java” ya da stringValue = “Java” istediğimiz yeni değer atamayı yapabiliriz.

Raw String ifadeleri.

Kotlin’e giriş yaptık ve temellerinden bahsettik.Sonraki yazılarda görüşmek üzere…

--

--