Mark Zuckerberg, bilgisayarların komutların tekrarında gerçekten iyi olduğunu fark ettiğinde. Bir insan için basit değil, aynı şeyi defalarca tekrarlamaktan bıktık ama bir bilgisayar bunu milyonlarca ve milyarlarca kez yapabilir ve asla sıkılmaz. Tüm Facebook kullanıcılarına selam göndermeye kalkarsanız, bunu yapacak kadar günleri olan bir insan yoktur. Ancak birkaç satır kod yazarak bu görevi çözecek bir bilgisayar yapabilirsiniz. Döngüler böyle çalışır. Aynı rutin eylemleri tekrar etmememize izin verdiler. Java'daki en popüler döngü, sözde tanımlanmış döngü veya for döngüsüdür.
Java'da bir for döngüsü nasıl yazılır? Genel olarak döngü için
For döngüsü, bazı ifadeleri belirli sayıda yürütür. Örneğin, elli kez “Öyle, ho-ho, ho olmamalıyım” yazmak veya tüm arkadaşlarınıza davetiye göndermek, bu tür bir döngü için tipik görevlerdir. En yaygın for döngüsünün sözdizimi:
for ([counter initialization]; [checking conditions]; [changing of the counter])
{
// statements
}
Başlatma ifadesi bir kez yürütülür, ardından bir boole ifadesi olması gereken koşul değerlendirilir.
- Döngü başladığında, başlatma işlemleri yürütülür.
- Koşullar yanlış olarak değerlendirildiğinde döngümüz çalışmayı durdurur.

