Java Akademi - Döngüler

        Merhaba Arkadaşlar, Ben Erkam Emre DURSUN. Bu dersleri hazırlama amacım, sizlere Java'nın temellerini ayrıntılı bir şekilde öğretmek, Java ile neler yapabileceğinizi göstermek, okul derslerinizi desteklemek ve Java ile istekleriniz ve amaçlarınız doğrultusunda ürünler ortaya çıkarabilmenizi sağlamaktır. Bu derslerin diğer yüzlerce Java dersinden farklı olabilmesinin sebebi, ister metinler üzerinden, ister video üzerinden, isterseniz evde, okulda veya otobüs gibi bir çok yerden ulaşabileceğiniz mobil uygulamalar ile istediğiniz yerden ulaşabileceğiniz dersleri takip ve tekrar edebilmeniz aynı zamanda pratiğe dökebilmenizdir. Umarım faydalı olur, Teşekkürler.


Döngüler

        Programlarda bazı olaylar sürekli veya belli bir sayıda tekrarlanır. Örneğin en basit örnek olarak 1'den 100'e kadar olan sayıları ekrana yazdıracak bir program hazırlarken, sayıları 1'den 100'e kadar teker teker yazmak uzun sğrerken, bögü ile bir kaç satırda bu işlemi yapabiliriz. Bazen ise döngüler program çalıştığı sürece ya da klavye üzerinden bir buttona basılı tutulduğu süre boyunca çalışır. Örneğin video oyunlarındaki yürüme işlemi 'w' karakterine bastığımız sürece kendini bir döngüye sokarak yapılır. Elektronik devrelerde devre güç aldığı sürece bir LED'in(ışık kaynağı) sürekli 1 saniye yanıp 1 saniye sönmesi işlemi döngüler ile yapılır. Yaşadığımız evrende 4 mevsimin sürekli birbirinin ardına gelmesibir döngü örneği olarak verilebilir. Java'da while, do-while ve for olmak üzere üç farklı döngü çeşidi vardır.


While Döngüsü


        While döngüsünde bir koşul oluştururuz ve döngümüzün içerisindeki kodlar koşul sağlandığı sürece çalışır. Örneğin 0'dan 10'a kadar olan sayıları ekrana yazan bir programı while döngüsü ile yapalım. Aşağıdaki döngüde 'i' değişkeni 10'a eşit olduğu sürece döngü çalışmaya devam eder ve 'i++' kodu ise döngü her çalıştığında 'i' değişkeninin değerini 1 arttırır.

package donguler;

public class Donguler {
public static void main(String [] args) {
int i = 0;
while(i <= 10) {
System.out.println(i);

i++;
}
}

}



Faktoriyel Hesabı


        While döngüsünde bir koşulun en başta belirtilmesi ayırt edici bir özelliktir. 1'den 5'e kadar olan sayıların faktöriyel değerlerini ekrana yazdıran bir program örneği:

package donguler;

public class Donguler {
public static void main(String [] args) {
int faktoriyel = 1;
int carpan = 1;
while(faktoriyel <= 5) {
carpan = carpan * faktoriyel;
System.out.println(faktoriyel + " faktoriyel = " +carpan);
faktoriyel++;
}
}

}


Do-While Döngüsü


        Do-while döngüsünün mantığı while döngüsü ile oldukça benzerdir. Bu döngüde while komutu döngünün başında değil sonunda yer alır.

package donguler;

public class Donguler {
public static void main(String [] args) {
int sayac = 1;
do {
System.out.println("Sayaç = " + sayac);
sayac++;
}while(sayac<6);
}

}


        Do-while döngüsü ile while döngüsü arasındaki bir başka fark ise do-while döngüsü şartın sağlanıp sağlanmadığına bakılmaksızın en az bir kere çalışır. Ancak while döngüsünde şart sağlanmıyorsa döngü hiç çalışmaz.

package donguler;

public class Donguler {
public static void main(String [] args) {
int sayac = 1;
do {
System.out.println("Sayaç = " + sayac);
sayac++;
}while(sayac>6);
}

}


For Döngüsü


        For döngüsünde değişkenin başlangıç değeri, koşul ve matematiksel işle döngünün en başında tanımlanır. Örneğin while döngüsü ile ekrana 0 ile 10 arasındaki sayıları yazan programı birde for döngüsü ile yazalım.

package donguler;

public class Donguler {
public static void main(String [] args) {
for (int i = 0; i<= 10; i++) {
System.out.println(i);
}
}

}


        For döngüsü ile 1'den 10'a kadar olan sayıların toplamını bulalım:

package donguler;

public class Donguler {
public static void main(String [] args) {
int sonuc = 0;
for (int i = 0; i<= 10; i++) {
sonuc = i + sonuc;
}

System.out.println(sonuc);

}

}


For döngüsü ile 1 ile 100 arasında 11'e tam bölünebilen sayıları ekrana yazan bir program yapalım.

package donguler;

public class Donguler {
public static void main(String [] args) {

for(int i = 1; i <= 100; i++) {
if(i%11 == 0) {
System.out.println(i + " sayisi 11'e tam bölünür.");
}
}
}

}



        Dersi takip ettiğiniz için teşekkürler, dersleri video olarak görmek isterseniz, aşağıda bıraktığım Youtube linkinde bulabilir, ve aynı zamanda android telefonlar için Google Play Store'da Java Akademi uygulamasını bulabilirsiniz. İyi çalışmalar dilerim.

Yorumlar

Popüler Yayınlar