Java | Metodlar & Erişim Belirleyiciler
Herkeze tekrardan merhaba, bildiğiniz üzere Java Dersimizin 1. bölümünde, değişken tiplerini & Eclipse programının kurulumunu & kullanımını görmüştük. Bu bölümde ise Metodlar & Bazı Terimler'i öğreneceğiz. Konumuza geçelim. İlk olarak Java'da ki metodlar ile başlıyalım.
Metodlar
Metodlar, kodlarımızı yazarken kodlarımızın daha düzenli ve kolaylaşmış şekilde olmasını sağlar. Yani mesela şu şekilde bir kod satırımız var;
Java:
String mesaj = "selam";
System.out.println(mesaj);
1. Return Metodları
2. Void Metodları
Return Metodu
Return metodları, genelde bir şeyi başka bir classtan alıp, değişkeni kontrol etmek veyahut bir şeyi hesaplayıp geri dönüş sağlamak için kullanılır. Örnek;
Java:
public static boolean sistem1;
public static boolean sistem2;
public static void main(String[] args) {
sistem1 = true; // Bu şekilde booleanları true olarak ayarladık.
sistem2 = true; //
if (sistemlerAktifMi() == true) { // sistemler aktif mi fonksiyonunu çalıştırıp geri dönüş aldık ve eğer true olarak döndüyse
System.out.println("Sistemler Aktiftir!");
} else { // değilse, yani false döndürdüyse;
System.out.println("Sistemler deaktiftir!");
}
}
public static <değişken_türü> carp(<parametreler>...) {}
Java:
private boolean sistemlerAktifMi() {
if (sistem1 == true && sistem2 == true) { // sistem 1 ve sistem 2 true ise;
return true; // true yani aktif olarak geri döndürdük.
} else { // biri yada 2side aktif değilse;
System.out.println("Sistemler aktif değildir."); // aktif değildir mesajı konsola yazılsın.
return false; // false yani deaktif olarak geri döndürdük.
}
}
Void Metodu
Void metodları, kısa olarak bir şeyi yapıyor ve bitiriyor. Örnek olarak;
Java:
public static boolean sistem1;
public static boolean sistem2;
public static void main(String[] args) {
sistemleriAktifEt(); // sistemleri bu şekilde aktif ettik. yani sistem1 ve sistem2'nin değeri true oldu.
System.out.println("Sistemler aktif edildi!"); // konsole aktif edildi mesajını yazdırdık.
}
public static void sistemleriAktifEt() { // Sistemleri aktif etmek için bir metod oluşturduk;
sistem1 = true; // sistem1'i true olarak ayarladık;
sistem2 = true; // sistem2'yi true olarak ayarladık.
}
Metodlarda Parametreler
Parametreler ile Minecraft'tan örnek verirsem; metoda bir item veriyoruz. İstersek bu item'i başka item'e dönüştürebilip, return yardımıyla geri döndürebiliriz. Yani yaptığımız item'i geri döndürebiliriz. Hemen bi' örnek verelim;
Java:
public static void main(String[] args) {
int carpim = carp(2, 4); // 2 ile 4'ü oluşturduğumuz metod yardımıyla çarptık.
System.out.println(carpim); // çarpımı konsola yazdırdık, çıktı ise şu şekilde olacaktır; 8
}
public static int carp(int sayi1, int sayi2) {
int sonuc = sayi1 * sayi2; // sayi1 ile sayi2'yi çarptık ve sonuc adlı integer'a yazdırdık bu veriyi.
return sonuc; // sonuctaki değeri geri döndürdük.
}
Erişim Belirleyiciler
(public, static, protected...)
public: Eğer bir metoda veya değişkene bu belirteçi koyarsanız, tüm yerlerde kullanabilirsiniz yani Package içi, Package Dışı kullanıma her daim açıktır :).
private: Eğer bir metoda veya değişkene bu belirteçi koyarsanız, sadece aynı classta kullanabilirsiniz, yani sadece o class'ta kullanıma açıktır.
protected: Eğer bir metoda veya değişkene bu belirteçi koyarsanız, sınıf içerisinden, aynı sınıftan oluşturulmuş nesneden ve alt sınıflardan oluşturulmuş nesneden kullanıma açıktır.
default: Eğer bir metoda veya değişkene hiçbir belirteç koymazsanız, sınıf içerisinden kullanıma, nesneden kullanıma, paket içinden kullanıma açıktırlar.
Birde şööyle ek olarak bir tablo koyalım, lazım olur;
Döngüler
Ah, tabi birde döngüler var. Döngüler mesela bir işi 10 kere gerçekleştirmek istiyorsunuz, normal olarak 10 kere o kod satırını yazarsınız.
Ama ne gerek var!? Bu işi for döngüsü ile yapabilirsiniz.
Veyahut bir işi örnek olarak, boolean tipinde değişkenimiz aktif olunca işi gerçekleştirecek.
Tabiiki de bununda bir çözümü var; while döngüsü!
Her neyse, Artık konuya geçelim.
For Döngüsü
Üsttede açıkladığım gibi, bir kodu 10 kere yazmak yerine bu döngüyü kullanabiliriz. Ama nasıl?
Bu şekilde;
Java:
public static void main(String[] args) {
for(int i = 0; i<10; i++) {
mesajYaz("Java <3");
}
}
public static void mesajYaz(String mesaj) {
System.out.println(mesaj);
}
Kodu verdim ama anlatmadım. Hemen anlatayım, Döngüde ilk başlayacak değeri girdik ve bitiminde ; kullandık. ";" sonraki yere koşulu giriyoruz yani biz şu anlamda girdik; i değişkeni 10'dan küçük koşulu bozuluncaya kadar yani i değişkeni 10'dan büyük oluncaya kadar devam et dedik.
Ve bize çıktı olarak 11 kere Java <3 yazdırdı. Neden 11 kere yazdırdı diyecekseniz; 10'dan büyük oluncaya kadar yani 11 olması gerek.
Eğer "<" operatörünün yanına "=" operatörü de katsaydık 10 kere tekrarlayacaktı çünkü 10'a gelince i değişkeni 10'a eşitlenir ve döngü biter.
Bunuda anladığımıza göre diğer döngümüze geçelim.
While Döngüsü
While döngüsünü gerçek hayattan bir örnek verelim; ne zaman su şişesi yere düşerse; * olayını gerçekleştir şeklinde açıklayabiliriz. Her zaman yaptığım gibi bir kod vereyim ve ardından bunu açıklayayım.
Java:
public static boolean sistem;
public static void main(String[] args) {
sistem = true;
while(sistem == true) {
System.out.println("Sistem Aktif");
}
}
Şimdi burda biz, while döngüsünün içine, koşulumuzu yazdık. Anlamı ise ne zaman sistem aktif olursa konsola "Sistem Aktif" yazısını yaz anlamına gelmektedir. Bu değişken illa boolean olmasına gerek yok, boolean'ın yerine integer veya string yazıp while döngüsünde kontrol de edebiliriz.
Bunlardan başka döngülerde var lakin anlattıklarımdan başka şeyler içeriyor. Örnek Liste değişkenleri vs. Listeleri ve diğer döngüleri ilerideki bölümdeki anlatacağım için burada döngüleri ve konuyu kesmek zorundayım :).
Evet, bir konumuzun daha sonunda geldik. Her zamanki gibi bu konumla size birşey kazandırdıysam ne mutlu bana :).
Diğer bölüm yakında yayınlanacaktır. Görüşürüz!