JAVA’DA DÖNGÜLER
Kontrol Deyimleri/İfadeler Kontrol deyimleri bir uygulamanın yürütülmesi sırasında program akışını yönlendiren yapılar/kalıplardır. Kontrol deyimi olmaksızın bir uygulama yazılması neredeyse olanaksızdır denilebilir. Java programlama dilinde toplam 4 adet kontrol ifadesi bulunur
Döngü : while, do-while, for Karşılaştırma : if-else, switch-case Dallanma : break, continue, label:, return İstisna : try-catch-finally, throw
Döngü Deyimleri
Döngü deyimleri aynı işlemin farklı parametre değerleri üzerinde yapılması için kullanılan yineleme/tekrarlama işleri için kullanılır. Java’da C dilinde olduğu gibi while, do-while ve for olarak adlandırılan üç farklı döngü deyimi vardır.
while Döngü Deyimi while deyimi belirli bir grup kod öbeğini döngü koşulu doğru (true) olduğu sürece devamlı yineler. Genel yazım şekli aşağıdaki gibidir:
Program akışı while deyimine geldiğinde döngü koşuluna bakılır; olumlu/doğru ise çevrime girerek çalışması istenen kod öbeği yürütülür; yineleme döngü koşulu olumsuz/yanlış olana kadar sürer.
Örnek: WhileOrnek.java
Örnek Uygulama 1’den n(kullanıcıdan alınan üst sınır)’e kadar olan değerlerin toplamını bulup sonucu ekrana yazdıran bir java programı yazınız!
do-while Döngü Deyimi Bu döngü deyimde koşul sınaması döngü sonunda yapılır; dolayısıyla çevrim kod öbeği en az bir kez yürütülmüş olur. Genel yazım şekli ve çizimsel gösterimi aşağıdaki gibidir
Örnek: WhileDoOrnek.java
for Döngü Deyimi for deyimde çevrim işlemleri daha bir derli toplu yapılabilir; bu döngü deyiminde koşulda kullanılan çevrim değişkeni, koşul ifadesi ve çevrim sayacı artımı for ifadesi içerisinde verilir. Genel yazım şekli ve çizimle gösterilmesi aşağıdaki gibi verilebilir:
Görüldüğü gibi for deyimi içerisinde “;” ile ayrılmış 3 parametre vardır; birincisi çevrim sayacı, ikincisi koşul ifadesi ve üçüncüsü de sayacın artım miktarı ifadesidir. Eğer, kodun daha önceki kısımlarda sayaç değişkeni halıhazırda varsa başlangıç, artışı kod öbeği kısmında yapılıyorsa artış bilgisi verilmeyebilir. Bu durumda bu alanlar bol bırakılır.
Örnek: ForOrnek.java
if-else Deyimi Koşula göre program akışı değiştirilmek isteniyorsa if kullanılabilir. Genel yazım ifadesi aşağıdaki gibidir
Örnek: IfElseTest.java
switch Deyimi switch deyimi tamsayıların karşılaştırılması ile doğru koşulların elde edilmesini sağlayan mekanizmadır. switch deyimini genel yazım biçimi aşağıdaki gibidir:
Örnek: AylarSwitchTest.java
Yapılandırıcı Yordam(Constructor) Bir nesnenin oluşturulması sırasında ilk çalışan fonksiyonun ismidir. Buna göre bir nesnenin oluşturulması demek, nesneyi tarif eden sınıftan bir türün hafızada bir kopyası için yer açılması ve bu nesnenin bütün değişken ve metodlarının tanımlanan kısıtlamalarla erişilebilir olması demektir .Nesne yönelimli programlamada bir nesnenin kendisi ve bir de nesneyi gösteren nesne atıfı (object referrer) bulunmaktadır. Nesne atıfı, içerisinde tanımlandığı nesne ile atıfta bulunduğu nesne arasında bir ilişki (aggregation) kurmaktadır. Yapıcılandırıcı (constructor) ise nesnenin kendisinin oluşturulması sırasında çalışmaktadır
örnek kodda iki ayrı sınıf (class) oluşturulmuştur örnek kodda iki ayrı sınıf (class) oluşturulmuştur. Buna göre ilk sınıfta (insan sınıfında) bir insanın boyu olduğu belirtilmiştir. Ayrıca insan’ın iki farklı yapılandırıcısı (constructor) tanımlanmıştır. Bu yapıcılardan ilki parametre almazken (insan()) ikincisi bir tane int parametre almaktadır (insan (int boy)). Görüldüğü gibi yapılandırıcılar sınıf ile aynı isme sahip fonksiyonlardır (method) ve dönüş tipleri (Return type) yoktur, yani geri değer döndürmezler. İkinci sınıf olan deneme sınıfında ise iki farklı nesne atıfı olan ali ve veli’nin içerisine iki farklı insan nesnesi oluşturularak verilmektedir. İlk nesnenin boyu 180 ve ikinci nesnenin boyu ise 170 olarak tanımlanmıştır. İlk nesneyi ali ikinci nesneyi veli göstermektedir.
Örnek: YapilandirciBasitOrnekVersiyon2.java
Gönderilen parametre sayesinde nesnenin nasıl oluşacağı belirtebilmektedir. Bu örnekte olduğu gibi YeniKahveFincani nesnesi oluşturulurken kaç adet olacağı söylenebiliyor Yapılandırıcılar, yordamlardaki gibi değer döndürme mekanizmasına sahip değildirler; herhangi bir şekilde değer döndüremezler. Bu değer döndürülemez ibaresi yordamlardaki void ifadesine karşılık gelmemektedir. Yapılandırıcılardan çıkılmak isteniyorsa return kullanabilir.
Kare.java
Adaş Yordamlar (Üstüste yüklenmiş yordamlar (Overloaded methods)) Aynı class içinde , aynı isimle method yada constructor farklı parametreler ile birden fazla, bulunma durumudur. Aynı isimli farklı parametre alan yordamlardır. Normal metodlar gibi yapıcı metodlarda da aşırı yüklenme yani overloading yapılabilir.
Örnek: YordamOverloading.java
YordamOverloading2.java
Örneğimizde overloading vardır Örneğimizde overloading vardır. İki tane yaz metodumuz var ancak biz s değişkenimizle 2. metodumuzu çağırdık. Şimdi de void değilde int ile bir overloading yapan program yazalım. int ile oluşturulan metodlarda return anahtar kelimemizi kullanmalıyız. Çünkü bir değer dönmelidir.
YordamOverloading3.java