- (Ümit Köse) Youtube'da kısayolları anlattığı bir video
- key-promoter-x - IDE üzerinde plugin
- IDE üzerinden
Help/Keyboard Shortcuts PDFseçeneğine tıklayarak PDF'e ulaşabilirsiniz.
Debugging işlemi, yazılımın doğru çalışmasını engelleyen hataları tespit etmek amacıyla yapılır. Detaylı bilgi için ve debug temellerini öprenmek için The Full Guide to Debugging Your Android Apps (İngilizce) göz atabilirsiniz.
- Eşitliğin karşı tarafındaki değere bakarak, değişkenin tipinin ne olacağını IDE'nin karar vermesi.
- Bir değişkene değer atadığımızda o verinin hangi türde olacağını tam olarak belirtmediysek IDE'nin o verinin hangi türde olacağını bilmesidir.
val name: String = "Tolga"
val age = 23 // Type Inference
// age değişkenini tanımlarken tam olarak (Explicitly) bir şekilde belirtmedik.
// IDE burada değişkenin tipini otomatik olarak kendisi tespit edecektir.Number değer tipine sahip değişkenler için önemli bir bilgi:
- Type Inference sırasında eğer sayi
Intifadeden büyük değilse tipiIntset edilir. - Ama
Intdeğer aralığından daha büyükse tipiLongolarak set edilir.
val amongIntValue = 900334 // Int
val higherInt = 1_000_0000_000 // Long
// Burada biraz daha anlamlı olabilecek bir örnek üzerinden bakalım
val number: Short = 40
val number2: Short = 50
val totalNumber = number + number2Burada iki short değişkeni topladık ve totalNumber değişkenine eşitledik
totalNumber değişkeninin tipini belirtirken Type Inference'dan faydalandık.
Peki burada totalNumber değişkeni Short mu, Int mi, yoksa Long mu olacak.
Aslında yukarıda belirtmiştik. Type Inference sırasında eşitliğin karşı tarafındaki
değer Int değişkenin sınırları arasında ise Int olarak belirlenir.
Ama eğer sayımız Int değerin alabileceği max değeri geçti ise Long olarak belirlenir.
-
valDeğişkenleri:- Değişken bir kere atandığında sabit kalır.
Valuesabit kelimesinin kısaltmasıdır. - Bu durum, değişkenin tipini ve değerini belirledikten sonra bir daha değiştirilemeyeceği anlamına gelir.
- Değişken bir kere atandığında sabit kalır.
-
varDeğişkenleri:- Değişken daha sonra değiştirilebilir.
Variabledeğişken kelimesinin kısaltmasıdır. - Esneklik sağlar ve değer sonradan değiştirilebilir.
- Performans açısından
valdeğişkenlerden biraz daha avantajlıdır.
- Değişken daha sonra değiştirilebilir.
valdeğişkenleri daha maliyetli kılan ana neden, değişkenin bir kere atandıktan sonra değiştirilemeyeceği şartını içermesidir.Bu şartın kontrol edilmesi, ek bir maliyet getirir. Amavarkullanımında ekstra bir şartımız yok. (Teorik olarak aslında akılda kalıcı olması için böyle bir açıklama yapıldı derste. Yoksa tam olarak böyle bir durum yok.)
Akademik olarak düşündüğümüzde
vardeğişkenler daha performanslıdır ama bu göz ardı edilebilecek bir performans farkı yaratır. Günlük hayat problemlerinde isevalkullanmak daha avantajlıdır. Bu tercihin arkasındaki sebep, sektördeki uygulamalarda çok sayıda multi-thread işleminin gerçekleştirildiği durumlardır.
Biz Kotlin'de bir değişken tanımladığımızda bu değişkenin arka planda get() ve set() fonksiyonlarını otomatik bir şekilde oluşturur.
valbir değişken oluşturduğumuzda Kotlin arka planda bizim için sadece bu değişken içinget()fonksiyonunu,varbir değişken için ise hemget()hemdeset()fonksiyonlarını oluşturur.
Biz bu oluşturulan fonksiyonlara(property) visibility modifier'lar (public,private,protected,internal) ekleyebiliriz. Eğer biz var bir değişkenin set() fonksiyonuna private visibility modifier eklersek bu değişkenimiz artık set edilemez yani val gibi davranan bir değişken elde etmiş oluruz.
class Ders1 {
var isMale: Boolean = true
private set
}