Java’da Metotlarda Return Kullanımı

2315
views

Bir önceki dersimizde metotlarda parametre alarak nasıl kullanılacağını işledik. Bu dersimizde metotlarda return kullanımını öğreneceğiz.

Önceki derslerimizde fonksiyonlar sadece ekrana bir değer yazdırıyordu. Ancak bu sefer fonksiyonlardan çıktı almayı daha sonra bu çıktıyı kullanmayı da öğreneceğiz.

Return Ne Anlama Geliyor?

Bizim fonksiyonlarımız ve bu fonksiyonlarımızın içerisine değer vererek yaptığı işler var. İçerisine yazdığımız bu değerler doğrultusunda fonksiyonlarımız bize çağrıldığı yere bir değer döndürüyor. İşte bu değer döndürmesini sağlayan anahtar kelimemiz return kelimesidir.

Bir önceki dersimizde yapmış olduğumuz toplama() metodu örneğini bu sefer return kullanarak tekrardan yapalım.

Return kullanmadan yukarıdaki gibi yazmıştık kodumuzu. Oluşturmuş olduğumuz toplama() fonksiyonu void bir fonksiyon. Void olduğu için dış dünyaya yani çağrıldığı yere herhangi bir değer döndürmüyor. Sadece içine aldığı değerleri ekrana yazdırıyor. Ancak biz bu fonksiyondan dönen değeri başka yerde de kullanmak istiyorsak bu fonksiyondan çıktı olarak değerleri return ile döndürmemiz gerekiyor. O yüzden bu sefer ekrana yazdırmak yerine return kullanarak nasıl yapacağımızı görelim.

Yukarıdaki şekilde yaptığımızda karşımıza return ile değer döndüren bir fonksiyon çıktı. Ancal şuan fonksiyonda görselde görüldüğü gibi bir hata çıkıyor. Hatanın nedeni fonksiyonlarımızdaki dönüş tiplerinin farklı işlev görmesidir. Bizim fonksiyonumuzda dönüş tipi void olduğundan dolayı hata verdi. Void return ile hiç birşey döndürmüyor anlamı çıkıyor aslında. Ancak siz return ile int değer , double değer yada string bir değer döndürecekseniz bu fonksiyonun dönüş tipi artık void olmayacak. Bu saydığımız veri tiplerinden biri olması gerekiyor. Örneğimizde bir tam sayı yani int değer döndürdüğümüz için void yerine int yazmamız gerekir.

int olarak düzelttiğimizde hata ortadan kalktı. Artık return ile dış dünyaya bir değer döndürebiliriz. Peki bu return un anlamı ne? Biz bu şekilde programı çalıştırdığımızda karşımıza ne çıkacak görelim.

Herhangi bir çıktı alamadık. Çünkü toplama() metodunu ekrana yazdırmamız gerek.

şeklinde ekrana yazdırdığımızda çıktı değerini aldık. Aslında az önceki yöntem ile arasında çok bir fark yok gibi. Ancak şöyle bir fark var. Return kaldırıp dönüş veri tipini tekrardan void yaptığımızda;

görseldeki hatayı aldık. Çünkü bu fonksiyon çıktı vermediği için toplama(50, 40, 30) alanına herhangi bir değer gelemedi. Ve bu yüzden ekrana bastıramadık. İşte return un anlamı biraz da bu. Yani return fonksiyondan bizim çıktı almamızı sağlayan anahtar kelime. Bunun anlamı aslında şu: Biz fonksiyondan gelen değeri başka bir fonksiyonda kullanmak isteyebiliriz. Ondan dönen değeri başka bir fonksiyonda kullanmak isteyebiliriz. Buralarda bizim fonksiyonlarımıza kesinlikle return anahtar kelimesini kullanmamız gerekir.

Şimdi farklı bir örnek yapalım. 3 tane fonksiyon yazacağız ve 3 fonksiyon birbirine çıktı vererek en sonunda 1 tane değer üretecek.

3 tane fonksiyon yazdık. Bu fonksiyonlardan aldığımız çıktıları birbirine vermeyi göreceğiz. İlk olarak besilecarp(int a) fonksiyonunu yazdık ve içerisine değerimizi yazdık. besilecarp(10) fonksiyonunu aldık dortiletopla(int a) fonksiyonuna yazdık.(dortiletopla(besilecarp(10))) sonra bu fonksiyonuda  yediilecarp(int a)  fonksiyonu içerisine yazdık. yediilecarp(dortiletopla(besilecarp(10))) oluşan fonksiyonumuzu ekrana yazdırdığımızda çıktıyı elde ettik.

Return un mantığı da bu şekildedir. Return ile ilgili bilmemiz gereken bir konu daha var aslında. Bir tane işlevi bulunuyor. Return ler fonksiyonlarda son çalıştırılan koddur. Yani return den sonra hiçbir kod çalışmaz. Fonksiyonumuzu bitiren bir anahtar kelimelidir.

Örnekle anlamaya çalışalım.

Yukarıda ilk olarak fonksiyonumuz çağrıldı. Daha sonra fonksiyonumuzun içerisinde 1 tane printl var. Bunu ekrana bastırabildik. Sonrasında da fonksiyonumuz çıktı olarak a*2 yi verdi yani 10 değerini.

Peki “Kaç dakika kaldı” satırını return un altına yazsaydık ne olacaktı?

Bu şekilde yazdığımızda java bize hata verdi. Çünkü bu statement bizim return un altında. Ve return fonksiyonların en son cümlesidir. Yani return den sonra fonksiyonun çalışması biter. Buda return un ayrı bir özelliğidir.

Bir sonraki yazımızda metot overloading konusunu öğreneceğiz. Sonraki derse geçmek için tıklayınız.

 

1 Yorum

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz