09 KASIM 2017
PERŞEMBE
14.53
Java - Metotlar

Metotlar, Java programlama dilinde aynı işlemi yapan kod bloklarıdır. Program içerisinde oluşturulan bir kod bloğunun birkaç kez kullanılması gerektiği durumlarda metotlardan faydalanılır.

 

Bir dikdörtgenin alan hesaplama formülünü yazmamız istensin. x ve y kenarları temsil ettiğini varsayarak girilen her x ve her y değeri için yeniden x*y yapmamız gerekir. Fakat oluşturulan bir metot ile bu metoda x ve y değerlerini göndererek cevap bekleyebiliriz. Metotları diğer programlama dillerinde yer alan fonksiyonlar gibi düşünebilirsiniz.

Metotlar;

  • Erişim seviyeleri vardır,
  • Parametre alırlar,
  • Bir değer döndürürler.

Erişim Seviyesi Nedir?

Erişim Seviyeleri üç alt başlığa ayrılır: Public, Private, Protected

  • Public

Public seviyesinde olan bir methoda, aynı sınıf içerisinden veya dışarıdan erişimde bulunmak mümkündür. Bu erişimden kastedilen ise örneğin oluşturulan bir sınıf içerisindeki herhangi bir değişkene farklı bir sınıf üzerinden farklı bir değer yüklenebilir veya varolan değer alınabilir.

  • Private

Private seviyesinde olan bir methot içerisindeki herhangi bir öğeye dışarıdan erişimde bulunulamaz. Örneğin private olarak belirlenen pi değeri, o sınıf dışındaki herhangi bir başka yerde değiştirilemez.

  • Protected

Public ve Private erişim seviyelerinin ortasında bir erişim seviyesine sahiptir.

Metot Oluştururken Dikkat Edilmesi Gerekenler

  • Metot isimleri herhangi bir sayı ile başlayamaz.
  • Metot isimleri büyük/küçük harf duyarlılığına sahiptir.
  • Metot isimlerinde boşluk veya bazı karakterler kullanılamaz.
  • Main metodu iki kez kullanılamaz.
  • Bir metot içerisinde başka bir metot oluşturulamaz.

Metot Türleri

A. Parametreye Sahip Olmayan Metotlar

1. Geriye Değer Döndüren Metotlar

Çağırıldığı veri tipinde bir değeri geri döndürür.

public class Metotlar {

	public static void main(String[] args) {
		System.out.println("Toplam: "+Toplama());
	}

	public static int Toplama() {
		int a = 5;
		int b = 10;
		return a+b;
	}

}

2. Geriye Değer Döndürmeyen Metotlar

Yalnızca bir iş yaptırılır, void metotlar olarakta bilinirler.

void tanımlı olan metotlar içerisinde return komutu kullanılamaz. Normal bir çıktı mesajı ekrana yazdırılabilir. Eğer herhangi bir parametreye sahip değilse parantez içerisi boş bırakılır.

public class Metotlar {

	public static void main(String[] args) {
		WebSitem();
	}
	
	public static void WebSitem() {
		System.out.println("www.merttopuz.com");
	}

}

DİKKAT! Bir sınıf içerisinde sınırsız sayıda methot oluşturulabilir fakat bir methot içerisinde farklı bir methot oluşturulamaz!

B. Parametreye Sahip Metotlar

Geriye değer döndüren ve değer döndürmeyen metotlar farketmeksizin, her metot parametreye veya parametrelere sahip olabilir. Bir örnek üzerinden iki tür içinde inceleme yapalım.

1. Geriye Değer Döndüren ve Parametre Alan Metotlar

public class Metotlar {

	public static void main(String[] args) {
		System.out.println("Toplam: "+Toplama(10,5));
	}
	
	public static int Toplama(int a, int b) {
		return a+b;
	}

}

2. Geriye Değer Döndürmeyen ve Parametre Alan Metotlar

public class Metotlar {

	public static void main(String[] args) {
		Hosgeldin("Mert");
	}

	public static void Hosgeldin(String kisiAdi) {
		System.out.println("Web Sitemize Hoşgeldin "+kisiAdi);
	}

}

ÖRNEK

