Syntax (Sözdizimi)

Elimizdeki bilgilerle javada syntax konusuna geçebileceğimizi düşünüyorum. Syntax bir programlama dilindeki ifadelerin belirli bir düzende yazılması anlamına gelmektedir. Önceki yazılarda verdiğim küçük programlar, bu bahsi geçen sözdizim kurallarını takip etmektedir. Java, C tabanlı bir syntax disiplinini izlemektedir. Bu tarz bir dilde kodlama yaptıysanız, aşağıdaki konuları çabucak geçebileceğinizi düşünüyorum.

Biraz geri gidelim ve “Merhaba dünya” demek için yazdığımız kodu hatırlayalım.

public class HelloWorld {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("Merhaba Dünya");
	}

}

Öncelikle görünen en basit yerden başlayalım. Bunun için yorum satırını seçmek istiyorum. Javada yorum satırları iki şekilde yazılabilir.

  • Tek satır yorumlar
// Bu bir tek satırlı yorum. Satır başındaki çift slash bunu belirtir.
  • Çok satırlı yorumlar
/*
Bu bir çok satırlı yorum.
İlk satırdaki slash-yıldız ile satırlar başlar.
Son satırdaki yıldız-slash ile yorum ifadesi sonlanır
*/

Javada çalıştıracağımız kodlar bir sınıf bloğunun içerisinde yer almalıdır. Bir blok süslü parantezler arasında kalan bölgedir. Açılışı (Sağa bakan süslü parantez) ve kapanışı (Sola bakan süslü parantez) olmalıdır. Aksi durumda derleyici hata verecektir.

public class HelloWorld {
// Burası bir sınıf bloğu 
}

Bununla birlikte dikkat edilmesi gereken husus javanın büyük-küçük harf duyarlı yani case sensitive olmasıdır. Rezerve edilmiş anahtar kelimeleri tanımlandığı gibi kullanmanız gerekmektedir. Yani class, Class, CLaSs ve clasS farklı şeylerdir. Yukarıda verdiğimiz sınıf bloğunun başına gidersek orada 3 tane sözcük göreceğiz.

  • public: Erişim düzenleyicidir. Bu örnekte; ilgili sınıfa herkesin erişebileceğini söylemektedir. Bu konuya daha sonra da değineceğiz.
  • class: sınıf tanımlama için gerekli anahtar kelimedir. Kendisinden sonra gelen sözcüğün bir sınıfı nitelediğini belirtir.
  • HelloWorld: Kullanıcı insiyatifine kalmış bir sözcüktür. Sınıfımızın ismidir. Genel disiplin olarak sınıf isimleri PascalCase yazılır. Dosya adınızın da sınıf ismi ile aynı olması beklenir.

Javada method ismi verilen ve belirli işleri gerçekleştiren yapılar mevcuttur. Bunları bir fonksiyonu gerçekleştirmek için peşpeşe çalışan komutlar bütünü gibi düşünebiliriz. Bir java uygulaması başlarken belirli isimdeki bir methoda ihtiyaç duyar. Merhaba dünya uygulamamızda da bu method tek başına mevcuttur.

  • main methodu java uygulamalarının başlangıç noktasıdır.
	public static void main(String[] args) {
		// main method bloğu
	}

Main methodu tıpkı diğer methodlar gibidir. Eğer java uygulamalarını bir arabaya benzetirsek, main methodu arabanın kontağı gibidir. Method tanımımız 4 anahtar sözcük ve 1 ifade ile oluşturulmuştur.

  • public: Erişim düzenleyicidir.
  • static: Daha sonraki konularda değineceğimiz bir anahtar kelime. Şu an bahsetmeden geçiyoruz.
  • void: Methodun geri dönüş değerinin tipidir. Geri dönüş tipi void olan bir method geriye değer dönmez. Bunu benzetmek gerekirse
    • İki sayıyı kendi içinde toplayıp sonucu söylemeyen bir method void dönüş tipli tanımlanır
    • İki sayıyı toplayıp sonucu söyleyen method sayısal dönüş tipli tanımlanır
  • main: Methodumuzun ismidir. Genel disiplin olarak küçük harfle başlar ve camelCase olarak isimlendirilir.
  • Parantezli ifade: Methodun aldığı parametrelerdir. İki sayıyı toplayan bir method iki adet parametre alır. Bu methodumuz 1 parametre almıştır.
    • String[]: Alınan parametrenin tipidir. Bu ifade, parametrenin tipinin bir String dizisi olduğunu belirtir.
    • args: Alınan parametrenin adıdır. Method bloğu içerisinde bu isimle, bu değişken kullanılabilir.

Merhaba dünya uygulamamızda kalan son satıra da değinelim.

System.out.println("Merhaba Dünya");

Az önce değindiğimiz üzere javada belirli işleri gerçekleştirmek üzere bir araya gelmiş kodlar bütününe method diyoruz. Elbette javada kendi methodlarımızı tanımlamamız veya javanın kendi tanımlamış olduğu methodları kullanmamız mümkündür. Burada da java içerisinde bulunan System isimli sınıfın out isimli alanının println isimli methodunu kullanıyoruz. Bu ifadeyi dörde ayırabiliriz

  • System.out.println: Kullanmak istediğimiz methodun lokasyonu (Sınıf.eleman.method)
  • (): Methodun parametrelerinin alındığı parantezler
  • “Merhaba Dünya”: Methodun parametresi
  • Noktalı virgül: İfade satırının bittiğini gösteren işaretçi. Javada satır sonları noktalı virgül ile derleyiciye bildirilir. Bunu her satırın sonuna yazmak gerekmez. Dikkat ederseniz blok açılış ve kapanışlarında, boş satırlarda ve yorum satırlarında noktalı virgül bulunmamakta.

Burada değinilen bazı konular hiç bilmeyenler için yabancı kalabilir. Önerim ilerleyen konuları incelemeye devam etmeniz ve zaman zaman geri dönüp konuları tekrar okumanızdır. Sözdizimi konusunda şimdilik aktarabileceklerim bunlar. Sonraki yazılarda kodlama yapmaya başlayacağımız işlere doğru yol alacağız. Şimdilik önerim ilk yazılara hızlıca bir göz gezdirmeniz olacak. Unutmayın ki bunlar temel konular. Temel ne kadar sağlam olursa, bina o kadar güçlü olur!