Skip to content

Bu repoda Gökhan Öztürk tarafından Youtube'da Kotlin ve Android dersleri sırasında aldığım notlar bulunmaktadır.

Notifications You must be signed in to change notification settings

tolgaprm/Kekod_Kotlin_DersNotlari

Repository files navigation

Kekod Ders Notları

  • 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.

Ödevlerin Cevapları

Bu kısımda eğitim süreci boyunca verilen ödevlerde sorulan sorular için yazdığım cevaplarım bulunmaktadır.

Ödev Sayfasına Ulaşmak İçin Tıklayınız


1. Hafta Notları

1.Haftanın Notlarına buradan ulaşabilirsiniz.

İçindekiler

  1. Intellij Idea Kısayolların Kullanımı
  2. Debugging Öğrenmek için Kaynaklar
  3. Type Inference (Tip Çıkarımı) Nedir ?
  4. val ve var İle Oluşturulan Bir Değişkenin En Temel Farkı?
    • Bir val değişken oluşturmak mı bize daha maliyetli yoksa var bir değişken oluşturmak mı daha maliyetli?
  5. var ile tanımlanmış bir değişkeni, var keyword'unu kullanarak val değişken nasıl yapılabilir?

2. Hafta Notları

2.Haftanın Notlarına buradan ulaşabilirsiniz.

İçindekiler

1. Kotlin'de Primitive Tipler

  • 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ı.

2. val değişkenler immutable değildir. Sadece read-only'dir. Bunun açıklaması.

  • const val ve val arasındaki fark nedir? Neden const val immutable bir değişken olabiliyorken val immutable bir değişken olamıyor?

3. Kotlinde Nullable(?) İfadeler

  • 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?

4. Numbers Değişkenler

  • 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

5. Type Conversion


3. Hafta Notları

3.Haftanın Notlarına buradan ulaşabilirsiniz.

İçindekiler

1. Değişkenler Bellekte Nasıl Saklanır? Stack ve Heap Kavramları

2. Smart Cast Nedir?

  • is ve !is Operatörleri

3. İki Int.MAX Değerin Toplanması Durumu

  • Defansif Programlama Kavramı

4. Characters (Char)

  • Char Bir Değişken Tanımlama
  • ASCII Tablosu
  • Escape(Kaçış) Karakterleri
  • Unicode
  • Unicode ve ASCII Arasındaki Fark Nedir?

5. Boolean

  • Boolean Bir Değişken Tanımlama
  • Karşılaştırma Operatörleri(&&, ||, !)
    • Bu operatörlerin Lazily Çalışma Mekanizmasına Sahip Olması

6. String

  • 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

7. Array

  • 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 ve Spread(*) 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?

8. Range - Progression

  • Küçükten Büyüğe Range Tanımlama
    • step İle Kullanımı
  • Büyükten Küçüğe Range Tanımlama
    • step İle Kullanımı

4. Hafta Notları

4.Haftanın Notlarına buradan ulaşabilirsiniz.

İçindekiler

  • 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?

5. Hafta Notları

İçindekiler

  • İnfix Fonksiyonlar
  • Extension Fonksiyonlar
  • Local Fonksiyonlar
  • HigherOrder Functions
  • Inline - Noinline - Crossinline

6. Hafta Notları

6.Haftanın Notlarına Buradan Ulaşabilirsiniz

İçindekiler

  • 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?

7. Hafta Notları

7.Haftanın Notlarına Buradan Ulaşabilirsiniz

İçindekiler

  • 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ı

About

Bu repoda Gökhan Öztürk tarafından Youtube'da Kotlin ve Android dersleri sırasında aldığım notlar bulunmaktadır.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published