Kullanıcının girdiği iki sayıdan büyük olanını ekrana çıktı olarak verdirin. (Parametre alacak ve geriye değer döndürecek bir metot oluşturun).

ÇÖZÜM

public static void main(String[] args) {
	Scanner girdi = new Scanner(System.in);
	System.out.println("Büyük Olan Sayıyı Bulma;");
	System.out.print("Sayı 1: ");
	double sayi1 = girdi.nextInt();
	System.out.print("Sayı 2: ");
	double sayi2 = girdi.nextInt();
	System.out.println(sayi1+" ve "+sayi2+" içerisinden büyük olan: "+Buyuk(sayi1, sayi2));
}

public static double Buyuk(double a, double b) {
	if(a>b) {
		return a;
	} else {
		return b;
	}
}

ÇIKTI

Büyük Olan Sayıyı Bulma;
Sayı 1: 465
Sayı 2: 405
465.0 ve 405.0 içerisinden büyük olan: 465.0

ÖRNEK

Kullanıcıdan iki sayı alın ve toplam, fark, çarpma ve bölme işlemlerinden birini kullanıcının seçmesini isteyin. Girilen sayılara seçilen işlemi uygulayın.

ÇÖZÜM

public static void main(String[] args) {
	
	Scanner girdi = new Scanner(System.in);
	
	System.out.println("İki Sayı ile Dört İşlem");
	
	System.out.print("Sayı 1: ");
	double sayi1 = girdi.nextInt();
	
	System.out.print("Sayı 2: ");
	double sayi2 = girdi.nextInt();
	
	System.out.print("Yapılacak İşlemi Girin (T (toplam) - F (fark) - C (çarpma) - B (bölme)): ");
	String islemTuru = girdi.next();

	System.out.println("Sonuç: "+Sonuc(sayi1, sayi2, islemTuru));
	
}

public static double Sonuc(double sayi1, double sayi2, String islemTuru) {
	if(islemTuru.equals("T")) {
		return sayi1+sayi2;
	} else if(islemTuru.equals("F")) {
		if(sayi1-sayi2 > 0) {
			return sayi1-sayi2;
		} else {
			return sayi2-sayi1;
		}
	} else if(islemTuru.equals("C")) {
		return sayi1*sayi2;
	} else if(islemTuru.equals("B")) {
		return sayi1/sayi2;
	} else {
		return 0;
	}
}

ÇIKTI

İki Sayı ile Dört İşlem
Sayı 1: 10
Sayı 2: 20
Yapılacak İşlemi Girin (T (toplam) - F (fark) - C (çarpma) - B (bölme)): B
Sonuç: 0.5

Metotların Aşırı Yüklenmesi (Method Overloading)

Var olan bir methodun birden fazla versiyonunun olmasıdır. Örneğin toplama işlemi için birden fazla methot yazılabilir. Bunu şöyle bir örnek üzerinden değerlendirelim;

public static void main(String[] args) {
	System.out.println("2 Sayı Topla: "+topla(12,24));
	System.out.println("3 Sayı Topla: "+topla(12,24,36));
	System.out.println("4 Sayı Topla: "+topla(12,24,36,48));
}

public static int topla(int a, int b) {
	return a+b;
}

public static int topla(int a, int b, int c) {
	return a+b+c;
}

public static int topla(int a, int b, int c, int d) {
	return a+b+c+d;
}

Yukarıdaki örneğimizde topla adında üç adet int veri tipine sahip methot yazmış olduk. Yazdığımız methotların birbirinden farkı ise aldıkları parametreler. İlk methodumuz 2 parametre alırken, ikinci methodumuz 3 ve son methodumuz da 4 parametre almış durumda. main içerisinde topla methodu içerisine 2,3 ve 4 farklı parametre girme imkanını sağlamış olduk. Programımızı çalıştırdığımızda herhangi bir hata ile karşılaşmadan şöyle bir çıktı alırız;

2 Sayı Topla: 36
3 Sayı Topla: 72
4 Sayı Topla: 120
YORUMLAR 0
Bu konuya henüz kimse yorum yapmadı.
İlk yorumu sen yapmak ister misin?
YORUM BIRAK
Şuanda bu yoruma cevap yazıyorsunuz:
İptal Et