Yükleniyor...

Java'da metotlar

ding sözcüğünü yazdıran ring adlı bir metot yazın. Bu yazdırma satırlarını boş yuvarlak parantezli static void ring() altına koyun. main içinde yalnızca ring(); yazın — ad, sonra boş parantezler, sonra noktalı virgül. Derleyip çalıştırın. Ekranda bir satır görünmeli: ding. ding için println'i main tutmaz. Onu metot tutar. Bu sayfanın öğrettiği ayrım budur.

ring altında yaşayan satırlar

Şimdiye kadar yazdırma işinizin çoğu doğrudan main içindeydi. O yol hâlâ geçerlidir. Bir metot, aynı satırlara kendi adını verir. Satırları o adın altında bir kez yazarsınız. Sonra main, adı bir çağrı olarak yazarak onları ister.
Chime.java adında küçük bir program dosyası oluşturun. İlk satırdaki public class dosya adıyla aynı olmalıdır: public class Chime. Bu dosyada eski bir Pack veya Skip sınıf adını bırakmayın; derleyici sınıf adıyla dosya adının uyuşmasını bekler.
main'in dışında, hâlâ sınıfın süslü parantezleri içinde yazın:
static void ring() {
System.out.println("ding");
}
static sözcüğü, main'in nesne oluşturmadan ring'i çağırabilmesi için bu başlangıç biçiminde kalır. void sözcüğü, bu metodun çağırana bir değer geri vermediği anlamına gelir — yalnızca gövdesini çalıştırır. ring adı, main'de yazacağınız etikettir. Boş yuvarlak parantezler () bu sayfanın metodunun içeriden değer almadığı anlamına gelir. Süslü parantezler gövdeyi tutar. System.out.println("ding"); d-i-n-g dört harfini yazar. Derlemeden önce dosyayı kaydedin.

Derlediğiniz Chime.java

İşte bu sayfanın tam küçük programı. main yalnızca çağrıyı tutar. ring yazdırmayı tutar.

ring ding yazdırır

java
public class Chime {
    public static void main(String[] args) {
        ring();
    }

    static void ring() {
        System.out.println("ding");
    }
}

Chime.java'nın bulunduğu klasörden javac Chime.java çalıştırın. Yuvarlak parantezler, süslü parantezler ve noktalı virgüller uyuşunca javac kendi satırını yazmaz. Sonra java Chime çalıştırın — java Chime.java değil. İkinci komuttan .java sonunu çıkarın. Aynı iki komut hem Windows'ta hem macOS'ta çalışır; bu sayfa hiçbir sistem için farklı bir kabuk yazımı istemez. Program bir satır yazdırmalı ve durmalı: ding. Sizin yazmanızı beklemez. Terminal klavye girişi bekliyorsa, dosyada eski bir alıştırmadan kalan nextLine çağrısı hâlâ vardır. O çağrıyı silin; main'deki ring(); ile yukarıdaki ring metodunu tutun. Yanlış bir ekran satırı yeni bir JDK kurulumu gerektiği anlamına gelmez.

Bir çalıştırmayı sırayla okuyun. Java main'den başlar. main'deki tek ifade ring(); şeklindedir. Bu çağrı ring metoduna geçer. ring içinde println ding yazar. Sonra ring biter; main'de kalan bir şey yoktur, program sona erer. Bu sayfada System.out.println("ding"); satırını main'in içine koymadınız. Onu ring altına koyup adıyla istediniz. Ekran ding gösteriyorsa çağrı gövdeye ulaşmıştır. Temiz bir derlemeden sonra ekran boş kalıyorsa, main hiç ring çağırmamıştır ya da main hâlâ çağrı olmadan yalnızca boş süslü parantezler tutuyordur.

ring'i main'den birden çok kez çağırın

Yalnızca main'i değiştirin ki aynı metodu iki kez çağırsın:
public static void main(String[] args) {
ring();
ring();
}
ring metodunun kendisine dokunmayın. Yeniden derleyip çalıştırın: javac Chime.java, sonra java Chime. Ekranda her biri ding diyen iki satır görünmeli. İlk çağrı gövdeyi bir kez çalıştırır. İkinci çağrı aynı gövdeyi yeniden çalıştırır. Satırlara ad vermenin nedeni işte bu yeniden kullanımdır. println'i ring altında ikinci kez kopyalamadınız. main içinde ikinci bir çağrı yazdınız.
İkinci ring(); satırını geri alıp yalnızca bir çağrı bırakırsanız, ekran yine tek bir ding'e döner. Metot tanımı kendi başına bir şey yazdırmaz. Yalnızca main'den (veya sonra başka bir metottan) yapılan çağrı gövdeyi çalıştırır. ring'i tanımlayan ama main'den hiç çağırmayan bir dosya derlenebilir ve yine de java Chime çalıştırdığınızda boş ekran gösterebilir, çünkü main'in yapacak bir işi yoktur.

Bir metot başlığının parçaları

Bu sayfada başlık static void ring() şeklindedir. Soldan sağa okuyun. static, main'in bu başlangıç biçiminde metodu çağırmasına izin verir. void, çağrı yoluyla geri değer gelmediği anlamına gelir. ring addır. () bilerek boştur: bu oturum metoda sözcük veya sayı göndermez. Sonraki sayfa, parameters, o parantezlerin içine adlar koyar. Ondan sonraki sayfa, return, geri bir değer gerektiğinde void'i değiştirir. İkisini de sonraya bırakın. Bugün boş () ve void yeterlidir.

📊 Bu sayfadaki başlık parçası

Parça Bu sayfada
static main, ring'i nesne olmadan çağırabilir
void ring bir değer geri vermez
ring çağrıda yazdığınız ad
() bu sayfada içeri değer girmez
{ ... } ding yazdıran gövde

main'deki çağrı adla tam eşleşmelidir: küçük r ile ring();, boş parantezler ve noktalı virgül. Büyük R ile Ring(); yazmak Java için farklı bir addır. () olmadan ring yazmak bu biçimde bir çağrı değildir. System.out.println("ring"); yazmak ring sözcüğünün dört harfini yazdırır; metot gövdesini çalıştırmaz. Ekranda ding istiyorsanız çağrıyı ring(); olarak tutun.

Yaygın bir kalıntı, yeni çağrının yanında main'de hâlâ duran eski Pack for-each demosudur. O zaman ekran ding yerine 2, 4 ve 6 ya da red ve blue gösterebilir — ya da her iki tür satır karışık. main'i bu dersin ihtiyaç duyduğu ring(); çağrılarına kadar temizleyin. Başka bir karışıklık, metodu main'in süslü parantezlerinin içine koymaktır. Bu sayfadaki metotlar sınıfın içinde, main'in yanında oturur; main'in içine gömülmez. javac, main içine gömülmüş bir metodu çağırdığınız ring saymaz. ring'in parantezlerini main bitmeden kapatın ve main'in parantezlerini sınıf bitmeden kapatın; böylece her blok yalnızca kendi satırlarını tutar.

Sonraki sayfalara hazırsınız

static void ring() yazabilir, println satırlarını süslü parantezlerine koyabilir ve main'den ring() çağırarak ekranda ding görebilirsiniz. İki kez çağırmak, gövdeyi kopyalamadan ding'i iki kez yazdırır. Boş parantezler ve void bilerek bu sayfada kalır. parameters değerleri parantezlerin içine koyar. return, bir metodun main'e sayı veya metin geri vermesini sağlar. Bunlar bu sayfadan sonraki iki sayfadır.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

❓
7
Sorular
🎯
70%
Geçmek İçin
♾️
∞
Süre
🔄
∞
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek