07 KASIM 2017
SALI
22.23
Youtube
Youtube kanalım açıldı! Daha detaylı ve güncel konu anlatımları için takip etmeyi unutmayın.
Java - Döngüler: FOR Döngüsü

Java programlama dilinde for döngüsünün kullanımına genel anlamda göz atacağız.

 

Tekrarlanma, sıralama, arttırma, azaltma, matematiksel ifadeler ve daha birçok alanda kullanılan döngülerden biri olan for döngüsü, 3 parametre alarak çalışmaktadır. Öncelikle for döngüsünün yapısını inceleyelim;

for (değişken başlatma; koşul; değişken arttırma/azaltma) {
	GERÇEKLEŞEN İŞLEM
}

şeklinde bir yapısı vardır.

Örneğin elimizdeki bir metni ekrana birden fazla defa yazdırmak istersek;

for(int i=0; i<5; i++) {
	System.out.println("Mert Topuz: www.merttopuz.com");
}

ve ekrana çıktısı da;

Mert Topuz: www.merttopuz.com
Mert Topuz: www.merttopuz.com
Mert Topuz: www.merttopuz.com
Mert Topuz: www.merttopuz.com
Mert Topuz: www.merttopuz.com

şeklinde olacaktır.


Buna benzer olarak 1'den 100'e kadar sayıları ekrana yazdırabiliriz;

for(int i=1; i<=100; i++) {
	System.out.print(i+" ");
}

ve çıktısı da;

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 

böyle olacaktır.


For döngüsünde bunların dışında 3. parametreyi şöyle değiştirebiliriz;

for(int i=1; i<=100; i += 2) {
	System.out.print(i+" ");
}

ve böylece 1'den 100'e kadar olan tüm tek sayıları yazdırmış oluruz;

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 

ÖRNEK

1'den 5'e kadar olan sayıların karelerini ekrana yazdır.

ÇÖZÜM

for(int i=1; i<=5; i++) {
	System.out.println("Karekök içinde "+i*i+" = "+i+" demektir.");
}

ÇIKTI

Karekök içinde 1 = 1 demektir.
Karekök içinde 4 = 2 demektir.
Karekök içinde 9 = 3 demektir.
Karekök içinde 16 = 4 demektir.
Karekök içinde 25 = 5 demektir.

FOR Döngüsünün Akış Şeması

FOR Döngüsü Örnekleri

ÖRNEK

For döngüsü kullanarak aşağıdaki şekli oluşturun.

ÇÖZÜM

System.out.println("<------->");
for(int i=1; i<=5; i++) {
	System.out.println("+\t+");
	System.out.println("    +");
}
System.out.println("<------->");

ÇIKTI

ÖRNEK

For döngüsü kullanarak 50 ile 60 dereceleri arasını fahrenheit cinsinden ekrana yazdırınız.

ÇÖZÜM

for(int c=50; c<=60; c++) {
	double f = c*1.8+32;
	System.out.println(c+" Derece = "+f+" Fahrenheit");
}

ÇIKTI

50 Derece = 122.0 Fahrenheit
51 Derece = 123.8 Fahrenheit
52 Derece = 125.60000000000001 Fahrenheit
53 Derece = 127.4 Fahrenheit
54 Derece = 129.2 Fahrenheit
55 Derece = 131.0 Fahrenheit
56 Derece = 132.8 Fahrenheit
57 Derece = 134.60000000000002 Fahrenheit
58 Derece = 136.4 Fahrenheit
59 Derece = 138.2 Fahrenheit
60 Derece = 140.0 Fahrenheit

ÖRNEK

Basit bir çarpım tablosu oluşturun.

ÇÖZÜM

for(int a=1; a<=10; a++) {
	System.out.print(a+"\t");
}
System.out.println();
for(int b=1; b<=10; b++) {
	System.out.print(b*2+"\t");
}
System.out.println();
for(int c=1; c<=10; c++) {
	System.out.print(c*3+"\t");
}
System.out.println();
for(int d=1; d<=10; d++) {
	System.out.print(d*4+"\t");
}
System.out.println();
for(int e=1; e<=10; e++) {
	System.out.print(e*5+"\t");
}

ÇIKTI

