-
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 ?
valvevarİle Oluşturulan Bir Değişkenin En Temel Farkı?- Bir
valdeğişken oluşturmak mı bize daha maliyetli yoksavarbir değişken oluşturmak mı daha maliyetli?
- Bir
varile tanımlanmış bir değişkeni,varkeyword'unu kullanarakvaldeğ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 Codekullanımı.
- IDE üzerinde
const valvevalarasındaki fark nedir? Nedenconst valimmutable bir değişken olabiliyorkenvalimmutable 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
ByteAralığının Oluşturduğu Spesifik Durum
isve!isOperatö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
varargveSpread(*)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? ifelse ifKullanımı
-
When Kullanımı
-
For Loop
-
While Loop
-
Destructuring declarations Nedir?
- İnfix Fonksiyonlar
- Extension Fonksiyonlar
- Local Fonksiyonlar
- HigherOrder Functions
- Inline - Noinline - Crossinline
- Object Oriented Programming Mantığı Nedir?
- Visibility Modifier (public, private, protected ,internal)
- Accessibility Modifier (open, final)
- Primary ve Secondary Constructor
- Abstract (Soyut) Kavramı
- Abstract Class
- Interface
- Interface yapıları state tutabilir mi?
- Data Class
- Destructuring Declarations Kullanımı?
- Enum Class
- Enum Classları Neden Kullanıyoruz?
- Enum Class'ın Özellikleri
- Sealed Class
- Sealed Class'ın Özellikleri
- Sealed Class Yapısı
- Enum Class & Sealed Class Farkları