Arama butonu
Bu konudaki kullanıcılar: 1 misafir
12
Cevap
499
Tıklama
0
Öne Çıkarma
Return'ü anlamadım yardım lütfen ??
D
9 yıl
Yüzbaşı
Konu Sahibi

ö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.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi deniz caliskan -- 4 Ağustos 2016; 12:20:12 >

A
9 yıl
Yüzbaşı

Değer döndürüyor.
İleride fonksiyonları gördüğünüzde anlayacaksınız.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
D
9 yıl
Yüzbaşı
Konu Sahibi

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





< Bu mesaj bu kişi tarafından değiştirildi deniz caliskan -- 4 Ağustos 2016; 14:26:36 >
Bu mesaja 1 cevap geldi.
P
9 yıl
Çavuş

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.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @deniz caliskan
D
9 yıl
Yüzbaşı
Konu Sahibi

R
9 yıl
Onbaşı

Ben de geçen gün araştırmıştım ve şöyle bir şey okumuştum;

< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi rumman -- 4 Ağustos 2016; 22:11:15 >
Bu mesaja 1 cevap geldi.
D
9 yıl
Yüzbaşı
Konu Sahibi

güzel anlatmış, sağolasın


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @rumman
3
9 yıl
Yüzbaşı

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.



C
9 yıl
Yüzbaşı

Çoktan seçmeli bir sınavda bir soruyu class olarak düşünürsen cevap şıkkı return dür.



< Bu ileti mini sürüm kullanılarak atıldı >

G
9 yıl
Çavuş

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



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
D
9 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: gpgpu

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 ? :)


Bu mesaja 1 cevap geldi.
G
9 yıl
Çavuş

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



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @deniz caliskan
D
9 yıl
Yüzbaşı
Konu Sahibi

anladım çok sağol :)




Bu mesajda bahsedilenler: @gpgpu
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.