Zero to Hero With Kotlin
Content:
What's/Why Kotlin?
Kotlin Syntax Basic
Hello World!
Gelin çoğu kodlama dilinde olduğu gibi "Hello World" ile başlayalım
Satır satır incelemeye ne dersiniz?
-
Öncelikle
fun
kelimesiyle başlıyoruz.fun
function(foksiyon) kelimesinin kısaltmasıdır, fonksiyonlar programların yapı taşlarıdır. belirli bir işlevi yerine getirmek için kullanılır. -
Fonksiyonları ayırt edebilmemiz için adları vardır.
main
ile devam ediyoruz.main
bu fonksiyonun ismidir ama main foksiyonları biraz daha özeldir. Main fonksiyonları bu programın ana veya birincil fonksiyonudur. Her Kotlin kodu bir main fonksiyona ihtiyaç duyar. -
Fonksiyonlar çalışmak için belirli bilgilere ihtiyaç duyabilir. Sonrasında kullandığımız
()
içine, fonksiyonun kullanması için bilgi girebilirsiniz. Fonksiyona yapılan bu girdiye "arguments" veya kısaca args denir . Argümanlar hakkında daha sonra daha fazlasını öğreneceksiniz. -
Fonksiyonlarımız çalışmak için belli sınırlara(başlama ve bitiş noktası) ihtiyaç duyar.
{}
sembolleri bu sınırları belirler. Bu sınırların içinde bir işlevi yerine getiren kodlar bulunur. -
Fonksiyon küme parantezlerinin içindeki
print()
sisteme bir metin satırı yazdırır. Dikkatinizi çektiyseprint()
kod içerisinde kullandığımız hazır fonksiyonlardan biridir -
Pazantezlerin içine yazdırmak istediği metni
""
işaretleri arasına yazmanız gerekmektedir. Bu semboller içlerine yazılan her şeyi birebir ekrana bastırmasını söyler
dikkat etmeniz gereken son şey, print gibi yaptırmak istediğimiz işlevlerin hepsinin fun main()'in içinde olduğuna emin olmaktır.
Difference of Print & Println
Daha önce basic bir kotlin kodu gördüyseniz mutlaka gözünüze println()
de takılmıştır. Peki nedir bu print ve println in farkı?
println deki ln
kısaltması line'dan gelmektedir ve birsonraki ekrana bastırılacak değeri bir alt satırdan başlatır. Kısaca anlatmak gerekirse kodlarken print fonksiyonunun içine yazdığınız cümleler karakter karakter basılır yani siz nasılki kağıda Hello World yazarken harf harf kodda bunu bu şekilde ekrana aktarır. ancak println cümlenin bittiği anda bir kere enter tuşuna basılmış gibi devam ederek birsonraki işlev çıktısını bir alt satırda başlatır.
Bu kodda göreceğiniz çıktı aşağıdaki gibidir:
Hello World Whats's my purpose
Ohh my God :|
Comment Lines
Yorum satırları bilgisayarın okumadığı veya ilgilenmediği satırlar diyebiliriz. Peki buna neden ihtiyacımız olsun? Genelde yazdığımız kodlardaki bazı detayları neden yazdığımızı unutabiliriz veya bu kodları sadece siz değil başka yazılımcılarda kullanmak durumunda kalabilir bu nedenle yazdığımız kodları olabildiğince açık ve belirli yazmalıyız. Bu nedenle yorum satırları kullanarak daha açıklayıcı notlar bırakabiliriz sonrası için
Kotlinde birden fazla yorum satırı bırakma şekli vardır:
//
ifadesini kullanarak bu ifadenin sağında kalan bütün değerleri yorum satırı haline getirebilirsiniz/* */
ifadeleri aralarında bulunan bütün metni yorum satırları haline getirir. Çoklu satırlarda önerilir
Escape Characters
Kaçış karakterleri, tab, enter, satır sonu gibi doğrudan klavyeden girilemeyen bazı tuşları oluşturmak içinde kullanılır.
$
veya${}
sembolleri tırnak içerisinde bile tanımladığımız değişkenleri değerleriyle çağırabilmemizi sağlar
\n
kullanımı println mantığına benzerdir. Eğer\n
'i tırnak içerisinde kullanırsanız sonrasında gelen değerleri enter tuşuna basılmış gibi bir alt satırdan başlatır. Kısaltılması New Line'dan gelmektedir\t
kullanımı kendinde sonra gelenleri bir kere tab tuşuna basılmış gibi ekrana gösterir. Kısaltılması tab'dan gelmektedir.
Data Types
Veri tipleri kodlamada sıklıkla kullanılan verinin türünü belirtme şeklimizdir. Okuduğunuz bir şeyin cümle olduğunu birden fazla kelimeden oluşuyor olmasından anladığınız gibi veya kelime olduğunu harflerden oluşmasından anladığınız gibi bilgisayarada belli verileri sınıflandırıp anlatmanız lazım.
Variable Declaration
Daha önce tanımlanmadıysa eğer bilgisayar için kelimeler bir şey ifade etmez. Bu nedenle daha sonrası için ihtiyaca göre belli kelimelere veya harflere bazı değerler atamamız gerekebilir. Bunu yapmanın iki yolu vardır:
Var:
var
, variable'ın yani değişkenin kısaltılmış halidir ve daha sonra içinde tuttuğu değişebilecek değerleri tanımlamak için kullanılır. İşte kullanım şekli :
Val :
val
, value'nun yani değer kelimesinin kısaltılmış halidir ve daha sonra içinde tuuttuğu değişkenin değerini değiştirilemez olarak tanımlar. Sonrasında herhangi bir işlem ile değiştirilmeye çalışıldığında hata verecektir. İşte kullanımı:
Attantion:
val
veya var var
kullanırken aşağıda gördüğünüz gibi değişkenlerin veri türlerinide belirtebilirsiniz ama buna çoğunlukla gerek yoktur. Çünkü Kotlin bunu anlayacak ve ihtiyaç duymayacak kadar zeki bir dil
Semicolon Usage
Java kodlama diline aşina olanlar için şu ana kadar büyük bir eksiklik fark etmişlerdir. yazdığımız hiçbir kodda semicolons yani ;
kullanmadık, çünkü Kotlin satırın bittiğini anlamak için semicolons'a ihtiyaç duymaz. Ama çoğu java yazılımcısı kotline geçtiğinde alışkanlık olarak satır sonuna semicolons ekler, Kotlin bunada hata vermeyecektir.
1 İstisna dışında semicolonsları satır sonunda kullanmanıza gerek yoktur zaten bu istisna hariç eklediğinizdede giri gözükecektir. Peki bu istisna ne?
Tek satırda birden fazla fonksiyon veya kod çalıştırmak istiyorsanız semicolonsları aşağıdaki gibi kullanmanız gerekmektedir.
Type Conversion
Daha önceki konu başlıklarından birinde Data Type'ı işlemiştik. Bu bölümde ise bu türleri değiştirmemiz gerektiğinde nasıl bir yazım şeklini kullanabileceğimizi göreceğiz:
User Input
Yazdığınız kodun bazen kullanıcıdan değer alması gerekebilir. Bunun için 2 farklı kullanım vardır
readLine()
fonksiyonunu kullanarak tek satırda kullanıcıdan bir değer isteyebilirsiniz. kullanım şekli:
Scanner()
kullanarak aşağıdaki gibi kullanıcıdan bir değer alabilirsiniz
Conditions Expression
if/else Expression
Kodlarımızı yazarken çoğunluklara koşullara ihtiyaç duyarız , bu gibi durumlarda if / else / else if
ifadelerini kullanabilirsiniz. İşte kullanım şekilleri:
When Expression
When
içinde birçok koşul barındıran bir yapıdır. Daha okunaklı ve daha kısa yazımı yüzünden tercih edilmesi daha olasıdır. Diğer dillerdeki switch case mantığı gibi çalışır