1. sayfa
örn : public class IlkProgram { public static void main(String args[]) {` int sonuc = topla (3,4); sonuc = sonuc*2; System.out println("Çarpım" + sonuc) } public static int topla(int a, int b) { int c = a + b; return c; } } ______________________________________________________________________________________________________________________________ şimdi arkadaşlar burda return ne yapıyor anlatır mısınız ayrıca return başka ne şekillerde kullanılabilir ? Şimdiden teşekkürler |
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
https://www.youtube.com/watch?v=rCOl05bUE1I şuan bu videodayım zaten fonsiyonlar metod demek sanırsam ama gerçekten anlamadım biraz daha ayrıntıya iner misin ? teknik terimleri kullanmadan, mesela değer döndürmek ne demek |
Değer döndürme işlemi yalnızca fonksiyonlarda (veya metotlarda) olur. Geriye değer döndürmek demek mesela: int deger_al() { return 17; } bu fonksiyon var elimizde ve biz bu fonksiyonu şu şekilde çağırdık diyelim: int n = deger_al(); Bu şekilde fonksiyon çağrıldığı yere 17 yani bir int tipi döndürdüğü için n değişkenine 17 değeri atandı. Gelelim return (Geriye Döndürme) ne işe yarar konusuna; Mesela kullanıcının girdiği bir string değerin içinde yine kullanıcının girdiği bir karakter var mı yok mu diye aratacağız, bunu fonksiyon içinde tanımlayalım: boolean karakter_ara(String yazi, char karakter) { for (int i = 0; i < yazi.Length; i++) { if (yazi == karakter) // yazi içinde karakter var ise return true; } return false; // karakter bulunamayınca false döndür. } >> Bir yazı gir: merhaba >> Aranacak karateri gir: a sonra bu değerleri fonksiyona atalım: if (deger_al(kullanıcının_yazısı, aranacak_karakter) == true) System.out.println("Karakter bulundu!"); else System.out.println("Karakter bulunamadı!"); Bu şekilde fonksiyon ile istediğimiz kadar yazı içinde karakter arayabiliriz: if (karakter_ara("Ali", "i") == true) ... ... if (karakter_ara("Mehmet", "a") == true) .. ... vs. vs. Karakter var mı yok mu diye kontrol etmek için ise true ve false değerlerini döndürdük. Eğer geri döndürme yapmasaydık fonksiyonun çağrıldığı yere hiç birşey gelmeyeceği için if (karakter_ara(yazi, karakter) == true) yapamazdık çünkü karakter_ara değer döndürmemiş olurdu. |
Ben de geçen gün araştırmıştım ve şöyle bir şey okumuştum; < Resime gitmek için tıklayın > |
güzel anlatmış, sağolasın |
Bir fonksiyonda genelde return ifadesi olur, fonksiyon mesela; public int degerDondur(){ int a=5; return a; } fonksiyon çağırıldığı zaman herhangibir yerden, a değerini int olarak geri dönderir. |
Çoktan seçmeli bir sınavda bir soruyu class olarak düşünürsen cevap şıkkı return dür. |
C veya c++ gibi dillerde return edilen şeyin bellekte kapladığı alanının az olması gerekirken javada böyle bir problem yoktur çünkü otomatik olarak sadece o şeyin adresi kullanılır yani 4 veya 8 bayt belki 20 bayt da olabilir ama geçmez gibi |
anlamadım açıkçası biraz daha açıklayıcı anlatabilir minin ? :) |
Program bir fonksiyona girdiğinde stack denilen kisitlı bir bellek alanında yer açar atıyorum 1 MB . Fonksiyon return e geldiğinde stack üzerinden sonucu bildirir . Bu bir tam sayı da olabilir bir resim dizisi de olabilir . 1 MB yetersiz kalırsa stack taştı hatası verir . Java nesnelerden oluştuğu için adresler ile çalışır yani nesneyi heap denilen çok geniş alanda tutarken stack üzerinde sadece çok gerekli şeyleri tutar . Java return ile karşılaşınca sadece adres değerini gönderir . Asıl nesne heap tarafındadır |
1. sayfa
İleride fonksiyonları gördüğünüzde anlayacaksınız.
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle