Zero to Hero With Kotlin

Overview

Zero to Hero With Kotlin

Content:

What's/Why Kotlin?

Kotlin Syntax Basic

Hello World!

Gelin çoğu kodlama dilinde olduğu gibi "Hello World" ile başlayalım

image

Satır satır incelemeye ne dersiniz?

  • Öncelikle fun kelimesiyle başlıyoruz. fun function(foksiyon) kelimesinin kısaltmasıdır, fonksiyonlar programların yapı taşlarıdır. belirli bir işlevi yerine getirmek için kullanılır.

  • Fonksiyonları ayırt edebilmemiz için adları vardır.mainile devam ediyoruz. mainbu fonksiyonun ismidir ama main foksiyonları biraz daha özeldir. Main fonksiyonları bu programın ana veya birincil fonksiyonudur. Her Kotlin kodu bir main fonksiyona ihtiyaç duyar.

  • Fonksiyonlar çalışmak için belirli bilgilere ihtiyaç duyabilir. Sonrasında kullandığımız () içine, fonksiyonun kullanması için bilgi girebilirsiniz. Fonksiyona yapılan bu girdiye "arguments" veya kısaca args denir . Argümanlar hakkında daha sonra daha fazlasını öğreneceksiniz.

  • Fonksiyonlarımız çalışmak için belli sınırlara(başlama ve bitiş noktası) ihtiyaç duyar. {}sembolleri bu sınırları belirler. Bu sınırların içinde bir işlevi yerine getiren kodlar bulunur.

  • Fonksiyon küme parantezlerinin içindeki print()sisteme bir metin satırı yazdırır. Dikkatinizi çektiyse print() kod içerisinde kullandığımız hazır fonksiyonlardan biridir

  • Pazantezlerin içine yazdırmak istediği metni ""işaretleri arasına yazmanız gerekmektedir. Bu semboller içlerine yazılan her şeyi birebir ekrana bastırmasını söyler

dikkat etmeniz gereken son şey, print gibi yaptırmak istediğimiz işlevlerin hepsinin fun main()'in içinde olduğuna emin olmaktır.

Difference of Print & Println

Daha önce basic bir kotlin kodu gördüyseniz mutlaka gözünüze println()de takılmıştır. Peki nedir bu print ve println in farkı?

println deki lnkısaltması line'dan gelmektedir ve birsonraki ekrana bastırılacak değeri bir alt satırdan başlatır. Kısaca anlatmak gerekirse kodlarken print fonksiyonunun içine yazdığınız cümleler karakter karakter basılır yani siz nasılki kağıda Hello World yazarken harf harf kodda bunu bu şekilde ekrana aktarır. ancak println cümlenin bittiği anda bir kere enter tuşuna basılmış gibi devam ederek birsonraki işlev çıktısını bir alt satırda başlatır.

image

Bu kodda göreceğiniz çıktı aşağıdaki gibidir:

Hello World Whats's my purpose
Ohh my God :|

Comment Lines

Yorum satırları bilgisayarın okumadığı veya ilgilenmediği satırlar diyebiliriz. Peki buna neden ihtiyacımız olsun? Genelde yazdığımız kodlardaki bazı detayları neden yazdığımızı unutabiliriz veya bu kodları sadece siz değil başka yazılımcılarda kullanmak durumunda kalabilir bu nedenle yazdığımız kodları olabildiğince açık ve belirli yazmalıyız. Bu nedenle yorum satırları kullanarak daha açıklayıcı notlar bırakabiliriz sonrası için

Kotlinde birden fazla yorum satırı bırakma şekli vardır:

  1. //ifadesini kullanarak bu ifadenin sağında kalan bütün değerleri yorum satırı haline getirebilirsiniz
  2. /* */ ifadeleri aralarında bulunan bütün metni yorum satırları haline getirir. Çoklu satırlarda önerilir

image

Escape Characters

Kaçış karakterleri, tab, enter, satır sonu gibi doğrudan klavyeden girilemeyen bazı tuşları oluşturmak içinde kullanılır.

  1. $ veya ${} sembolleri tırnak içerisinde bile tanımladığımız değişkenleri değerleriyle çağırabilmemizi sağlar

image

  1. \n kullanımı println mantığına benzerdir. Eğer \n'i tırnak içerisinde kullanırsanız sonrasında gelen değerleri enter tuşuna basılmış gibi bir alt satırdan başlatır. Kısaltılması New Line'dan gelmektedir
  2. \tkullanımı kendinde sonra gelenleri bir kere tab tuşuna basılmış gibi ekrana gösterir. Kısaltılması tab'dan gelmektedir.

Data Types

