2 - Kotlin'e Giriş - Zeki Ünyıldız

2 - Kotlin'e Giriş

Kotlin'e Giriş

Hadi benimle Online bir şekilde Kotlin'in kendi playground'unda uygulama yazalım. (https://play.kotlinlang.org/)

Kotlini Kotlin yapan şey main işlevidir. Ve o main içine yazdıklarımızdır. Bir örnek ile bunu belirtelim. 


fun main() {
println("Hello world!")
}

Yukarıda main adında bir fonskiyon yazıyoruz o bizi ana fonskiyonumuz tüm işlemlerimiz orada yaşıyor. Fonksiyona şimdi bir giriş yaparız ama detaylı bir şekilde girmiyicem daha sonra detaylı görücez.


fun toplama(a: Int, b: Int): Int {
return a + b
}

fun main() {
print("3 ile 5'i toplayalım. ")
println(toplama(3, 5))
}

Yukarıda 3 ile 5'i toplayan toplama adında fonsiyon yazdık ve bu toplama işlemini main içinde çalıştırdık. Int, return ve diğer kavramları daha sonra göstericez

return kavramını kullanmadan da bunu yazabiliriz.


fun toplama(a: Int, b: Int) = a + b

fun main() {
println("19 ile 23'ü toplamyalım ${toplama(19, 23)}")
}

Print içinde çift tırnakla yazılan her şey bizim için bir metindir. Biz metin içinde daha düzenli ve güzel bir şekilde bu toplama işlemini yapabiliriz bunu için dolar işareti ($) ile kıvırcık parantez içine fonksiyonumuzu yazıyoruz.

Eğer biz bir değer döndürmek istemiyorsak Java gibi dillerde Void diye bir kavram var onu kullanırız. Kotlinde bunu karşılığı Unit'tir. Aşağıda bunu kullanalım.


fun topl(a: Int, b: Int) {
println("$a ile $b'nin toplamı: ${a + b}")
}

fun main() {
topl(-1, 8)
}

Yukarda gördüğünüz şeyler Kotlinin görünen yüzü yukarıda bahsettiğimiz bazı şeyleri sizinle daha detaylı görcez.

Şimdi sizlerle kotlin dilinin yapı taşlarından variable(değişkenleri) görcez

Variables Types

·

·

·

·

·

Yukarıda gördüğünüz kavramlar bizim değişken tiplerimiz. Onlara gelmeden 2 kavramı öğrenmeliyiz. 

1- var

var ( mutable / değiştirilebilir) : variable olarak düşünülebilir, Değişken var ile tanımlanırsa, daha sonra yeni değer ataması yapmak mümkündür

2- val

val ( immutable / değiştirilemez) : value olarak düşünülebilir, tanımlanan değişken daha sonra değiştirilemez.

Bunlar projelerde önem arz ediyor. Tamamen kullanımları size kalmış siz hangisini tercih ederseniz. Genelde benim gördüğüm "val" daha çok kullanılıyor.

Numbers

Tam sayılar ile bir giriş yapalım. Tam sayılar için, farklı boyutlara ve değer aralıklarına sahip dört tür vardır.

Bunlar:

Tipi Boyut (bits)Min değerMaks değer
Byte  8-128        127
Short  16-32768        32767
Int  32-2,147,483,648 (-231)        2,147,483,647 (231 - 1)
Long  64-9,223,372,036,854,775,808 (-263)        9,223,372,036,854,775,807 (263 - 1)  

Bunları bir de kod içinde yazalım.

val one = 1 // Int
val threeBillion = 3000000000 // Long
val oneLong = 1L // Long
val oneByte: Byte = 1

Şimdi çok karışıtırılan bir kavramı işleyelim. Float & Double...
 

Kotlin dilinde float ve double türündeki değişkenler ile rasyonel sayıları tutuyoruz. Float ve double türlerinin arasındaki fark, virgülden sonraki ondalık kısımda tutabildikleri hane sayısıdır. Bu yüzden bir float değişken sanal bellekte 32 bitlik yer tutarken, double türündeki bir değişken 64 bit yer tutacaktır.

Kayan noktalı bir tip yerine tamsayı tipini kullandığınızda olacakları daha iyi anlamak için aşağıdaki örneği inceleyiniz:

TipBoyut(bits)Significant bitsExponent bitsDecimal digits
Float322486-7
Double64531115-16

Koda dökelim...

fun main(){
val pi = 3.14 // Double
val e = 2.7182818284 // Double
val eFloat = 2.7182818284f // Float, actual value is 2.7182817
println(eFloat)
    println(e)
    println(pi)
}
 
>>2.7182817
>>2.7182818284
>>3.14

Kotlin sitesinde bu olaya şöyle bir örnekte var.

fun main() {
fun printDouble(d: Double) {
print(d)
}

val i = 1
val d = 1.1
val f = 1.1f

printDouble(d)
//printDouble(i) // Error: Type mismatch
//printDouble(f) // Error: Type mismatch
>>1.1 

 i değerimiz int, f değerine bakınca zaten eşitinde 1.1f ifadesi kullanılmış float bir değer olduğu apaçık belli.



BOOLEAN - CHAR - STRING

Boolean bize true ve false değer döndürür. Hemen bir örnek ile bu işi çözelim.


fun main(){

val i = 5>4
print(i)

}
>>true :) 

Char ise tek bir karakter tutar. Bunuda bir örnek ile gösterelim.


fun main(args : Array<String>) {

    val harf: Char
    harf= 'k'
    println("$harf")
}
>> k 
 

String ise Char'ın ileri versiyonu diyebilirsiniz. Char'ların bir araya gelmesiyle String oluşur. Onuda bir örnek ile gösterelim.


fun main(){

val dil : String = "Ingilizce"
print(dil)

}
>>Ingilizce

Tip Dönüşümü

Başka bir veriden başka bir veri tipine dönüşüm işlemidir.

 

fun main() {
val number1: Int = 545344
val number2: Byte = number1.toByte()
println(number1)
println(number2)
}
>>545344
>>64

Büyük veri tiplerini küçük veri tiplerine çevirmede sorun yaşamasakta küçük veri tiplerini büyük veri tiplerine çevirirken mantıkende düşündüğünüzde sıkıntılar yaşayabiliyoruz.

Dikkatli olmak lazım.



Kotlin Mini Proje

fun main(){

val adSoyad : String = "Zeki Unyildiz"
val yas : Int = 23
val uzun : Double = 1.7
val kilo : Double = 70.5
val cins : Char = 'E'

val hesap : Double = uzun * uzun
val hesap1 : Double = kilo / hesap

println("Merhaba Ben ${adSoyad} yasim ${yas} boyum ${uzun} kilom ${kilo} cinsiyetim ${cins}")
println("Vücut kitle endeksim: ${hesap1}")

}

>> Merhaba Ben Zeki Unyildiz yasim 23 boyum 1.7 kilom 70.5 cinsiyetim E Vücut kitle endeksim: 

>> 24.394463667820073

 





Yorum Gönder

0 Yorumlar