Kotlin Veri Tipleri ve Değişkenler

Kotlin Veri Tipleri ve Değişkenler

Kotlin veri tipleri ve değişkenler konusu ile Kotlin Eğitimine başlıyoruz arkadaşlar. Bu makalede, Kotlin’deki değişkenlerin nasıl tanımlanacağını, Kotlin’in değişkenlerin türünü nasıl belirleneceğini ve Kotlin tarafından değişkenler oluşturmak için desteklenen temel veri türlerinin neler olduğunu elimden geldiğince anlatmaya çalışacağım arkadaşlar. Ayrıca çeşitli veri türleriyle nasıl çalışılacağını ve bir türün diğer türlere nasıl dönüştürüleceğini de öğreneceksiniz.

Kotlin’de bir değişken nasıl tanımlanır ?

Kotlin’de bir değişken tanımlamak için iki yol vardır ya  var  yada val  anahtar kelimesi kullanılır nasıl mı şöyle bir örnek vereyim ?

var dil  = "türkçe"
var paun = 85
val ad   = "Sercan"
val sayi = 99

Daha önce bir programlama dili biliyorsanız daha doğrusu statik bir dil biliyorsanız (C#, Java, C vb.) mutlaka değişkenin hangi veri tipinde olduğunu belirtmeniz gerekir ancak kotlin de bu geçerli değil. Yukarıdaki örnekte dil ve ad değişkenleri String, paun ve sayi değişkeni Int türünde olduğunu kotlin otomatik olarak algılıyor.

Var ve Val arasındaki fark

  • Val (Immutable reference) = val anahtar kelime kullanılarak yapılan değişken sonradan değiştirilemez yani başka bir değer ataması yapılamaz.
  • Var (Mutable reference) = var anahtar kelimesi kullanılarak oluşturulan değişken istenildiği zaman başka bir değer ataması yapılabilir.

Örnek val  ;

val ad = "sercan"
ad = "aysun" // Kotlin: Val cannot be reassigned

Zaten direk bu örnek kodu ekrana yazarken direk hata verecektir arkadaşlar.

Örnek var ;

var ad = "sercan" // ad değişkenine sercan değeri atandı
ad = "aysun" // ad değişkenine aysun değeri atandı
ad = "şahin" // ad değişkenine şahin değeri atandı
ad = "sefa" // ad değişkenine sefa değeri atandı

Yukarıdaki örnekler açık olarak arasındaki farkı sizlere anlatmıştır sanırım.

Not: Bu arada başka bir programlama dili bilen arkadaşlar çoktan fark etmiştir örnekteki değişkenlerin sonuna Noktalı Virgül (;) koymuyorum çünkü gerek yok.

Kotlin Veri Tipleri

Sayısal Veri Tipleri

Kotlin’de ki sayısal veri tipleri 6 çeşittir bunlar küçükten büyüğe doğru şunlardır ;

  1. Byte
  2. Short
  3. Int
  4. Long
  5. Float
  6. Double

1. Byte

Byte veri türü bellekte 8 bitlik alan kapar max kapasitesi 127 minimum alabileceği değer -128 dir.

Örnek;

fun main(args: Array<String>) {
    // Bir değişkene veri ataması 2 şekilde yapılabilir
    // 1.Yol
    var sayi:Byte // sayi değişkenin Byte türünde olduğunu belirtiyorum
    sayi = 100

    //2.Yol
    var sayi2:Byte = 95 //

    // Ayrıca Byte değişkenin max ve min değerlerini öğrenmek için
    var byteMax:Byte = Byte.MAX_VALUE // 127
    var byteMin:Byte = Byte.MIN_VALUE // -128
}

2.Short

Short veri türü belleğimizde 16 bitlik alan kaplar max alabileceği değer 32767 min alabileceği değer -32768.

Örnek;

fun main(args: Array<String>) {

    var sayi:Short
    sayi = 2562

    var sayi2:Short = 30000

    var shortMax:Short = Short.MAX_VALUE // 32767
    var shortMin:Short = Short.MIN_VALUE // -32768
}

3. Int

Integer veri türü bellekte 32 bitlik bir alan kaplar min değer  -2147483648 max değer 2147483647 değerleri alır.

Örnek;

fun main(args: Array<String>) {

    var sayi:Int
    sayi = 3569552

    var sayi2:Int = 9856542

    var intMax:Int = Int.MAX_VALUE // 2147483647
    var intMin:Int = Int.MIN_VALUE // -2147483648
    
}

Makalenin başında da anlattığım gibi istersem veri tipi belirtmek zorunda olmaya bilirim örneğin bir değişken tanımlayayım ve bunun içine değer olarak 20 sayısını atayalım;

fun main(args: Array<String>) {

    var sayi = 20

}

Şimdi biz bu değişkeni tanımladım ama veri tipi ne olabilir acaba ? Arkadaşlar bu şekilde tanımlanan değişkenler otomatik olarak Integer olarak tanımlanır. Şuda aklınıza gelmesin ama örneğin Integer değerinin alabileceği max değerden fazla değer verirsem o otomatik olarak long veri tipine geçer diye düşünmeyin geçmez direk hatayı alnınızın ortasına çakar 🙂

4. Long

Long veri tipi bellekte 64 bitlik bir alan kaplar, alabileceği max değer 263  -1, Min alacağı değer -263 .

Örneğin;

fun main(args: Array<String>) {

    var sayi:Long
    sayi = 354154252

    var sayi2:Long = 4251542

    var longMax:Long = Long.MAX_VALUE 
    var longMin:Long = Long.MIN_VALUE 
    
}

5.Float

fun main(args: Array<String>) {

    var sayi:Float
    sayi = 3.54F

    var sayi2:Float = 42.515F

    var FloatMax:Float = Float.MAX_VALUE
    var FloatMin:Float = Float.MIN_VALUE

}

6. Double

fun main(args: Array<String>) {

    var sayi:Double
    sayi = 354.252

    var sayi2:Double = 42.51542

    var DoubleMax:Double = Double.MAX_VALUE
    var DoubleMin:Double = Double.MIN_VALUE

}

6 adet sayısal veri tiplerini anlatmaya çalıştım ancak diyeceksiniz ki sercan bunları biz nasıl ekrana yazacağız onuda söyle de bilelim 🙂 hemen anlatayım öğrek ile;

 Kotlin’de print() ve println() Kullanımı

fun main(args: Array<String>) {

    // İki şekilde ekrana ekrana yazdırma methodu var bunlar ;
    // print()
    var isim:String = "Sercan"
    print(isim)
    //yada
    var ad:String = "Sercan"
    var soyad:String = "Çepni"
    print("Adınız : $ad Soyadınız : $soyad")

    // println()
    var cicek:String = "Gül"
    println(cicek)
    //yada
    var oyun:String = "Saklanbaç"
    println("Sevdiğiniz oyun : $oyun")

}

 

 

 

 

Fark ettiyseniz print() ve println() methodları içierisine iki şekilde değişken yazdıra biliyorum eğer direk sadece değişkeni ekrana yazdıracaksam println(degiskenAdi) yada println("Bu Bir değişken : $degiskenAdi") kısacası eğer çift tırnak içinde değişken yazdıracak iseniz başına Dolar ($) işareti koymalısınız.

Peki print() ve println() arasındaki fark nedir derseniz yukarda verdiğim örneğin ekran çıktısını koydum arkadaşlar aradaki farkı rahatça görün diye bazı çıktılar aynı satırda birleşik şekilde gözüküyor ama aynı methot içinde ekrana yazdırılmadı kısacası aradaki fark print() içine yazılan veriyi ekrana yazar ama arkasından başka bir print() methodu yazılırsa yine aynı satıra yazar. Ancak println() methodu ile ekrana veri yazılır ve bir alt satıra geçilir sonrasında print() methodu kullanılsa bile bir alt satırda işlem görür.

Ayrıca sayısal veri türlerinin max ve min değerlerini şu şeklide tanımlanır ve ekrana yazar (Ayrıca kafanıza tam girsin diye farklı şekillerde ekrana yazdırdım) ;

fun main(args: Array<String>) {

    val byteMin : Byte = Byte.MIN_VALUE
    println("Byte Min Değeri : " + byteMin)

    var byteMax : Byte = Byte.MAX_VALUE
    println("Byte Max Değeri : " + byteMax)

    var shortMin : Short = Short.MIN_VALUE
    println("Short Min Dğeri : " + shortMin)

    var shortMax : Short = Short.MAX_VALUE
    println("Short Max Değeri : " + shortMax)

    var intMin : Int = Int.MIN_VALUE
    println("Intger Min Değeri : " + intMin)

    var intMax : Int = Int.MAX_VALUE
    println("Integer Max Değeri : " + intMax)

    var longMin : Long = Long.MIN_VALUE
    println("Long Min Değeri : " + longMin)

    var longMax : Long = Long.MAX_VALUE
    println("Long Max Değeri : " + longMax)

    var floatMin : Float = Float.MIN_VALUE
    println("Float Min Değeri : $floatMin")

    var floatMax : Float = Float.MAX_VALUE
    println("Float Max Değeri : " + floatMax)

    var doubleMin : Double = Double.MIN_VALUE
    println(doubleMin)

    var doubleMax : Double = Double.MAX_VALUE
    println("Double Max Değeri : " + doubleMax)

}

Char Veri Tipi

Kotlin’de tek karakterli veri saklamak için Char veri tipi kullanılır örneğin ;

fun main(args: Array<String>) {

    var veri:Char = 'S'
    println("$veri")

}

Boolean Veri Tipi

Boolean veri tipi sadece iki değer alır bunlar true ve false dir. Örneğin;

fun main(args: Array<String>) {

    var veri:Boolean = true
    println("$veri")
    var veri2:Boolean = false
    println("$veri2")

}

String Veri Tipi

String veri tipi içerisinde metinsel sayısal (ancak oda metinsel olarak algılanır yani sayısal işlem yapamazsınız) veriler tutabilir. Örneğin ;

fun main(args: Array<String>) {

    var isim:String = "Sercan"
    var soyad:String = "Çepni"

    println("İsminiz : $isim Soyad : $soyad")

}

Not: String veri tipleri ile ilgili çok daha geniş kapsamlı ayrıca bir makale daha yazacağım arkadaşlar nedeni ise String veri tipleri üzerinde çok çeşitli methotlardan yararlana biliyoruz örneğin bir String verinin boyutu veya ilk 5 karakterini alma gibi.

Dizi Veri Tipleri

Dizi veri tipleri içerisinde birden fazla değişken tutabilen veri tipleridir. Örneğin ;

fun main(args: Array<String>) {

    // Veri Tipini belirtmeden dizi tanımlama
    var sayilar = arrayOf(1,5,7,9,4)
    var isimler = arrayOf("Sercan","Şahin","Ayşe","Aysun")
    var karisik = arrayOf(1,true,4,"Sercan",'a') // Bir dizinin içinde farklı veri tipleri tanımlaya biliriz
    
    // Veri Tipi belirtilerek dizi tanımlama
    var sayilar2:Array<Int> = arrayOf(6,5,4,96,5)
    var isimler2:Array<String> = arrayOf("Okan","Ali","Mehmet","Ahmet","Fevzi")

}

Diziler çok geniş kapsamlı bir konu arkadaşlar o yüzden ayrıca bir makale yazılmayı hak ediyor 🙂

Umarım anlaya bileceğiniz bir şekilde anlatabilmişimdir arkadaşlar sorularınızı ister yorum olarak isterseniz de en üst menüden soru sor kısmına sorunuzu göndererek sorabilirsiniz <3

Previous Kotlin Gerekli Ayar ve Kurulumlar
Next 2018 DGS Mağduriyeti Binlerce Kişinin Sınavı Geçersiz

About author

Sercan Çepni
Sercan Çepni 87 posts

Ben Kimim ? Sercan ÇEPNİ 1990 Eskişehir doğumluyum. Kocaeli Üniversitesi Yerel Yönetimler ve Anadolu Üniversitesi Kamu Yönetimi Mezunuyum. Ayırca Kastamonu Üniversitesi Bilgisayar Programcılığı Bölüm Birincisi ve Okul ikincisi olarak mezun oldum. Tam olarak 13 yıl dır internet camiasının içerisinde bulunmaktayım. Bir çok çeşitli sektörlere yönelik web sitelerim var fakat uzun zamandır artık kendim içinde bir web sitesi açmak istiyordum ve sonunda açtım bu siteyi açmamın amacı bunca yıldır öğrendiğim bilgi birkimimi başkarınada aktarmak ve siyasetle ilgili yazılarımı paylaşmak arzumdan dolayı bu siteyi açtım.

View all posts by this author →

You might also like

Kotlin Eğitimi 0 Comments

Kotlin Gerekli Ayar ve Kurulumlar

Kotlin eğitimine başlamadan önce bilgisayarımıza bir kaç program kurmamız gerekiyor. Aslında direk değişken kavramından başlayacaktım ancak her şeyi en baştan almaya karar verdim peki kuracağımız programlar neler dersek ilk olarak

Kotlin Eğitimi 0 Comments

Kotlin Nedir ? Neden kotlin ?

Kotlin JVM ve Android geliştirmek için Java’ya oranla büyük avantajlar sunuyor ve en güzeli java kütüphaneleri kullana biliyorsunuz. Neden denemeyelim ki ? Kotlin, JVM ve Android için nesne tabanlı ve

0 Comments

No Comments Yet!

You can be first to comment this post!

Leave a Reply