Yükleniyor...

Java'da parametreler

İçine bir sözcük alan greet adlı bir metot yazın. Yuvarlak parantezlerin içine String name yazın. Gövgede hi, bir boşluk ve sonra name yazdırın: System.out.println("hi " + name);. main'den greet("lena"); çağırın. Ekranda bir satır görünmeli: hi lena. lena harfleri metodun içinde sabit yazılmaz. Çağrı yoluyla gelir ve o geçiş için name adına oturur. Bu sayfanın öğrettiği aktarım budur.

Parantezlerin içindeki ad

methods sayfasında ring'den sonraki yuvarlak parantezler boş kalmıştı. Yazdırma her zaman ding'di. Burada parantezler, her çağrının farklı bir değer gönderebilmesi için tipli bir ad tutar. O tipli ad parametredir. Çağrıda yazdığınız değer, o geçişin argümanıdır.
Tip.java adında küçük bir program dosyası oluşturun. İlk satırdaki public class dosya adıyla aynı olmalıdır: public class Tip. Bu dosyada eski bir Chime veya Pack 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 greet(String name) {
System.out.println("hi " + name);
}
Başlık bu başlangıç biçiminde hâlâ static void ile başlar. Parantezlerin arasında önce String, sonra name durur — önce tip, sonra parametre adı. Gövde, name'i çevresinde tırnak olmadan kullanır ve sabit metin "hi " ile artı işaretiyle birleştirir. "hi " çevresindeki tırnaklar sabit harfleri işaretler. Yalın name, çağrıdan gelen değeri işaretler. Derlemeden önce dosyayı kaydedin.

greet ile Tip.java

Bu, önce derlediğiniz sürümdür. main, parantezlerin içinde değer olan çağrıyı tutar. greet, o değeri kullanan yazdırmayı tutar.

greet bir String alır

java
public class Tip {
    public static void main(String[] args) {
        greet("lena");
    }

    static void greet(String name) {
        System.out.println("hi " + name);
    }
}

Tip.java'nın bulunduğu klasörden javac Tip.java çalıştırın. Yuvarlak parantezler, süslü parantezler ve noktalı virgüller uyuşunca javac kendi satırını yazmaz. Sonra java Tip çalıştırın — java Tip.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ı: hi lena. 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; greet("lena"); ile yukarıdaki greet metodunu tutun. Yanlış bir ekran satırı yeni bir JDK kurulumu gerektiği anlamına gelmez.

Bir tam çalıştırmayı sırayla okuyun. Java main'den başlar. greet("lena"); çağrısı lena metnini name parametresine gönderir. greet içinde println hi, bir boşluk ve sonra o değeri kurar; böylece ekran hi lena gösterir. Sonra greet biter ve main sona erer. main içinde System.out.println("hi lena"); yazmadınız. Sabit kısmı bir kez greet altında yazıp lena'yı çağrıdan gönderdiniz.

Aynı metot, farklı sözcükler

Yalnızca main'i değiştirin ki greet'i iki farklı argümanla iki kez çağırsın:
public static void main(String[] args) {
greet("lena");
greet("sam");
}
greet metodunun kendisine dokunmayın. Yeniden derleyip çalıştırın: javac Tip.java, sonra java Tip. Ekranda iki satır görünmeli: hi lena, sonra hi sam. İlk çağrı name'i lena ile doldurur. İkinci çağrı name'i sam ile doldurur. println'i greet altında kopyalamadınız. Yalnızca çağrıların içindeki değerleri değiştirdiniz.
Başlık hâlâ String name derken greet() boş parantezlerle çağrılırsa, javac bir hata yazar — çağrı bir String vermelidir. Aynı main'de Chime sayfasından boş parantezli eski bir ring(); bırakırsanız, o çağrı greet ile uyuşmaz ve kalan bir ring metodu hi satırlarınızın yanında hâlâ ding yazdırabilir. main'i bu dersin ihtiyaç duyduğu greet çağrılarına temizleyin.

Değer olarak bir tam sayı

Parametreler yalnızca metin için değildir. int alan ikinci bir metot yazın:
static void show(int n) {
System.out.println(n);
}
main'den tam sayılarla çağırın:
show(9);
show(4);

show bir int alır

java
public class Tip {
    public static void main(String[] args) {
        show(9);
        show(4);
    }

    static void show(int n) {
        System.out.println(n);
    }
}

Derleyip çalıştırın: javac Tip.java, sonra java Tip. Ekranda iki satır görünmeli: 9, sonra 4. Çağrıda 9 veya 4'ün çevresine tırnak koymazsınız — bunlar int değerlerdir, metin değil. show içinde println(n) gelen sayıyı yazar. Bu iki satırı gördükten sonra greet demosunu geri koyabilirsiniz. Her iki sürüm de geçerli Java'dır. Aynı fikri öğretirler: çağrı bir değer gönderir, parametre onu gövde için tutar.
int çalıştırmasını bir kez daha okuyun. İlk çağrı n'yi 9 yapar ve 9 yazdırır. İkinci çağrı n'yi 4 yapar ve 4 yazdırır. n adı başlıkta bir kez int n olarak bildirilir. Her çağrı o geçiş için ona yeni bir değer verir. show'a tırnaklı bir sözcük göndermek, örneğin show("nine");, bu biçimde int ile uyuşmaz — javac bir hata yazar. greet'e yalın bir sayı göndermek, örneğin greet(3);, String ile uyuşmaz — javac yine bir hata yazar. Argüman tipini parametre tipiyle eşleştirin.

Yaygın bir karışıklık, parametrenin adını metin olarak yazdırmaktır: System.out.println("name");. Bu, n-a-m-e harflerini yazar. lena yazmaz. Ekranda argümanın harflerini istiyorsanız, name çevresinde tırnak olmadan println("hi " + name) tutun. Başka bir karışıklık, parametreyi metot başlığı yerine main içinde bildirmektir. Tipli ad bu sayfada main'in parantezlerine değil, greet(...) veya show(...) içine aittir. main'in String[] args'ı daha sonraki bir oturumun konusudur; args'ı name diye yeniden adlandırmayın ve greet'in onu görmesini beklemeyin.

Bu sayfa sizi nereye bırakır

Bir metodun parantezlerinin içine String name veya int n koyabilir, çağrıda eşleşen bir değer gönderebilir ve o değeri gövdeden yazdırabilirsiniz. İki argümanlı iki çağrı, metodu kopyalamadan iki farklı satır yazdırır. void hâlâ çağrı yoluyla bir şeyin geri gelmediği anlamına gelir. Sonraki sayfa return'dür; orada bir metot yalnızca gövde içinde yazdırmak yerine main'e bir değer geri verir.

🧠 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

❓
5
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