Metod Nedir?
Programların herhangi bir yerinde kullanılmak için belirli bir işi yerine getirmek amacıyla tasarlanmış alt programlara metot denilir. Metotlar belirli bir işi yapması için geliştirilirler.
Örneğin Write, WriteLine, ReadKey vb. birer metoddur.
Bir sefere mahsus yazılan bu kod parçaları programın akışı içerisinde defalarca çağrılarak kullanılabilirler. Bir metot, bir veya daha fazla ifade içerebilir.
Metotlar tek başına çalışabilen yapılar değillerdir. Ancak ana program içerisinden çağrılarak çalıştırılırlar.
Methodların Tanımlanması
[Erişim Beliryeci] static [Türü] Method Adı ([Değişkenler ve Türleri])
{
//Metod içinde yapılacak işlemler
[return Geriye Dönen Değer]
}
Erişim Beliryeci: Methoda dışarıdan ulaşılıp ulaşılmayacağını belirtir.
- Public:Public bir metoda kendi bulunduğu class dışındaki class’lardanda erişilebilir. Zaten class’ın kendi içindeki elemanlarını veya metotlarını aynı class taki tüm metotlar ve değişkenler kullanabilir.
- Private: Private sadece kendi bulunduğu class’ın elemanlarının kullanabildiği metot belirteçleridir yani dışarıdan farklı bir class private metodu bulunan bir class’ın bu metoduna asla erişemez.
Türü: Methodun geriye döndüreceği değerin türüdür. Eğer geriye değer döndürmüyorsa void olacaktır.
Metot Adı: Methoda dışarından ulaşılacak isimdir.
Değişkenler ve Türleri: Methodun dışarıdan alacağı değişken ve türleridir.
Methotlar bazen geri döndürür bazende döndürmez. Eğer geriye değer döndürme işlemi yapılacaksa methot içinde return işlemi yapılır.
Metot aşağıdaki gibi yazılır ve çağrılır.
Aşağıdaki değer gönderilmeden ve geri değer gelmeyen metod türüdür
private static void ekrana_yaz()
{
Console.WriteLine("Merhaba");
}
static void Main(string[] args)
{
ekrana_yaz();
ekrana_yaz();
Console.ReadKey();
}
Aşağıdaki örnekte değer gönderilen ve geri değer gelmeyen metod türüdür.
private static void yaz(string mesaj)
{
Console.WriteLine(mesaj);
}
static void Main(string[] args)
{
yaz("Merhaba");
yaz("10-ATL");
yaz("Bilişim Sınıfı");
Console.ReadKey();
}
Aşağıdaki örnekte değer gönderiliyor ve geri değer gelen metod türüdür
private static int topla(int s1, int s2)
{
int t = s1 + s2;
return t;//return s1+s2;
}
static void Main(string[] args)
{
// Kullanım şekli 1
Console.WriteLine(topla(5, 9));
// Kullanım şekli 2
int sonuc = topla(12, 8);
Console.WriteLine(sonuc);
Console.ReadKey();
}
Örnekler
1. Klavyeden girilen bir mesajı yaz metoduna gönderilerek, metod içinde ekrana 10 defa yazdıran C# programını yazınız.
private static void yaz(string mesaj)
{
for (int i = 0; i < 10; i++)
Console.WriteLine(mesaj);
}
static void Main(string[] args)
{
Console.WriteLine("Bir Mesaj Giriniz");
string m = Console.ReadLine();
yaz(m);
Console.ReadKey();
}
2. Yukarıdaki örneğimize kaç defa yazdırılacağını da metoda ekleyelim.
private static void yaz(string mesaj, int sayi)
{
for (int i = 0; i < sayi; i++)
{
Console.WriteLine(mesaj);
}
}
static void Main(string[] args)
{
Console.Write("Bir Mesaj Giriniz:");
string m = Console.ReadLine();
Console.Write("Kaç Defa Yazdıralım:");
int a = int.Parse(Console.ReadLine());
yaz(m, a);
Console.ReadKey();
}
3. Bir tam sayıyı metoda(KARE) göndererek karesini bulup geri gönderen metodu oluşturunuz. Ve bu metoda klavyeden girilen sayıyı göndererek ekrana sonucu yazdıran C# programın kodunu yazınız.
KARE(4); -> Geri 16 değeri döner.
private static int KARE(int sayi)
{
int karesi = sayi * sayi;
return karesi;
}
static void Main(string[] args)
{
Console.WriteLine("bir sayı giriniz");
int s = int.Parse(Console.ReadLine());
Console.WriteLine(KARE(s));
Console.ReadKey();
}
4. Döviz Kuru Çevirici bir metot yapılmak isteniyor. Döviz kur fiyatı ve elinizde bulunan döviz değeri gönderilerek sonucu hesaplayıp geri döndüren metodu yazarak kullanımını yapan C# programını yapınız.
kurcevir(2.07,50);
Kur Birim Fiyatını Griniz: 2,07
Elinizdeki Kur Değerini Giriniz: 50
static double kurcevir(double birim_fiyat, int miktar)
{
//double sonuc = birim_fiyat * miktar;
//return sonuc;
return birim_fiyat * miktar;
}
static void Main(string[] args)
{
Console.Write("Kur birim fiyatını giriniz: ");
double a = double.Parse(Console.ReadLine());
Console.Write("Kur miktarını giriniz: ");
int b = int.Parse(Console.ReadLine());
//double s = kurcevir(a, b);
//Console.Write("{0} TL eder", s);
Console.Write("{0} TL eder", kurcevir(a, b));
Console.ReadKey();
}
5. Klavyeden girilerek parametre olarak gönderilen bir sayının, tek olup olmadığını kontrol eden, eğer sayı tek ise true, değilse false değeri döndüren metodu yazınız.( tek_kontrol metodu)
private static bool tek_kontrol(int sayi)
{
if (sayi % 2 == 1)
return true;
else
return false;
}
static void main(string[] args)
{
Console.Write(“Bir sayı giriniz: ”);
int s = int.Parse(Console.ReadLine());
Console.Write(tek_kontrol(s));
Console.ReadKey();
}
6. Gönderilen iki sayıdan büyük olanı geri gönderen metodu oluşturunuz.(BUYUK metodu)
Bir sayı giriniz : 15
Bir sayı daha giriniz: 45
45
private static int BUYUK(int sayi1, int sayi2)
{
if (sayi1 > sayi2)
return sayi1;
else if (sayi2 > sayi1)
return sayi2;
else
return sayi1;
}
static void Main(string[] args)
{
Console.Write("Bir sayı giriniz");
int s1 = int.Parse(Console.ReadLine());
Console.Write("Bir sayı daha giriniz");
int s2 = int.Parse(Console.ReadLine());
Console.Write(BUYUK(s1, s2));
Console.ReadKey();
}
Ödev 1: Metoda gönderilen cümlenin tersini geri gönderen metodu oluşturarak kullanan C# programını yazınız.
ters_yaz(“Ayşe”);
Ödev 2: 1 den başlayarak istenilen sayıya kadar rastgele tek sayı tutan Metodu oluşturarak kullanan C# programını yazınız.
tek_sayi_tut(1000);
Yorum ekle