Veri tipleri kodlamada sıklıkla kullanılan verinin türünü belirtme şeklimizdir. Okuduğunuz bir şeyin cümle olduğunu birden fazla kelimeden oluşuyor olmasından anladığınız gibi veya kelime olduğunu harflerden oluşmasından anladığınız gibi bilgisayarada belli verileri sınıflandırıp anlatmanız lazım.

image

Variable Declaration

Daha önce tanımlanmadıysa eğer bilgisayar için kelimeler bir şey ifade etmez. Bu nedenle daha sonrası için ihtiyaca göre belli kelimelere veya harflere bazı değerler atamamız gerekebilir. Bunu yapmanın iki yolu vardır:

Var:

var, variable'ın yani değişkenin kısaltılmış halidir ve daha sonra içinde tuttuğu değişebilecek değerleri tanımlamak için kullanılır. İşte kullanım şekli :

image

Val :

val, value'nun yani değer kelimesinin kısaltılmış halidir ve daha sonra içinde tuuttuğu değişkenin değerini değiştirilemez olarak tanımlar. Sonrasında herhangi bir işlem ile değiştirilmeye çalışıldığında hata verecektir. İşte kullanımı:

image

Attantion:

val veya var var kullanırken aşağıda gördüğünüz gibi değişkenlerin veri türlerinide belirtebilirsiniz ama buna çoğunlukla gerek yoktur. Çünkü Kotlin bunu anlayacak ve ihtiyaç duymayacak kadar zeki bir dil

Semicolon Usage

Java kodlama diline aşina olanlar için şu ana kadar büyük bir eksiklik fark etmişlerdir. yazdığımız hiçbir kodda semicolons yani ; kullanmadık, çünkü Kotlin satırın bittiğini anlamak için semicolons'a ihtiyaç duymaz. Ama çoğu java yazılımcısı kotline geçtiğinde alışkanlık olarak satır sonuna semicolons ekler, Kotlin bunada hata vermeyecektir.

1 İstisna dışında semicolonsları satır sonunda kullanmanıza gerek yoktur zaten bu istisna hariç eklediğinizdede giri gözükecektir. Peki bu istisna ne?

Tek satırda birden fazla fonksiyon veya kod çalıştırmak istiyorsanız semicolonsları aşağıdaki gibi kullanmanız gerekmektedir.

image

Type Conversion

Daha önceki konu başlıklarından birinde Data Type'ı işlemiştik. Bu bölümde ise bu türleri değiştirmemiz gerektiğinde nasıl bir yazım şeklini kullanabileceğimizi göreceğiz:

image

User Input

Yazdığınız kodun bazen kullanıcıdan değer alması gerekebilir. Bunun için 2 farklı kullanım vardır

  1. readLine()fonksiyonunu kullanarak tek satırda kullanıcıdan bir değer isteyebilirsiniz. kullanım şekli:

1

  1. Scanner()kullanarak aşağıdaki gibi kullanıcıdan bir değer alabilirsiniz

1

Conditions Expression

if/else Expression

Kodlarımızı yazarken çoğunluklara koşullara ihtiyaç duyarız , bu gibi durumlarda if / else / else if ifadelerini kullanabilirsiniz. İşte kullanım şekilleri:

image

When Expression

Wheniçinde birçok koşul barındıran bir yapıdır. Daha okunaklı ve daha kısa yazımı yüzünden tercih edilmesi daha olasıdır. Diğer dillerdeki switch case mantığı gibi çalışır

image

You might also like...
Saga pattern implementation in Kotlin build in top of Kotlin's Coroutines.

