Hemen hemen her dilde olduğu gibi Java'daprogramlama, belirli bir kod parçasının veya adı verilen döngülerin birden çok tekrarını sağlamak için araçlar vardır. Java'daki döngüler, for ve while gibi ifadelerle ve bunların varyantlarıyla temsil edilir. Kural olarak, döngüler, belirli öğeleri ve bunlarla daha ileri işlemleri bulmak için tek boyutlu ve çok boyutlu diziler ve yinelenebilir veri yapıları (koleksiyonlar dahil) üzerinde yinelemek için kullanılır. Ancak, Java Loop gibi bir aracı kullanmanın tek yolu bu değildir. Kullanım örnekleri dikkate alındığı gibi verilecektir.
Java while döngüsü: açıklama ve örnekler
Java'daki temel döngü operatörüsüre. Gövdesi içinde yer alan kod parçası, gerçeğin boole değerini sağladıktan sonra parantez içine alınan ifadenin koşulu olduğu sürece tekrarlanacaktır. While ifadesinin genel şekli aşağıdaki gibidir:
while (koşul) {
// döngünün gövdesi
}
Mantıksal koşulun değeri doğru olmaktan çıkar çıkmaz, döngünün gövdesine eklenen kodun yürütülmesi duracak ve kontrol, hemen ardından gelen satıra aktarılacaktır.
Netlik sağlamak için aşağıdaki şekilde gösterilen örneğe bakalım:
Bildirilen değişken sayısı başlangıçtadeğer 1. Ardından, operatörün adından sonra parantez içine alınmış bir boole ifadesi görüyoruz. Doğru olacak, yani count değişkeninin değeri 10'dan küçük veya ona eşit olduğu sürece true değerini döndürür. Döngünün gövdesinde, her geçişte (yineleme), değişkenin değeri 1 artırılır ve konsol ekranında görüntülenir. Değişken 11'e ulaştığında döngünün çalışmasının durduğuna dikkat edin.
Sayım değişkeninin değeri başlangıçta 11'e eşit olsaydı, döngü koşulu yanlış olurdu ve program onun gövdesine bile girmeyecekti.
Java sözdiziminin,vücut olmadan bir while cümlesi kullanın. Bir örnek verelim. İ = 100 ve j = 200 olmak üzere iki değişkenimiz olduğunu varsayalım, bunların aritmetik ortalamasını programlı olarak hesaplama göreviyle karşı karşıyayız - bunun için "boş" iken şu durumlarda kullanabilirsiniz:
süre (++ i <- j);
Sonuç olarak, iki değişkenden birinin değeri, başlangıç değerlerinin ortalamasına eşit olacaktır. Gördüğünüz gibi, döngü bir vücut olmadan iyi çalıştı ve gerekli tüm eylemleri koşullu bir ifadede gerçekleştirdi.
Do-while döngüsü
Önceki örneklerde, koşullu ifadebaşlangıçta false döndürür, sonra program yürütme döngünün gövdesini yok sayar ve devam eder. Bununla birlikte, koşullu ifadenin doğruluğuna bakılmaksızın, genellikle döngünün gövdesinde yer alan kodun çalıştırılmasının en az bir kez zorunlu olduğu durumlar ortaya çıkar. Başka bir deyişle, koşullu bir ifadenin doğruluğunu döngünün başında değil, döngünün sonunda kontrol etmek gerekir. While döngüsünün do-while adı verilen bir varyasyonu bu işlevi sağlayabilir. Aşağıdaki forma sahiptir:
yapmak {
// döngünün gövdesi
} while (koşul);
Gördüğümüz gibi, önce döngünün gövdesi uygulamaya gider ve ancak o zaman koşulun doğruluğu kontrol edilir - ve böylece her yinelemede.
Yukarıdaki kod şöyle çalışacaknormal bir süre durumunda olduğu gibi. Bununla birlikte, 11 değerini değişken count'a atamış olsaydık, operatör ifadenin doğru olup olmadığını kontrol etmeden önce döngünün gövdesi yine bir kez çalıştırılırdı.
Açıklama ve örnekler - Java döngüsü
For döngüsü çok yönlüdür veJava'da etkili bir dil formu. Java SDK'nın beşinci sürümünden önce, for ifadesinin yalnızca bir geleneksel biçimi vardı ve sonra her biri için yeni bir tane ortaya çıktı. Bu bölümde, operatörün geleneksel formu ile tanışacağız. Java için döngü şuna benzer:
Kontrol vücuttaki koda aktarılmadan öncedöngü, ilk olarak i değişkeni bir sayaç görevi görecek şekilde başlatılır. Daha sonra, sayacın belirli bir değerle karşılaştırıldığı bir koşullu ifade kontrol edilir ve eğer true döndürürse, döngünün gövdesi çalıştırılır. Daha sonra sayaç değeri önceden belirlenmiş bir adımla değiştirilir ve koşullu ifade tekrar kontrol edilir ve koşul yanlış hale gelene kadar bu şekilde devam eder. Aşağıdaki akış şeması, döngünün tüm aşamalarını göstermektedir.
Daha iyi bir anlayış için, Java için döngüsünün nasıl çalıştığına dair bir örnek aşağıda verilmiştir:
Sayacın kullanıldığını görüyoruzdeğişken loopVal. Döngünün her yinelemesinden sonra, değeri 1 artar ve bu, 11'e ulaşana kadar devam eder. Kontrol değişkeninin for ifadesinin dışında bildirilebileceğini, ancak bu değişkeni a dışında herhangi bir yerde kullanmayacağınıza dikkat edin. döngü, bunu doğrudan ifadede bildirmeniz önerilir. İfadede belirtilen bir değişkenin kapsamının bu döngünün kendi içinde olduğunu unutmayın.
Beyan etmeniz gereken durumlar vardırdöngüyü kontrol eden birkaç değişken. Java için döngü, virgülle ayrılmış iki veya daha fazla değişkeni belirlemenize olanak tanır ve bu, hem başlatma sırasında hem de yineleme sırasında yapılabilir. Böyle bir operatör şöyle görünecek:
for (int i = 1, int j = 10; i <j; ++ i, --j) {}
Her yinelemede, i değişkeninin değeri 1 artacak ve j değişkeninin değeri 1 azalacaktır. Yinelemeler, i j'den büyük ya da ona eşit olana kadar gerçekleştirilecektir.
For operatörünü kullanmanın özellikleri
For döngüsü oldukça esnektiryapı, çünkü üç parçasının tamamı (başlatma, koşul ve artırma / azaltma) etiket dışı kullanılabilir. Örneğin, kontrol değişkenli bir koşullu ifade yerine herhangi bir boole değişkenini değiştirebilirsiniz.
boolean output = false;
for (int i = 0 ;! exit; ++ i) {
exit = true;
}
Yukarıdaki örnekte, işin nasıl olduğunu gözlemleyebiliriz.döngü, kontrol değişkeni i'den tamamen bağımsızdır ve yinelemelerin sayısı yalnızca değişken çıkışın gerçek olduğu ana bağlıdır. Üstelik, kontrol değişkeni döngüden tamamen çıkarılabilir ve bu, çalışmasını hiçbir şekilde etkilemeyecektir: for (;! Çıkış;) {}. Programlamanın en akıllı yolu olmasa da, bazen faydalı olabilir. Asıl mesele, değişkenin döngüden çıkmak için gerekli değeri alacağı, böylece onu sonsuza dönüştürmeyeceği bir durumu öngörmektir.
Java için böyle bir döngü bildirilebiliryol: (;;) {} için. Bu, özel kesme koşullarına sahip sonsuz bir döngünün tipik bir örneğidir. Bu tür döngüleri nasıl keseceğimizi biraz sonra konuşacağız.
Her döngü için
Java foreach döngüsü her zaman için geçerlidirBir dizinin veya herhangi bir veri yapısının öğelerinin sıralı olarak numaralandırılması ve bunlar üzerinde belirli tekrarlı işlemlerin gerçekleştirilmesi. Bu for ifadesinin bir örneği aşağıda gösterilmiştir:
Yineleme değişkeni bildirildiname ve önceden bildirilen dizge adları dizisi, işleç için ikinci argüman görevi görür. Değişken adı, tüm öğeleri alınana kadar sırayla dizinin her öğesinin değerlerini alır. Değişkenin türünün dizide depolanan öğelerin türü ile uyumlu olması gerektiğine dikkat edilmelidir. Ayrıca isim değişkeni yalnızca okumak için kullanılabilir ve onu değiştirme girişimi dizideki öğenin kendisini değiştirmez.
Kesinti Döngü Operatörleri
Üç döngü kesme ifadesi vardır:kır, geri dön ve devam et. İlk ikisi döngünün çalışmasını tamamen kesintiye uğratabilirken, devam sadece mevcut yinelemenin çalışmasını kesintiye uğratabilir. Kodunuzda kasıtlı olarak sonsuz bir Java döngüsü kullanırsanız, bu operatörlerin içinde bulunması gerekir. Break kullanmanın basit bir örneğine bakalım:
Bu for deyimi 11 yineleme sağlasa da, yalnızca 8 çalıştırılacaktır, çünkü i sayacı 7 olduğunda, gövdede break deyimine sahip koşul tetiklenecektir.
Return ifadesi, yalnızca Java döngüsünden değil, aynı zamanda döngünün yerleştirildiği yöntemden de çıkması dışında benzer şekilde davranır.
Break'i bir goto olarak kullanma
Aranın kesintiye uğrayacağını unutmayın.sadece doğrudan bulunduğu vücuttaki döngü, yani. iç içe bir döngüde kullanırsanız, dış döngü sona ermeyecektir. Bunun için break ifadesi medeni bir goto biçimi olarak kullanılabilir.
Bu varyantta bu operatör,yalnızca döngülerden değil, aynı zamanda herhangi bir kod bloğundan da bir çıkış düzenlemenizi sağlayan bir etiketle birlikte. Etiket, uygun şekilde adlandırılmış bir tanımlayıcı ve ardından iki nokta üst üste işaretidir. Etiket, işaretlenecek kod bloğunun başında bildirilir. İşaretli bir bloğun yürütülmesini durdurmak için doğru yerde bildirmelisiniz: break tag_name. Aşağıdaki şekildeki örneği düşünün:
Kod, One etiketlerinin adlarıyla üç blok bildirir,Sırasıyla İki ve Üç. Two etiketli break deyimi üç bloğun hepsinde yuvalanmıştır, ancak tetiklendiğinde program Üç ve İki bloktan çıkacak ve Bir blokta çalışmaya devam edecektir. Şunlar. konsolda iki mesaj göreceğiz: Üç ve Bir.
Sonuç
Java'daki döngüler kavramıyla tanıştık,ana while ve for cümlelerinin yanı sıra bunların do-while ve her form için sırasıyla. Daha iyi bir anlayış için, bu operatörleri çeşitli şekillerde kullanarak alıştırmalar yapmayı ve aynı zamanda onları kesintiye uğratmanın ve bir bloktan diğerine geçmenin çeşitli yollarını öneriyoruz.