Kotlin: Yineleyiciler & Döngüler

Kotlin‘de yineliyiciler ya da bir başka deyişle döngüler konusu ile devam ediyoruz. Geleceğin Yazarları, döngüleri şu şekilde tanımlamış:

Yazılan kodlarda belirli satırların birden fazla tekrar edilmesi istenebilir. Böyle durumlarda döngü yapıları kullanılır. Döngü yapılarında, döngünün kaç kere tekrar edeceği dinamik olarak belirlenebilir. Hatta döngünün tekrarlaması bir koşula bağlanabilir.

Biz de bu tanıma bağlı kalarak Kotlin üzerinde genel kullanım mantığı ile örnekleme yapalım.

For

For döngüsü, işlem koşullarının önceden belirli olduğu durumlarda kullanılır. Hemen bir genel kullanım örneği verelim ve sözdizime bakalım.

Bu ifadenin çıktısı şuna benzer olmalıdır:

Burada kullanılan .. operatörü bir aralık belirtir. Buna rangeTo fonksiyonu diyoruz. Tam anlamı şu şekilde aslında  1 <= i && i <= 10 ve yine burada kullanılan && operatörü ve anlamına gelmektedir.

Bir örnek daha verelim. Bu kez sadeleştirilmiş sözdizimi ile gelsin.

Birinci ifade için çıktımız 1234 olurken ikinci ifade için tanımsız olacaktır. Peki, bu aralığın tersini almak mümkün mü? Gayet tabii.

Burada çıktımızın 4321 olmasını bekleriz.

Peki, son elemanı içermeyen bir aralık oluşturmak istersek bunu nasıl yaparız? Until fonksiyonu ile.

Tam olarak gösterimi ise şu şekilde olmaktadır: [1, 10)

WHILE

Döngüsel işlem veya tekrarlı işlem (iterasyon, İng. iteration), bilgisayarı aynı işlem grubunu belirli bir koşul sağlanana kadar tekrar tekrar yapmak için yönlendirir.” diye aktarmış Geleceğin Yazarları.

Bu tarz teknik tanımlarda daha evrensel cümleler kullanmaya özen gösteriyorum ki Türkçe Yazılım‘da belirli bir kalıp oluşturalım.

While döngüsü kullanımına dair genel kullanım örneği verelim:

Burada, x değeri 0’dan büyük olma koşulunu gerçekleştirmeye devam ettiği sürece döngü çalışacaktır.

Burada çıktımızın aşağıdaki gibi olmasını bekleriz:

DO WHILE

While döngüsünde belirlenen koşul döngünün başlangıcında bulunmaktadır. Bunun anlamı, koşulun false dönmesi halinde while bloğu çalışmayacaktır. Fakat, bazı zamanlarda while bloğunu bir kere de olsa çalıştırmamız gereken durumlarla karşılaşacağız. Bu tarz durumlarda ise Do While ifadesini kullanacağız.

Genel bir kullanım örneği verelim:

Kaynak ve İleri Okuma

Kotlin: Koşul İfadeleri

Kotlin‘de şartlı deyimler ve koşul ifadelerini inceleyelim. Bunun için IF Koşulu ve WHEN Koşulu üzerinde sözdizimine göz gezdirelim.

IF Koşulu

Koşullar, yazılım dillerinde önemli bir yere sahiptir. Kullanılan algoritmalarda şartlı deyimler olarak geçen bu ifadeler sayesinde veri çıktılarımıza ve diyagram akışımıza göre süreci düzenleyebiliriz. Türkçe’de eğer anlamına gelen IF, belirttiğimiz bir koşulun gerçekleşmesi durumunda istenen değerin döndürülmesini sağlar. Bununla ilgili hemen birkaç basit sözdizimi görelim.

Genel Kullanım

Yukarıdaki örnekte max değişkenine varsayılan olarak a değişkeni atanmış ve hemen altında bir if koşulu yazılmıştır. Eğer, a değişkeni b değişkeninden küçük ise max değişkenine b değişkeni atansın.