1	2	3	4	5	6	7	8	9	10	
2	4	6	8	10	12	14	16	18	20	
3	6	9	12	15	18	21	24	27	30	
4	8	12	16	20	24	28	32	36	40	
5	10	15	20	25	30	35	40	45	50	

İç İçe FOR Döngüsü

Birçok for döngüsünün iç içe kullanılması ile gerçekleştirilir. Nested Loop olarakta bilinen iç içe döngüleri örnekler üzerinden inceleyelim;

for(int a=1; a<=5; a++) {
	for(int b=1; b<=10; b++) {
		System.out.print((b*a)+"\t");
	}
	System.out.println();
}

Bu örneğimizde iç içe for döngülerini kullanarak aslında bir önceki örneğimiz ile aynı çıktıyı elde etmiş olduk;

1	2	3	4	5	6	7	8	9	10	
2	4	6	8	10	12	14	16	18	20	
3	6	9	12	15	18	21	24	27	30	
4	8	12	16	20	24	28	32	36	40	
5	10	15	20	25	30	35	40	45	50	

İç içe döngülerin çıktılarını hesaplarken adım adım gitmek gerekir. Öyle ki;

a = 1 iken;

b = 1 için ekrana a*b = 1*1 = 1 yazdır. Tab kadar boşluk bırak.

a = 1 iken;

b = 2 için ekrana a*b = 1*2 = 2 yazdır. Tab kadar boşluk bırak.

a = 1 iken;

b = 3 için ekrana a*b = 1*3 = 3 yazdır. Tab kadar boşluk bırak.

...

a = 1 iken;

b = 10 için ekrana a*b = 1*10 = 10 yazdır. Tab kadar boşluk bırak.

Alt satıra geç. Dıştaki döngüyü kontrol et. a = 2 ve a<=5 olduğuna göre;

a = 2 iken;

b = 1 için ekrana a*b = 2*1 = 2 yazdır. Tab kadar boşluk bırak.

a = 2 iken;

b = 2 için ekrana a*b = 2*2 = 4 yazdır. Tab kadar boşluk bırak.

a = 2 iken;

b = 3 için ekrana a*b = 2*3 = 6 yazdır. Tab kadar boşluk bırak.

...

a = 2 iken;

b = 10 için ekrana a*b = 2*10 = 20 yazdır. Tab kadar boşluk bırak.

Alt satıra geç. Dıştaki döngüyü kontrol et....

gibi kontrol aşamaları bizleri karşılar.

ÖRNEK

Aşağıdaki şekli nested loop kullanarak oluşturun.

ÇÖZÜM

for(int a=10; a>=1; a--) {
	for(int b=1; b<=a; b++) {
		System.out.print("*");
	}
	System.out.println();
}

ÖRNEK

Aşağıdaki şekli nested loop kullanarak oluşturun.

ÇÖZÜM

for(int a=1; a<=10; a++) {
	System.out.print(a);
	for(int b=10; b>a; b--) {
		System.out.print("*");
	}
	System.out.println();
}
YORUMLAR 1
0
bilal fatih duran
13 ARALIK 2020 - 14.41
"For döngüsü kullanarak 50 ile 60 dereceleri arasını fahrenheit cinsinden ekrana yazdırınız" sorunuzun çözümünde "f" değişkenini döngü içinde tanımlamışsınız. Ben döngüden önce döngü dışında tanımladım ve döngüde f değişkenini yazdırma komutu verdim. Fakat derleyici hata verdi. Neden döngü dışında tanımlayamıyoruz?
CEVAPLA
4
Mert Topuz
15 ARALIK 2020 - 12.08
f değişkenini döngü dışında da tanımlayabilirsiniz fakat atama işlemini döngü içerisinde yapmalısınız. Çünkü for döngüsünü incelersek "c" değişkeni döngü içerisinde kullanılmak için oluşturuldu. f değişkenine c değişkenini for döngüsü dışında atayamayız. Ama şöyle bir kullanım doğru olabilir: double f; for(int c=50; c<=60; c ) { f = c*1.8 32; System.out.println(c " Derece = " f " Fahrenheit"); }
YORUM BIRAK
Şuanda bu yoruma cevap yazıyorsunuz:
İptal Et