Kotlin Öğreniyorum-1
Nedir bu Kotlin?
Kotlin Jetbrains tarafından geliştirilen statik olarak yazılmış bir programlama dilidir. Temel Java bilgisine sahipseniz kolaylıkla aşina olabileceğiniz bir yapıya sahiptir.
Kotlin ile Java aynı projede birlikte çalışabileceğinden dolayı bir java projesinde kotlini rahatlıkla kullanabilirsiniz.
Kotlinde dosya çalıştığında ilk çalışan fonksiyon her zaman main( ) fonksiyonudur ve bunun iki yazım şekli olduğu için görmeniz adına her ikisinide ekledim.
Tüm dillerde ki geleneği bozmadan bir Hello Word diyelim:
Bu basit kodda ne tarz özellikler gözlemleyebileceğimize bakıyoruz:
▪ Fun keyword ’ü bir işlevi bildirmek için kullanılır
▪Parametre tipi fonksiyon adından sonra yazılır.
▪Kotlinde ekrana yazı yazmak için: System.out.println( ) kulanmak yerine println( ) kullanıyoruz.
Veriables/Değişkenler:
Kotlinde değişkenler mutable-immutable olarak ikiye ayrılır. Yani sonradan değiştirilebilen ve sonradan değiştirilemeyen.
val ➛immutable/sonradan değişmez: Val ile tanımlanan bir değişken başlatıldıktan sonra yeniden atama yapılamaz. get( ) ‘i olan ama set( ) ‘i olmayan propertie.
var ➛mutable/sonradan değiştirilebilir: Var değişkenine atanan değer sonradan değiştirilebilir.get( ) ‘i olan ve set( ) ‘i olan propertie
Değişken isimlendirilmesi sırında bazı şeylere dikkat edilmeli:
▹ Değişkenin ilk karakteri herhangi bir sayı ile başlamamalı.
▹Değişken isimleri alt çizgi ( _ )ile başlayabilir
Görüldüğü gibi bir name ve bir age değişkeni tanımladım ve bunlara değer ataması yaptık. Ancak Kotlinde type inferiance (tip çıkarımı) ‘dan dolayı bazı veri tipleri otomatik algılanır. Bu da koddaki String ve Int ifadelerin yazılmasına gerek duyulmadığı anlamına gelir. Yani ben name değişkenine String bir değer atarken kotlin bunun String bir ifade olduğunu bu yüzden :String ifadesinin kullanımına gerek duyulmadığını ifade eder. Yani kodu düzenlersek :
Şeklinde ki kullanım daha doğru olacaktır.
Numbers Data Type/Veri Tipleri:
Byte:
Yani ben bytMin içinde byte tipinde veri tutuyorum ve bu veri Byte değişkeninin alacağı minimum değer oluyor. ByteMax için ise tam tersi maksimum değeri tutuyor oldum.
Long:
Burada farklı bir kullanım yaptık. Yani çift tırnağı kapatmadan da değişkenimizin ismini çağırabiliriz $ işareti ile.
Float:
Yine farklı bir şekilde atadığımız değişkeni çağırdık.
Bu şekilde kolaylıkla alt satıra geçerek de kullanabiliriz.
Boolean:
Boolean true ve false döndürüyordu.
Görüldüğü üzre false değer döndürecektir.
Char:
Char değişkenleri çift tırnak değil tek tırnak ile tanımlanır
String:
Görüldüğü gibi String için Char ’ın gelişmiş hali denilebilir içine daha fazla ifade konulur.
Casting/Tip Dönüşümü
Veri kaybı yaşamadan bir ifadeyi diğerine dönüştürmeye çalıştığımız zaman tip dönüşümünden faydalanırız.
Burdaki shortNumber isimli bir değişkene short bir karakter tanımlayıp bu değeri intNumber ismindeki Int bir değere atamak istiyoruz ama atamadan önce bu shortNumber isimli değişkeni toInt( ) metodu ile int bir değişkene çeviriyoruz. Yani burada küçük kutuyu büyük kutunun içine koyduk.
Arrays:
Değişkenler sadece bir tek veri tutabilir.Kod sayısını indirgemek ve karmaşıklığı önlemek için diziler kullanılır. Aslında Kotlinde en başta yadığımız main methodu bile bir dizi içermektedir. Belli değerleri bir arada tutmak için olan yapılara diziler/arrays diyoruz. Stringler ile aynı mantıkta. Dizi oluşturmak için array sınıfını kullanılırız.
Bu kod bloğunda yapmak istediğimiz : int cinsinden bir arrayim var ve ismi numberArray ve bu Array 3 elemanlı bir Array ’dir. Bu 3 elemanda atandığında 0 gösterir. Bu dizi içindeki ifadeleri for döngüsü ile yazdırdık.
Kotlinde array içine aynı ifadede değerler verilebilirken
var kelimeler : Array<String> = arrayOf(“mukaddes”, “kotlin”, “ali”)
Diğer dillerden farkı arraylerin içerisine birden farklı cinste karakter yazabilirsin
var kelimeler1 : Array<String> = arrayOf(“mukaddes”, 1, ‘a’, true)
Bunuda arrayOf ile sağlarız.