-
Bu repoda Gökhan Öztürk tarafından Youtube'da Kotlin ve Android dersleri sırasında aldığım notlar bulunmaktadır. Youtube Linki
-
Bu notlara eklemek istediğiniz herhangi ek bir bilgi olur veya yanlış olduğunu düşündüğünüz kısımlar var ise bunları pull-request işlemi yaparak yeni notlar veya düzeltmeler yapabilirsiniz.
-
Eğer pull request nasıl atılır öğrenmek istiyorsanız. Yasin Maden arkadaşımızın hazırlamış olduğu Medium yazısına bakabilirsiniz.
Bu kısımda ders sırasında Gökhan Öztürk tarafından challenglarda dikkat etmemiz gerektiğini söylediği tavsiyeleri bulunmaktadır.
Bu kısımda eğitim süreci boyunca verilen ödevlerde sorulan sorular için yazdığım cevaplarım bulunmaktadır.
- Intellij Idea Kısayolların Kullanımı
- Debugging Öğrenmek için Kaynaklar
- Type Inference (Tip Çıkarımı) Nedir ?
val
vevar
İle Oluşturulan Bir Değişkenin En Temel Farkı?- Bir
val
değişken oluşturmak mı bize daha maliyetli yoksavar
bir değişken oluşturmak mı daha maliyetli?
- Bir
var
ile tanımlanmış bir değişkeni,var
keyword'unu kullanarakval
değişken nasıl yapılabilir?
- Primitive Tip Nedir?
- Primitive vs Reference
- Kotlin'de her şey birer obje ise, Primitive değişken oluşturamıyor muyuz?
- IDE üzerinde
Show Kotlin Byte Code
kullanımı.
- IDE üzerinde
const val
veval
arasındaki fark nedir? Nedenconst val
immutable bir değişken olabiliyorkenval
immutable bir değişken olamıyor?
- Nullable ifadelerin tanımı ve kullanımı
- Nothing Değişkenler
!!
ve?.
Operatörlerinin Kullanımı- Peki ne zaman
!!
veya?.
kullanmalıyım? Bunun Best Practice Nedir? - Primitive Tipleri Nullable Yaptığımızda Ne Olur?
- Değişkenlerin değer aralıkları
- Unsigned Değişkenler Nedir?
- Boxed - UnBoxed ve Eşitlikler(
==
ve===
)==
ve===
Operatörleri Arasındaki Fark Nedir?
- Reference Değer Karşılaştırmasında
Byte
Aralığının Oluşturduğu Spesifik Durum
is
ve!is
Operatörleri
- Defansif Programlama Kavramı
- Char Bir Değişken Tanımlama
- ASCII Tablosu
- Escape(Kaçış) Karakterleri
- Unicode
- Unicode ve ASCII Arasındaki Fark Nedir?
- Boolean Bir Değişken Tanımlama
- Karşılaştırma Operatörleri(
&&, ||, !
)- Bu operatörlerin Lazily Çalışma Mekanizmasına Sahip Olması
- String Bir Değişken Tanımlama ve String'de Index Yapısı
- Stringler Immutable'dır
- Stringler'de
+
Operatörü - Birleştirme İşlemleri - String Template Kullanımı -
Length:${name.length}
- String
format()
Fonksiyonu
-
Array Tanımlama
- Object Type & Primitive Type Array
- Object Type Array ve Primitive Type Array’ler Arasında Dönüşüm İşlemleri
- Çok Boyutlu Diziler Oluşturma (Multi Dimensional Array)
-
Array Karşılaştırmaları -
contentEquals
&contenDeepEquals
-
Array'lerde Ekleme, Çıkarma İşlemleri Yapmak
- Array'ler Invariant
vararg
veSpread(*)
Operatörü ile İlişkisi- Array'lerde Bulunan Bazı Yardımcı Fonksiyonlar
- Array'leri Collections Yapılarına Dönüştürme İşlemleri -
Set
,List
,Map
- Ne Zaman Array’leri Kullanmalıyız? Ne Zaman Collections Yapılarını Kullanmalıyız?
- Küçükten Büyüğe Range Tanımlama
step
İle Kullanımı
- Büyükten Küçüğe Range Tanımlama
step
İle Kullanımı
-
Operatorler
- Operatörler ve Kullanımları
compareTo()
Fonksiyonu- Ne Zaman Operatör Fonksiyonları (Örneğin: plus()) Kullanmalıyız, Ne Zaman Doğrudan Operatörleri (Örneğin: +) Kullanmalıyız?
-
Operator Overloading
-
if Koşulu
- State Olarak Kullanımı
- Expression Olarak Kullanımı
- Kotlin'de Neden Ternary(
condition ? then : else
) Operatörü Yoktur? if
else if
Kullanımı
-
When Kullanımı
-
For Loop
-
While Loop
-
Destructuring declarations Nedir?