Sol Reklam
Sağ Reklam

Java | Bölüm 2 | Metodlar, Erişim Belirleyiciler & Döngüler

Durum
Mesaj gönderimine kapalı.

FatihE

Java Dev

Discord:

Fatih#1469

Katılım
19 Ağustos 2019
Mesajlar
153
Elmaslar
115
Puanlar
1.290
Yer
Ankara
Minecraft
Fatih
Java (3).png


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.

1585734848257.png


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);
Bu kod satırı bir yerde kullandık, başka yerde de kullanacağız diyelim. Mesela bir classta daha kullanacağız. 2 yere de üstteki kodu yazarsak 4 satır boşuna gidecektir. Aslında metodun kullanım amacı bu sayıları yarıya indirmek için kullanılır. Metodların 2 tane başlığı vardır;
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!");
    }

}
Not: Return metodunda, geri döndürülen veri'nin türünü metodun ilk satırında belirtmemiz lazım. Yani;
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.
    }

}
Bu şekilde geri döndürdük. Geçelim Void Metodlarına;



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.


}

1585734857464.png


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






1585734857464.png


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;
1585737378118.png



1585734866384.png


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

1585734848257.png

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!




 
S

Silinen üye 79251

Ziyaretçi

İlk bölümün yanı sıra 2. bölüm daha geniş kapsamlı, öğretici ve hoş anlatımlı olmuş ki 3. bölümünü mutlaka bekliyor olacağım. Elinize sağlık ?
 

FatihE

Java Dev

Discord:

Fatih#1469

Katılım
19 Ağustos 2019
Mesajlar
153
Elmaslar
115
Puanlar
1.290
Yer
Ankara
Minecraft
Fatih

Fire Coder

Zombi Geldi, Beni Yedi

Discord:

MehmetT#8316

Katılım
10 Kasım 2017
Mesajlar
236
Elmaslar
89
Puanlar
9.075
Yer
Aydın / Kuşadası
Minecraft
firesniper
Öğretici ve anlamlı bir konu olmuş fatih bey. Başarılar <3
 

AksuCraft

oyna.aksucraft.com
Katılım
11 Ekim 2019
Mesajlar
87
Elmaslar
64
Puanlar
1.310
Yaş
25
Yer
Aksu
çok güzel bir konu olmuş emeğine sağlık
 

FatihE

Java Dev

Discord:

Fatih#1469

Katılım
19 Ağustos 2019
Mesajlar
153
Elmaslar
115
Puanlar
1.290
Yer
Ankara
Minecraft
Fatih

Reynixan

Le cose belle arrivano quando non le cerchi.

Discord:

Reynixan#8044

Katılım
22 Ocak 2020
Mesajlar
635
Elmaslar
725
Puanlar
8.175
Yaş
21
Yer
Istanbul
2. bölümün bu kadar kısa zamanda gelmesini beklemiyordum. Buna rağmen böyle güzel ve öğretici bir konu gerçekten çok başarılı.
Eline sağlık.​
 

Ahmet Arda/trool_

Odunlara Vur Vur Vur!

Discord:

troool#5062

Katılım
21 Ağustos 2020
Mesajlar
38
Elmaslar
39
Puanlar
370
Minecraft
troool_
Uzun Zamandır Java İle Kod Yazmıyordum Ve Birkaç Şeyi Unuttum, Bu Konu Sayesinde Unuttuklarımı Hatırladım Konunun Devamını Dört Gözle Bekliyorum
 
Son düzenleme:

kapandı bu hesap

Koydum Çalışma Masasını

Discord:

cemicyz#0001

Katılım
11 Temmuz 2020
Mesajlar
59
Elmaslar
40
Puanlar
0
Minecraft
cemicyz

Ahmet Arda/trool_

Odunlara Vur Vur Vur!

Discord:

troool#5062

Katılım
21 Ağustos 2020
Mesajlar
38
Elmaslar
39
Puanlar
370
Minecraft
troool_

CAN147

Ahanda Zümrüt!
Yasaklandı

Discord:

CAN147#1757

Katılım
16 Eylül 2018
Mesajlar
1.065
Elmaslar
701
Puanlar
12.735
Discord İzni
İleri ki zamanlar da boş bir custom inventory nasıl oluşturulur spigot api sayesinde ulaşabileceğimiz eventler (bir iki örnek ile) örnek: inventoryclickevent, inventoryopenevent gibisinden daha yardımcı olabilirsin spigot'un kendi websitesinde bu tür dökümanlar mevcut başarılar.
 
Durum
Mesaj gönderimine kapalı.
Neden altınlarını Discord sunucumuzda kazmıyorsun? TIKLA VE KATIL!
Yukarı