Java'da for döngüsü nasıl kullanılır? Basit örnek.
İşte döngü örneği için belirli bir Java. On kere "Merhaba!" yazalım. String her seferinde bu satırın bir numarası ile yeni satırdan olur. Bir sonraki çıktıyı almalıyız:- Merhaba!
- Merhaba!
- Merhaba!
- Merhaba!
- Merhaba!
- Merhaba!
- Merhaba!
- Merhaba!
- Merhaba!
- Merhaba!
public class ForExample {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(i + 1 + ". Hello!");
}
}
}
Nasıl çalışır?
Adım 1. Sayaç i = 0. Döngü durumumuzu kontrol eder, i << 10, dolayısıyla döngü ifadeleri yürütülür. "1. Merhaba!" ifadesini yazdırır. 1, i + 1 dizisidir (çünkü sıfırdan saydık, ancak ilk satır hala ilk). Sayaç i artırılır. Şimdi, i = 1. Adım 2. Sayaç i = 1. i < 10, yani "2. Merhaba!" ve i + 1 = 2. … Adım 10. Sayaç i = 9, "10. Merhaba!" ve i, 10'a yükseltilir. Adım 11. Sayaç i = 10. i < 10 ? Hayır, bu yanlış. Bu nedenle, döngü sona erer.
While döngüsü ve for döngüsü: farklılıklar ve benzerlikler
Java'da belirsiz döngü veya while döngüsü, boole koşulu gerçekleşirse sürekli olarak yürütülür. While döngüsünün sözdizimi:
while (boolean condition)
{
loop statements...
}
Çoğu zaman hangi döngüyü kullanmak istediğinizi seçebilirsiniz. Bazen çok yakınlar ve ikisini birden kullanabilirsiniz. Örneğin, aynı görev için kod (satırın bir numarasıyla birlikte on kez "Merhaba!" yazarak) while döngüsü ile yazılmıştır:
public class ForAndForEach {
public static void main(String[] args) {
int j = 0; // we use the counter this way
while (j < 10) {
System.out.println(j + 1 + ". Hello!");
j++;
}
}
}
Ancak, profesyonel programcılar while döngüsünü pek sevmezler ve mümkün olan her yerde for döngüsünü kullanmaya çalışırlar.
İÇİN | SIRASINDA |
---|---|
Yineleme sayısını zaten biliyorsak, for döngüsünü kullanırız. |
İterasyon sayısını tam olarak bilmiyorsak while döngüsünü kullanırız. |
Başlatma, durum kontrolü ve sayaç değiştirme zaten bir döngünün sözdiziminde birleştirilmiştir. |
Döngü içinde başlatma ve durum kontrolü. Ek olarak, ifadelerde sayaç kullanabilirsiniz. |
Şunlar için sonsuz döngü:
|
Sonsuz döngü sırasında:
|
Java'da bir for döngüsünden nasıl çıkılır
Genellikle bir for döngüsü bir akış gibi çalışır ve bir döngüden çıkmanın doğal yolu, bir koşulun yanlış bir değer almasıdır. Ancak, bir koşulun yanlış değerini almadan önce döngüden çıkmanıza izin veren iki kontrol ifadesi vardır - break ve devam et.- break, döngü koşulu yanlış olarak değerlendirilmiş gibi geçerli döngü gövdesinden çıkmayı sağlar.
- devam et, ifadeleri yürütmeden döngünün bir sonraki adıma (sayacı yineleyerek) atlamasını sağlar.
public class ForBreakExample {
public static void main(String[] args) {
String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
for (int i = 0; i < names.length; i++) {
// how to break out of a for loop, java: check if we have any "Stranger" in // our array
if (names[i].equals("Stranger")) {
System.out.println("I don't chat with strangers");
break;
}
System.out.println("Hello," + names[i]);
}
}
}
Program yürütmemizin sonucu:
Hello,Mike
Hello,Dustin
I don't chat with strangers
Görmek? Lucas ve Will'i karşılamadan önce döngüden kaçtık. Şimdi devam et'i kullanalım, sadece bir "Yabancıyı" yok saymak ama diğer arkadaşlara merhaba demek için döngünün içinde kal.
public class ForContinueExample {
public static void main(String[] args) {
String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
for (int i = 0; i < names.length; i++) {
if (names[i].equals("Stranger")) {
System.out.println("I don't chat with strangers");
continue;
}
System.out.println("Hello," + names[i]);
}
}
}
Sonuç:
Hello,Mike
Hello,Dustin
I don't chat with strangers
Hello,Lucas
Hello,Will
Harika! Bütün arkadaşlarla selamlaştık ama bir yabancıyla konuşmadık.
for döngüsü veya for-each'in gelişmiş versiyonu
For-each, bir dizinin veya koleksiyonun tüm öğelerini işlemeniz gerektiğinde kullanılan bir tür for döngüsüdür. Aslında, for-each ifadesi bu döngüde kullanılmaz. Sözdizimi aşağıdaki gibidir:
for (type itVar: array)
{
Block of operators;
}
type, yinelemeli değişkenin türü olduğunda (dizinin veri türüyle aynı), ItVar onun adıdır, dizi dizidir veya ArrayList gibi başka bir veri yapısı olabilir. Gördüğünüz gibi, sayaç yok, yineleme değişkeni bir dizinin veya koleksiyonun öğeleri üzerinde yineleniyor, dizin değerleri üzerinde değil. Böyle bir döngü yürütüldüğünde, yineleme değişkenine sırayla dizinin veya koleksiyonun her bir öğesinin değeri atanır ve ardından belirtilen ifade bloğu (veya işleç) yürütülür. Dikkat: for-each döngüsü, java.lang.Iterable arabirimini uygulayan dizilere ve tüm sınıflara uygulanabilir. Aynı sorunu arkadaşlara selam vererek, yabancıları ("Yabancı") yok sayarak çözelim ama bu sefer for-each döngüsünü kullanalım.
public class ForEachExample {
public static void main(String[] args) {
String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
// for each loop, Java code
for (String name : names) {
if (name.equals("Stranger")) {
System.out.println("I don't chat with strangers");
continue;
}
System.out.println("hello, " + name);
}
}
}
Öğrendiklerinizi pekiştirmek için Java Kursumuzdan bir video dersi izlemenizi öneririz.
Daha fazla okuma: |
---|
GO TO FULL VERSION