Bunu else kullanarak yapalım.

Else ile Birlikte Kullanalım:

IF koşulunda else ifadesi, tanımlanan koşula uymayan durumlarda kullanılır. Burada a değişkeninin b değişkeninden büyük olma koşulu tanımlanmış fakat; belirtilen koşula uymadığı için else ifadesi geçerli kılınmış, max değişkenine b değişkeni atanmış.

İfade Biçiminde Yazalım:

WHEN Koşulu

When ise C benzeri dillerin geçiş operatörü olarak kullanılmakta.

Genel Kullanım

Birden Çok Aralık

Kaynak ve İleri Okuma:

Kotlin: Temel Sözdizimine Genel Bakış

Kotlin ile ilk uygulamamızı yazalım ve temel seviyede Kotlin sözdizimine genel bir göz gezdirelim.

Merhaba Dünya

Yazılım dillerinin başlangıç klasiği “Hello World” ile başlayalım uygulamamıza. Öncelikle Intellij IDEA yazılımını çalıştıralım.

Create New Project ‘e tıklayalım ve açılan arayüzde Java sekmesi altında Kotlin (Java) seçeneğini işaretleyerek next diyelim.

Bir sonraki aşamada Project name  alanına ilkuygulama yazarak finish  diyorum.

Gerekli modüller yüklendiğinde bizleri sade bir arayüz karşılamakta.

Project  sekmesi altında yer alan uygulama dizininin altında yer alan src dizinine sağ tıklayalım ve New  ve Kotlin File/Class  yönergelerini takip edelim.

Öncelikle JAVA’da bunu nasıl yaparız ona bakalım, hemen ardından Kotlin ile yazalım.

Java ile “Merhaba Dünya”

Kotlin ile “Merhaba Dünya”

Kotlin’de bir diğer yazım biçimi olarak da {} kullanmak yerine =  operatörü ile daha kısa ifadeler elde edebiliriz. Intellij IDEA üzerine ilgili satırın üzerine alt+enter  kombinasyonları ile karşınıza çıkan seçenekte “Conver to expression body” seçeneği ile bu düzenlemeyi otomatik olarak gerçekleştirebilirsiniz.

Kotlin ile “Merhaba Dünya”

Kotlin’de Veri Tipleri

Kotlin’de veri tiplerinde ondalık sayı, tam sayı ve string ifadeleri inceleyelim. Burada ek anektod olarak değişken tanımlamalarında kullanacağımız val ve var farkına da değineceğim.

Burada myDecimal ondalık veri tipimizi, myNumber tam sayı veri tipimizi ve myString string veri tipimizi temsil etmektedirler.

Bir değişkeni tanımlarken var kullandığımızda mutable (değişken/değişebilir), val kullandığımızda ise immutable (değişmez) olmaktadır.

Kod bloğumuzun en sonunda, print(myString)  dediğimizde bizlere “En azından hayattayız…” çıktısını verir. Fakat böyle bir şeyi val  ile yapamayız.

Burada noktalı virgül kullanımı opsiyoneldir.

Kotlin’de Class ve Fonksiyon Yapısı

Kotlin üzerinde basit bir örnek bloğu yazdım. Eminim, zihninizde sözdizimi ve işleyiş biçimi adına faydası olacaktır. Bir class içerisinde fonksiyon tanımladım.

Burada Inmutable (değişmez) val ile name değişkenimin String bir ifade olduğunu belirttim ve değerine ismimi yazdım. Bir satır altında obj değişkenimin içerisinde Person classının içerisinde bulunan Disp fonksiyonuna değer gönderdik.

Class Person‘ın içerisinde tanımladığımız Disp fonksiyonunda ise gelen değeri print  fonksiyonu ile yazdırdık.

Burada dikkat ederseniz ${name} tarzında bir ifade kullandım. String bir ifade içerisinde değişken tanımlamanız için $ kullanmanız gerekmektedir. Peki, {} kullanmamızın amacı nedir?

${} ifadesini name.lastname tarzında birden fazla dizinin yazılmasında kullanıyoruz.

