Sıfırdan Java programlama dersleri serisine  “ Java Programlama Dersleri, Döngüler” konusu ile devam ediyoruz.

Döngüler, programlama dillerinde belirli şartlar dahilinde sürekli işlenmesini istediğiniz kodlar için kullanılır. 100 kere çalışmasını istediğiniz bir kod parçası düşünün ve siz aynı kodları 100 kere yazmak yerine bir döngü içerisinde 100 kere işletiyorsunuz.

Java Programlama Dili içerisinde dört çeşit döngü vardır. Bunlar :

while Döngüsü

 

while döngüsü; while ifadesinin içerisindeki şart sağlandığı sürece while blok yapısı içerisindeki kodların çalışmasını sağlar. Şart sağlanmadığında döngüden çıkar. Bunu bir örnek ile ifade edelim. 0’den 8’e kadar ekrana sayılar yazan ufak bir uygulama yapalım :

İlk olarak sayi adında int tipinde değeri 0(sıfır) olan bir değişken tanımladık. Ekrana “Sayılar :” yazdıktan sonra derleyicimiz while döngüsü‘ne geçti.

while döngüsünün çalışma şartı ise sayi değerimizin 9 sayısından küçük olmasıdır. Bu şart sağlandığı sürece while blok yapısı içerisindeki kodlar işlenecek, bittiğinde tekrar while şartına gelinecek ve tekrar blok içerisindeki kodlar işlenecek ve tekrar şart kontrolü yapılacaktır.

Bu süreç şart sağlanmayana kadar devam edecektir. Döngü içerisinde ekrana, sayi değişkeninin değeri yazılmış ve sonrasında bu değer sayi++; ifadesi ile bir artırılmıştır.

sayi++; kodu olmasaydı while döngüsü için her zaman 0 < 9 olacağından döngüden hiç çıkılmayacak ve programımız sonsuz bir döngüye girmiş olacaktı.

sayi değeri artırılarak 9 olduğunda while şartı sağlanmayacağından döngüden çıkılacak ve ekrana “Sayma işlemi bitmiştir.” yazılacaktır. Programımızın çıktısı aşağıdaki gibidir :

Şimdi başka bir while döngüsü örneği yapalım. Bu uygulamamızda while döngüsünün farklı bir kullanımını göstereceğiz. Kodumuz aşağıdaki gibidir :

Kodumuzda i ve j adında farklı değerlere sahip int tipinde 2 ayrı değişken tanımladık. Sonra bunların başlangıç değerlerini ekrana yazdırdık. Diğer örneğimizden farklı bir while döngüsü karşımızda geldi.

while ( şart ) ; ifadesi içi boş bir while döngüsü kullanım metodudur. while döngüsü içerisinde işlenen bir kod olmadığından ; (noktalı virgül) ile ifade edilmiştir.

while (++i < –j) ; ifadesi ile her while döngüsü çalıştığında i değeri bir artırılırken j  değeri bir azaltılmıştır. Ta ki şart sağlanmayana kadar yani sayılar eşit olana kadar bu süreç devam edecektir. Normalde blok içerisinde yapılan değişken değeri değiştirme işlemi, şart kısmında yapılmıştır.

ifadesi ile

ifadesi aynı anlama gelmektedir. Bu kullanımı gereksiz bulabilirsiniz. Ancak bazı durumlarda siz aradaki işlemleri görmek istemeyip direk sonucu almak isteyebilirsiniz. Böyle durumlarda while döngüsünün bu kullanımı daha uygundur. Programımızın çıktısı aşağıdaki gibidir :

do while Döngüsü

 

do while döngüsü, while döngüsüne benzer. Ancak do while döngüsünde şart sağlansın ya da sağlanmasın blok içerisindeki kodlar en az bir kere işlenir. Böyle durumlar için kullanılır. Uygulamasını görelim:

