• Sonuç bulunamadı

Fonksiyonlar (Metotlar)

N/A
N/A
Protected

Academic year: 2022

Share "Fonksiyonlar (Metotlar)"

Copied!
16
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Fonksiyonlar (Metotlar)

BİL131 - Bilişim Teknolojileri ve Programlama Hakan Ezgi Kızılöz

(2)

Bir program içerisinde, basit veya karmaşık olmasından bağımsız olmak üzere, bir kod parçasının farklı yerlerde tekrar tekrar kolayca kullanılabilmesi için metotlar kullanılır.

Metotlar, kendisine önceden yapması söylenmiş olan işi, kendisinden yapılması istendiği anda yaparlar.

2

Metot

(3)

Şu ana kadar farkında olmadan farklı yapıda metotlar kullandık:

Math.random() .substring() .indexOf()

System.out.println()

3

Metot

(4)

Bir metot oluşturulurken karar verilmesi gereken iki önemli nokta vardır:

1) Metodun içerisine dışarıdan herhangi bir değer, parametre, alıp almadığı.

Örneğin;

double sayi = Math.random();

double karesi = Math.pow(sayi, 2);

4

Metot

(5)

2) Metodun çalıştıktan sonra geriye herhangi bir değer döndürüp döndürmeyeceği.

Örneğin;

double sayi = Math.random();

System.out.println(sayi);

5

Metot

(6)

Bu iki kritere karar verildikten sonra metot tanımı aşağıdaki şekilde yapılmalıdır.

public static dondurulecek_verinin_tipi metot_adi (param_tur_1 param_adi1, param_tur_2 param_adi2, ...)

{

... // metot gövdesi }

6

Metot

(7)

 Metot geriye değer döndürmüyorsa "döndürülecek verinin tipi" alanına void anahtar kelimesi yazılmalıdır.

 Parametre almayan ve geriye değer döndürmeyen ekranaYaz() metodu aşağıdaki şekilde tanımlanabilir:

public static void ekranaYaz() {

System.out.println("Merhaba metotlar");

}

Metot

(8)

 Metodun geri döndüreceği değerin tipi int, double, boolean, char gibi temel veri türleri olabileceği gibi;

String veya dizi gibi daha karmaşık yapıda veri türleri de olabilir.

 Metot geriye değer döndüreceği zaman

"döndürülecek verinin tipi" alanı doldurulmalı ve döndürülecek değer metot içerisinde return komutu ile spesifik olarak belirtilmelidir.

Metot

(9)

return komutu, genellikle metodun en sonunda bulunur ve çalıştığı andan itibaren metot içerisinde başka hiçbir komutun çalışmasına izin vermez.

 Parametre almayan ve geriye 4 tam sayısını döndüren dortTamSayisi() metodu tanımı aşağıdaki gibi olabilir:

public static int dortTamSayisi() {

return 4;

}

Metot

(10)

 Bir metot geriye değer döndürüyorsa, döndürdüğü değer ya bir değişkende saklanmalı, ya da System.out.println(); komutu içerisinde hemen ekrana yazdırılmalıdır.

 Her ikisinin de yapılmaması durumunda metot çalışacak ve geriye değer döndürecek, fakat geriye döndürdüğü değer daha sonra kullanılamayacaktır.

 Örneğin biraz önceki dortTamSayisi() metodunu aşağıdaki şekilde çağırabiliriz:

int tamSayi = dortTamSayisi();

Metot

(11)

 Bir metot hiç parametre almayabileceği gibi, birden fazla parametre de alabilir.

 Birden fazla parametre alan metotlarda parametrelerin türleri aynı olabileceği gibi farklı da olabilir.

 Metodun alacağı parametrelerin sayısı ve türleri tamamen programın ihtiyaçlarına göre belirlenmelidir.

 Metodun alacağı parametrelerin sayısı ve tipleri belirlendikten sonra parametrelerin her biri metot isminden sonraki parantez içerisine yazılmalıdır.

Metot

(12)

 Sırasıyla bir tam sayı ve bir String tipinde parametre alan ve geriye hiçbir değer döndürmeyen ekranaYazdir(int, String) aşağıdaki gibi tanımlanabilir:

public static void ekranaYazdir(int sayi, String dizgi) {

System.out.println(sayi + " - " + dizgi);

}

Metot

(13)

 Metotlara yollanan parametrelerin sırası, metodun tanımlanmasında belirleyici rol oynamaktadır.

Örneğin bir önceki ekranaYazdir(int, String) metodunu çağırırken ekranaYazdir(5,

"hakan"); komutu geçerli bir kullanım iken;

ekranaYazdir("hakan", 5); komutu hatalı olacaktır.

Metot

(14)

 Metot içerisinde parametreler, önce tanımlanmış ve değeri atanmış bir değişken gibi görülmeli ve bu şekilde kullanılmalıdırlar.

 Örneğin iki adet tam sayı parametresi alıp, geriye bu iki tam sayının toplamını döndüren topla(int, int) metodu aşağıdaki gibi tanımlanabilir:

public static int topla(int a, int b){

return a+b;

}

Metot

(15)

 Bir metot içerisinde tanımlanan değişkenler SADECE o metot içerisinde geçerlidir, metot dışından o değişkenlere ulaşılamaz, değerleri değiştirilemez.

public static void ekranaYazdir() {

int c = 5;

double d = 42.23;

System.out.println(c + d);

}

Metot

(16)

Metotlar main() metot içerisinden çağrılabilecekleri gibi, diğer metotlar içerisinden de çağrılabilirler.

public static void main(String[] args){

topla(3, 5);

}

public static void yazdir(int toplam){

System.out.println("toplam = " + toplam);

}

public static void topla(int a, int b) { yazdir(a + b);

}

Metot

Referanslar

Benzer Belgeler

public class student { private String sttcid; private String stid; private String stname; private String stsumame; private String stcity; private String sttown; private

Yani, geçmiş yıllarda imza attığı, yüzbinlerce insana okuduğu, okuttuğu pek çok türkünün, ülkeyi terkedişinden sonra başkalarınca sahiplendiğini öğrendikten

Karakter dizilerinin bildirimi şu şekilde yapılabilir, char katar adı [katarın boyutu]; String.h kütüphaneside var olan bazı katar fonksiyonları şunlardır, int

Bu çalişmada; işletmelerin pazar yönlü ha- reket etmelerinde e-öğrenme stratejisinin, bireysel ve örgütsel açidan gelişme- nin sağlanabilmesi, pazar odakli plan, politika

Since no spatial information is used during the clustering procedure, pixels with the same cluster label can either form a single connected spatial region, or can belong to

To con firm the formation of nanoparticles, we investigated samples using TEM, which showed spherical nanoparticle formation with an average core size of 11.0 ± 1.9 nm (Figure

Toplumsal bağın güçlenmesi açısından dayanışma adlı alt kategori DKAB ders kitabında geçen düz metinlerden birinde şöyle yer almıştır;. “İslam dini insanların

The intermediate adduct (9) was obtained using simple purification by liquid–liquid extraction, and the crude product (9) was then used in the second Suzuki coupling reaction