Module Saga Website can be found here Add in build.gradle.kts repositories { mavenCentral() } dependencies { implementation("io.github.nomisr

Kotlin microservices with REST, and gRPC using BFF pattern. This repository contains backend services. Everything is dockerized and ready to
Kotlin microservices with REST, and gRPC using BFF pattern. This repository contains backend services. Everything is dockerized and ready to "Go" actually "Kotlin" :-)

Microservices Kotlin gRPC Deployed in EC2, Check it out! This repo contains microservices written in Kotlin with BFF pattern for performing CRUD opera

A sample skeleton backend app built using Spring Boot kotlin, Expedia Kotlin Graphql, Reactive Web that can be deployed to Google App Engine Flexible environmennt

spring-kotlin-gql-gae This is a sample skeleton of a backend app that was built using: Spring Boot(Kotlin) Reactive Web Sprinng Data R2DBC with MYSQL

Modular Android architecture which showcase Kotlin, MVVM, Navigation, Hilt, Coroutines, Jetpack compose, Retrofit, Unit test and Kotlin Gradle DSL.

SampleCompose Modular Android architecture which showcase Kotlin, MVVM, Navigation, Hilt, Coroutines, Jetpack compose, Retrofit, Unit test and Kotlin

Learn-kotlin - Learning more about Kotlin in various content

Kotlin study roadmap https://kotlinlang.org/docs/reference/ Getting Started Basi

Mis experimentos con Kotlin para JetBrains Academy, certificación de Kotlin donde voy resolviendo proyectos de evaluación y haciendo actividades de cada tema.
Mis experimentos con Kotlin para JetBrains Academy, certificación de Kotlin donde voy resolviendo proyectos de evaluación y haciendo actividades de cada tema.

Kotlin Academy Mis experimentos con Kotlin para JetBrains donde voy resolviendo proyectos de evaluación y haciendo actividades de cada tema. Acerca de

Repositório criado para ser utilizado pelo projeto de Kotlin Collections desenvolvido em Kotlin nas aulas feitas através da plataforma Alura.

Projeto Kotlin Collections Repositório criado para ser utilizado pelo projeto de Kotlin Collections desenvolvido em Kotlin nas aulas feitas através da

Kotlin-GraphQL-Apollo - Sencillo cliente para consumir una API GraphQL con Apollo usando Kotlin
Kotlin-GraphQL-Apollo - Sencillo cliente para consumir una API GraphQL con Apollo usando Kotlin

Kotlin GraphQL Apollo Sencillo cliente para consumir una API GraphQL con Apollo

DS-for-Kotlin - Some classic data sturctures write in kotlin for fun

DS-for-Kotlin Just write some classic data structure by kotlin during my leisure

Owner
Serkan Alc
Project Manager @Upschool-classroom
Serkan Alc
Kotlin async server template with coroutines and zero deps

kotlin-server At attempt to very light-weight non-blocking http app template with support for Kotlin coroutines. Zero dependencies - Java built-in jdk

Anton Keks 62 Dec 31, 2022
Repositorio com a finalidade de por em pratica todo o conhecimento das aulas do curso Kotlin e Spring do Zero ao avançado da udemy

kotlin-spring Repositorio com a finalidade de por em pratica todo o conhecimento das aulas do curso Kotlin e Spring do Zero ao avançado da udemy. Obse

Lucas Bastos Nascimento 2 Nov 29, 2022
Repo: Programming problems with solutions in Kotlin to help avid Kotlin learners to get a strong hold on Kotlin programming.

Kotlin_practice_problems Repo: Programming problems with solutions in Kotlin to help avid Kotlin learners to get a strong hold on Kotlin programming.

Aman 0 Oct 14, 2021
Mocking for Kotlin/Native and Kotlin Multiplatform using the Kotlin Symbol Processing API (KSP)

Mockative Mocking for Kotlin/Native and Kotlin Multiplatform using the Kotlin Symbol Processing API (KSP). Installation Mockative uses KSP to generate

Mockative 121 Dec 26, 2022
Kotlin-oop - Repositório criado para ser utilizado pelo projeto de Kotlin OOP desenvolvido em Kotlin nas aulas feitas através da plataforma Alura.

Projeto React OOP Repositório criado para ser utilizado pelo projeto de Kotlin OOP desenvolvido em Kotlin nas aulas feitas através da plataforma Alura

Marcos Felipe 1 Jan 5, 2022
Kotlin-koans - Kotlin Koans are a series of exercises to get you familiar with the Kotlin Syntax

kotlin-koans-edu Kotlin Koans are a series of exercises to get you familiar with

null 1 Jan 11, 2022
Kotlin TodoMVC – full-stack Kotlin application demo

Kotlin full stack TodoMVC This project is an example implementation of the TodoMVC app written in Kotlin. More specifically, it's the Kotlin port of t

Gyula Voros 22 Oct 3, 2022
Integration Testing Kotlin Multiplatform Kata for Kotlin Developers. The main goal is to practice integration testing using Ktor and Ktor Client Mock

This kata is a Kotlin multiplatform version of the kata KataTODOApiClientKotlin of Karumi. We are here to practice integration testing using HTTP stub

Jorge Sánchez Fernández 29 Oct 3, 2022
Small kotlin library for persisting _single instances_ of kotlin data classes

PerSista Small library for persisting single instances of kotlin data classes. NB: PerSista uses typeOf() internally which is marked as @ExperimentalS

Eric Donovan 5 Nov 13, 2022
Kotlin Leaning Notes from Udacity Course | Kotlin Bootcamp for Programmers by Google

Kotlin Beginners Notes These are all personal notes taken from the Udacity Course (ud9011) of Kotlin Bootcamp for Programmers by Google as well as oth

Süha Tanrıverdi 34 Dec 10, 2022