Programımızda ilk olarak int tipinde sayi adında değeri 1 olan bir değişken tanımladık. Sonrasında ekrana “Sayma işlemi başlatıldı.” yazısı yazdırıldı. ve sonrasında do while döngüsüne geçildi.

do ile while arasındaki blokların şart sağlansın sağlanmasın en az bir kere işletildiğinden bahsetmiştik. Ekrana sayı değeri yazıldı ve sayi ++; ifadesi ile sayı değişkeninin değeri bir atırılarak 2 oldu. Sonrasında while (şart) kısmına geçildi.

2 < 9 olduğundan şart sağlandığından tekrar do kısmındaki bloklar işletilerek sayı değeri bir artırıldı 3 yapıldı ve sonrasında tekrar şart sağlanıp sağlanmama kontrolü yapıldı. Bu durum şart sağlanmayana kadar tekrar ederek şart sağlanmadığında ki bu 9 değeridir, döngüden çıkıldı.

Ekrana “Döngüden çıkıldı. Sayı değeri : 9” yazıldı. Programımızın çıktısı ise aşağıdaki gibidir :

Yukarıdaki program sayımız 1 den başlamamış olsaydı da direk 10 değeri ile başlamış olsaydı, do while içerisindeki blok bir kere işletilerek Sayı değeri yazılacak ve sonrasında şart sağlanmadığından döngüden çıkılacaktı. Uygulamasını görelim :

Şimdi de programımızı çalıştırıp sonucu görelim :

Sonuçtan da görüldüğü gibi şart sağlamamasına rağmen bir kez kodlar işlendi.

 

for Döngüsü

 

for döngüsü programlamada sıklıkla kullanılır.  Kullanım şekli aşağıdaki gibidir :

ilkDeger olarak belittiğimiz kısımda döngü için kullanılacak ilk değer atamaları yer alır. Şart kısmı diğer döngülerde olduğu gibi döngünün tekrar edebilmesi için gerekli olan şarttır. Artırma ifadesi ise döngü değişkenlerinin değerlerinin artırıldığı kısımdır. Basit bir uygulama yapalım :

Programımızda döngü değişkeni olarak int tipinde i değerini tanımlayıp ilk değer olarak 0(sıfır) ataması yaptık. Şart kısmında i < 5 ifadesi bulunmaktadır. i++ ifadesi de döngü değişkeninin değerini her defasında bir artıran ifadedir. Döngüye her girildiğinde ekrana i değeri yazdırılmıştır.

Programın sonucu aşağıdaki gibidir :

Şimdi for döngüsünün çalışma mantığını bizlere gösterecek basit bir kod yazalım. Sonrasında inceleyim. Kodumuz :

Kodumuz da bir önceki programdan farklı olarak i++; ifadesini ekledik. i=0 ile döngüye giren derleyici ekrana 0 (sıfır) değerini yazdıktan sonra i++; kodu ile i değerini 1 artırarak 1 yapacak sonra for döngüsündeki i++ koduna girerek değerini 2 yapacaktır.

Değeri 2 olan i, koşul kısmına girecek 2 < 5 olduğundan yani şart sağlandığından tekrar döngü bloğu içerisine girecektir. Ekrana 2 değeri yazdırıldıktan sonra i değeri artırılarak 3 yapılacak sonrasında for kısmında bir kez daha artırılarak 4 yapılacaktır.

Değeri 4 olan i tekrardan koşul kısmına gelecek ve 4 < 5 olduğunda şart sağlandığından döngüye tekrar girecek, değeri ekrana yazdırıldıktan sonra değeri bir atırılarak 5 olacak sonra for kısmında da bir artırılarak 6 olacaktır. Şart kısmına geldiğinde şart sağlanmadığından döngüden çıkılacaktır.

Programımızın çıktısı aşağıdaki gibidir :

Tek ve Çift Sayıları Yazdırma – Uygulama

 

Şimdi for döngüsünü belirli bir amaca yönelik  bir uygulama içerisinde kullanalım. Programımızda bir limit belirleyeceğiz. Ve limite kadar olan tek ve çift sayıları ekrana yazdıracağız. Kodumuz aşağıdaki gibidir :

