Merhaba, aşağıda belirteceğim kodlar arasında mantık olarak fark yok lakin birinde sayaç değerini 0'dan alırken diğerinde 1'den alıyor. Sebebini açıklayacak bir babayiğit çıkar mı?
Kod:
package com.mycompany.dongu;
public class Dongu {
public static void main(String[] args) {
for(int i = 0; i<10; i++){
System.out.println("Mevcut sıra: "+i);
}
}
}
Diğer kod;
Kod:
package com.mycompany.dongu2;
public class Dongu2 {
public static void main(String[] args) {
int i = 0 ;
while(i<10){
i++;
System.out.println("Mevcut sıra: "+i);
}
}
}
Yanıtın için teşekkürler, denedim ve farkı anlamamda yardımı oldu.
Daha sonradan bu sayfayı okuyacak arkadaşlar için aldığım farklı bir açıklama;
İlk kod parçasında for döngüsü kullanılmış. Bu döngüde i değişkeni başlangıçta 0 değerini alır ve her iterasyonda (i++ ifadesiyle) bir artırılarak döngü devam eder. İkinci kod parçasında ise while döngüsü kullanılmış. İ değişkeni başlangıçta 0 olarak belirlenir, ancak döngünün içinde hemen artırılır (i++ ifadesiyle) ve her iterasyonda döngüye girilmeden önce i değeri artırılmış olur.
Yani aslında mantıksal olarak bir fark yok, ancak döngünün başlangıç değeri ve artırma işlemi farklı şekilde yapılmış. İlk kod parçasında bu işlemler for döngüsünün içinde bir arada yapılırken, ikinci kod parçasında while döngüsünde döngüye girilmeden önce artırma işlemi gerçekleştirilir. Bu nedenle for döngüsünde i değeri 0'dan başlar, while döngüsünde ise 1'den başlar.