Turkcell | Geleceği Yazanlar

Soru & Cevap

Array test sorusu

03.11.2019 - 18:32

Cevap: 3.0,4.0,5.0 Açıklar mısınız?
 

public static void main(String[] args) {		
	double[] values = new double[10];
	int start = 10;
	for (int i = 1; i < values.length; --start) {
		values[i] = start / 2;			
		System.out.print(values[i] + "- -");
		i = i + 2;
	}		
}

 

618 Görüntülenme

1 Cevap

Arda Akdere
04.11.2019 - 23:36

Öncelikle 10 adet double türünde veriyi barındırabilecek bir dizi oluşturulmuş (double[] values = new double[10];)

integer türünde start adında 10 değerinde bir değişken oluşturulmuş(int start=10;)

for (int i = 1; i < values.length; --start)

 Yukarıdaki ifadede for döngüsü yaratılmış

Başlangıçta i değişkenine 1 değeri atanmış(int i=1)

 Bu for döngüsünün i değişkeninin dizinin boyutundan küçük olduğu sürece for döngüsünün tekrar edeceği yazılmış (i < values.length) yani i değişkeni 10'dan küçük olduğu sürece

ve son olarak (--start) her döngünün sonunda start değişkeninin 1 azalması gerektiğini söylüyor.

for 'un içine geçersek

values[i]= start/2 ifadesi örnek üstünden anlatmak gerekirse diyelim programı çalıştırdık.

for döngüsünün ilk seferinde i değerimiz 1'di o zaman values[1]=start/2 'ye eşitlenecek demektir. yani dizimizin 2. elemanının değeri o sıradaki start değerinin yarısına eşitlenecek ((Bilginiz var mı emin değilim ama söylemeden geçmeyeyim dizilerin 1. değeri array[0] 'a karşılık gelir.))

System.out.print(values[i] + "- -") ifadesi ekrana values[i] nin yani for döngüsünün ilk seferini baz alırsak values[1] in değeri olan start/2'i yani o anki start değeri 10 olduğuna göre 10/2 den 5 'i ekrana "values[1] = 5" şeklinde yazdıracaktır.

 

VE son olarak for döngüsünün içindeki son kod olan i= i+2; ifadesi i değerinin 2 artırılmasını söylüyor. Örneklemek gerekirse yeniden hep aynı örnek üzerinden gittim for döngüsünün ikinci seferi başladığında artık i değerimiz 3 olacaktır ( 1+2 den)

ve daha sonra tekrardan for döngüsünün şartlarına bakarsak yukarıda açıkladığımız (int i = 1; i < values.length; --start)

i değerimiz 3 olduğuna göre ve 3 <10 olduğuna göre for döngümüzün tekrar başlaması için bir sebep yok bu şart sağlanmayana kadar for döngüsü aktif olacaktır.

Son olarak çıktıdan bahsedeyim.

çıktı 

5.0- -4.0- -4.0- -3.0- -3.0- - şeklinde olacaktır anlattıklarımı takip edip anlayarak ilerlerseniz nedenini kolaylıkla anlayabileceğinize inanıyorum

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.