Programımızda ilk olarak limit adında int tipinde bir değişken tanımlayıp 10 değerini atadık, Sonrasında ekrana “Çift Sayılar : ” yazdırdık. for döngüsünün kullanımında int tipinde sadece for döngüsü blokları içerisinde yaşayacak i değişkeni tanımlayarak 0 değeri ataması yapıldı.

İlk for döngümüz i=0 dan başlayarak i < limit yani i < 10 değeri sağlandığı sürece dönecek olan bir döngüdür. i değişkeni de i++ kodu ile birer birer artırılmıştır.

for döngüsü içerisine giren i  değerleri bir if yapısı içerisinde 2 ye bölünüp bölünmedikleri sorgulanıyor. Eğer 2 ye bölümlerinden kalan 0 ise yani 2 ye tam bölünüyorlarsa değerleri ekrana yazdırılıyor.

i%2 == 0 ifadesi sizler için bir anlam ifade etmiyorsa operatörler konusuna bakmanız tavsiye edilir.
if yapısı hakkında fikir sahibi değilseniz “if, switch karar kontrol yapıları” makalemizi okuyabilirsiniz.

İkinci for döngüsünde ise tek sayıların yazdırılması hedeflenmiştir. Bu for döngüsü içerisindeki if yapısı içerisinde 2 ye bölünmeyenler, yani tek sayılar yazdırılıyor.

Programımızın çıktısı aşağıdaki gibidir :

for Döngüsü (foreach Tarzı)

 

for döngüsünün bu kullanımı dizi yapıları ile alakalı olduğu için dileyenler bu konuya diziler konusundan sonra bakabilirler. foreach tarzı for döngüsü’nün kullanımı normal for döngüsünden biraz farklıdır. Genel olarak konuşacak olursak bir dizinin her bir elemanına tek tek erişimi sağlar.

Kullanımını görelim :

Diziler konusuna daha gelmediğimiz için en temellerden bahsederek anlatacağım. Dizileri tanımlarken değişkenlerden farklı olarak ayrıca [ ] operatörünü kullanırız. Bu operatör o değişkenin bir dizi olduğunu gösterir. Dizilere ilk değer ataması için de { , , ,} operatörünü kullanırız.

İlk başta diziSayilar adında 5 elemanlı int tipinde bir dizi tanımladık ve elemanların ilk değerlerini verdik. (14, 52, 74, 78, 96) Sonrasında ekrana “1.Dizinin Elemanları” yazısını yazdırdık.

for döngüsüne geldik. diziElemani olarak belirtilen int değişken, diziSayilar dizisindeki her bir elemanı tutacak olan değişkendir. diziSayilar dizisindeki her bir eleman diziElemani değişkenine aktarılarak ekrana yazılmış oldu.

Sonrasında ekrana “2.Dizinin Elemanları” yazısını yazdırdık ve  sayiDizisi adında ikinci bir dizi tanımlayarak içerisine elemanlarını yerleştirdik. Diğer for döngüsü gibi sayiDizisi elemanlarının her birini bu sefer int tipindeki eleman değişkeni vasıtasıyla ekrana yazdırdık.

Programımızın sonucu aşağıdaki gibidir :

Döngüler konusuna bundan sonraki makalelerimizde sıklıkla değineceğiz. Anlaşılmayan bir nokta varsa sorularınızı aşağıdaki yorum panelini kullanarak bizlerle paylaşırsanız seviniriz.

Pin It on Pinterest

Daha fazla Java
Java Programlama Dersleri, Karar Kontrol Yapıları If, Switch
Java Programlama Dersleri, Karar Kontrol Yapıları If, Switch

Sıfırdan Java programlama dersleri serisine  “Java Programlama Dersleri, Karar Kontrol Yapıları If, Switch” konusu ile devam ediyoruz. Karar Kontrol yapıları,...

Kapat