Bir Class Oluşturalım

Peki, harici bir Class nasıl oluşturabiliriz? Proje dizinimizde src üzerinde New diyelim ve yeni bir Package oluşturalım. Oluşturduğumuz Package’nin ismi com.persons olsun.

Oluşturduğumuz com.persons ‘ın içerisine yine New diyerek Kotlin File/Class diyelim ve Kind seçeneğinde Class‘ı seçelim.

Person içerisinde bulunan Person Class’ımızı bu dosyanın içerisinde tanımlayalım ve Person içerisinde import edelim.

Bu sayede harici Class‘lar üzerinde de çalışabiliriz.

Kotlin’de Yorum Satırları

Birçok yazılım dilinde de kullandığımız sözdizimi burada da geçerli. Burada iki farklı şekilde  // Yorum ve  /* Yorum */ olmak üzere yorum satırlarını tanımlayabiliriz.

Kotlin: JAVA JDK ve IntelliJ IDEA Yükleyelim

Kotlin için ihtiyacımız olan yazılımları yükleyelim. JAVA JDK ve Intellij IDEA kurulumlarını gerçekleştireceğiz.

Java JDK

Google’da JAVA JDK araması yaptığımda karşıma çıkan ilk sonuca tıklıyorum. Buradan kendi işletim sisteminizi göz önünde bulundurarak Java SE Development Kit ‘i indirelim.

Linux’ta indirilen klasörde uçbirim açalım.

Eğer ki lib  dizini altında jvm  dizini yok ise mkdir komutu ile oluşturabilirsiniz.

JDK dizinimizin yollarını tanımlayalım. Uçbirimde /etc/profile dosyasını metin editörü ile açalım ve aşağıdaki komutları dosyanın en sonuna ekleyelim.

Cihazımızı yeniden başlatalım. Uçbirimde java -version komutunu girelim. Çıktımız aşağıdakine benzer olmalıdır.

IntelliJ IDEA

Kotlin için kullanacağımız IntelliJ IDEA yazılımını kendi sitesinden indirelimCommunity sürümü ücretsiz olarak yayınlanmakta.

Linux için, bin  dizini içerisinde idea.sh  dosyasını uçbirimde çalıştırmak yeterlidir.

Kotlin için ihtiyacımız olan her şeye sahibiz.

 

Kotlin’e Giriş

Merhabalar, Kotlin derslerine başlamadan önce basit ama anlaşılır bir girizgah yazmak istedim. Buna bağlı olarak; aşağıda bazı maddelere yer verdim. Kısa cümlelerle konuya az çok hakim olmanızı amaçlayan bir konsept üzerinde ilerleyeceğim.

  • Google I/O (Innovation in the Open/Açık Yenilik) 2017 toplantısında Android‘in resmi dili seçilmiştir.
  • JetBrains tarafından geliştirilmektedir.
    • Kotlin yazarken kullanacağımız IDE (IntelliJ IDEA) JetBrains geliştirmektedir.
    • Android Studio, IntelliJ IDEA’nın üzerine inşaa edilmiştir.
  • Java’dan daha esnek ve güçlü bir yapıya sahip.
    • Sözdizimi daha anlamlı ve kısa.
    • Güvenlik özellikleri uygulamalarınızı daha sağlıklı geliştirebilirsiniz.
    • Uygulamalarınızda daha fazla performans elde edebilirsiniz.
  • Java Sanal Makinesı’ni kullanır.
  • Matematik ve bilgisayar bilimleri üzerine (High Order Functions) destekler.
  • Kotlin ve Java birlikte çalışabilirler.

Kotlin ve Java üzerine daha birçok madde yazılabilir ve irdelenebilir belki ama şimdilik bizlere bu kadar maddenin yeterli olacağını düşünmekteyim.

Ben Kotlin dersleri sürecinde Linux işletim sistemi ile devam edeceğim. Sizin kullanıdığınız sistemlerle bazı farklılıklar olabilir. Bunları araştırarak öğrenebilirsiniz.