Skip to content

Latest commit

 

History

History
94 lines (56 loc) · 9 KB

File metadata and controls

94 lines (56 loc) · 9 KB

Java Programlama Dili'nin Genel Özellikleri

Java, dünyada web, mobil ve daha birçok alanda yaygın şekilde kullanılan bir programlama dilidir. Özellikle, kurumsal düzeyde büyük yazılım projeleri gerçekleştirmek için çok uygundur. Java ile Özgür Yazılım Lisansı'na versiyonları kullanabilirsiniz. OpenJDK buna en güzel örnektir. Ayrıca, Java diliyle yazılım dünyasında ticari ve özgür yazılım lisansına sahip çok fazla geliştirme aracı mevcuttur. Java'yı güçlü kılan da arkasında bu büyük topluluklardır.

Java dilinde Sınıf (Class) kavramı en önemli özelliktir. Java'da her şeyi Sınıf şeklinde tanımlamanız gerekmektedir. Sınıflar bir nesneyi tanımlayan şablonlardır. Örneğin: Kahve Makinesi gerçek hayatta bir nesneyi ifade eder. Yazılım dünyasında bu gerçek hayat nesnesini tasarlarken, "KahveMakinesi" isminde bir şablon tasarlarız. Bu şablon gerçek hayatta var olan nesneye ait tüm özellikleri bünyesinde barındırır. Bu nesneyi ele aldığımızda renk, uzunluk, genişlik, ağırlık gibi nitelikleri vardır. Bu özellikler tasarladığımız "KahveMakinesi" isimli sınıfta birer değişkeni ifade eder. Suyu ısıtma, kahveyi karıştırma, kahveyi pişirme gibi eylemler ise fonksiyonları ifade eder. Gerçek hayat nesnesine ait bu eylemler "KahveMakinesi" isimli sınıfta birer fonksiyon olarak tanımlanır. Böylece, yazılım dünyasında kahve makinesini modellemiş oluruz. Bu modelden veya şablondan üretilenlere de nesne denilmektedir. "KahveMakinesi" isimli sınıftan bir fabrikada üretiliyormuş gibi onlarca nesne oluşturulabilir. Her üretilen yazılımsal açıdan farklı bir nesneyi ifade eder.

Sınıf: Gerçek hayatta yer alan bir nesnenin yazılım dünyasındaki model halidir.

Nesne: Tasarlanan bu modelden üretilenlere de nesne denilmektedir.

Metot (Fonksiyon): Fonksiyonlar eylemleri işaret eder. Örneğin: Printer isimli bir sınıfa ait "print" isimli eylem yazılım dünyasında bir metodu ifade eder. Metotlar belli parametreler alarak veya almadan belli bir üreten veya üretmeyen kod parçalarıdır.

Değişken: Değişkenler nesnenin niteliklerini işaret ederler. Örneğin: Printer isimli sınıfa ait "color" isimli nitelik bir değişkeni ifade eder. Eğer rengi beyazsa beyaz bir değer alır.

Java dilinde de sınıflar tasarlanır, bu sınıflardan nesneler üretilir. Bu nesneler birbirine bağımlılıklar kurarlar ve böylece birbiriyle iletişim kurarak bir yazılımı meydana getirirler. Lego parçalarıyla büyük bir uçak yapmak gibi 

1.Dilin Temel Kuralları

  • Java dilinde sınıf, metot, değişken gibi isimlendirme yapabildiğiniz her şey büyük küçük harf duyarlılığına sahiptir. Yani, Java'da "invoicePrice" ile "InvoicePrice" birbirinden farklı değişkenlerdir.
  • Sınıf isimlendirmesi yapılırken hep ilk harf büyük olacak şekilde bir tanımlama yapılır. Dilde böyle bir kısıtlama olmasa da okunabilirlik için bu genel kabul görmüş bir yaklaşımdır. Örneğin: "class Printer" gibi.
  • Metot (Fonksiyon) isimlerinin ilk harfi küçük ile başlayacak şekilde, Camel (Deve) Case stilinde bir tanımlama yapılır. Örneğin: "void printInvoice ()" gibi.
  • Java'da sınıfa ait kaynak kodlar ".java" uzantılı dosyaların içine yazılır. Bu dosya ismi sınıf ismi ile aynı olmalıdır. Örneğin: "Printer.java" ise sınıf tanımı "class Printer" şeklinde olmalıdır.
  • Java'da bir programın çalışması için bir başlangıç metoduna ihtiyaç duyar. "public static void main(String args[])" metod başlangıç metodur.

2.Java'da Tanımlayıcı İsimlendirme Kuralları (Identifier)

Yazılım geliştiricinin sınıf, metot ve değişken gibi yapılar için yaptığı isimlendirmelere tanımlayıcı denilmektedir. Örneğin: oluşturulan sınıfa "CustomerService" isminin verilmesi gibi. Java dilinde isimlendirme yapılırken dikkat edilmesi gereken belli başlı hususlar vardır. Bunları aşağıda listelenmiştir.

  • Java'da isimlendirme yaparken ilk karakter harf, $ işareti ve _ (alt çizgi) ile başlayabilir. Rakam ve sayı isimlendirmenin başında yer alamaz. İlk karakteri belirtilen şekilde kurallara uygun verirseniz geri kalanında dilediğiniz gibi isimlendirmeye devam edebilirsiniz.
  • Java diline özel ayrılmış anahtar kelimeler vardır. Bunları da değişken ismi olarak kullanamazsınız. Örneğin: class, int, for, while gibi anahtar sözcükler tek başlarına bir tanımlayıcı olarak kullanılamazlar.
  • Java'da yaptığınız isimlendirme büyük küçük harf duyarlılığına sahiptir. "maxAge" ile "MAXAGE" iki ayrı tanımlayıcıyı ifade etmektedir.

3.Java'da Düzenleyiciler (Modifiers)

Java'da tanımladığınız sınıflara, metotlara, değişkenlere başka kod bloklarından erişimi düzenleyen anahtar kelimelere düzenleyiciler (modifier) denilmektedir. Bu belirteçler ikiye ayrılmaktadır.

  • Erişim Belirteçleri: default, public, private, protected gibi anahtar kelimeler ile ifade edilir. Bu belirteçler yazılan sınıfın, metotun kendi kapsamı dışında bir noktadan erişimini yönetir. Örneğin: "public" anahtar sözcüğü ile erişime açılır. "private" ile dışarıdan erişime kapatılır.
  • Erişim Dışındaki Belirteçler: final, abstract, strictfp gibi anahtar kelimeleri ifade edilir. Bu sözcükler erişim ile ilgili değildir. Örneğin: "final" sözcüğü sınıfın, metotudun veya değişkenin davranışını etkiler.

4.Java'da Değişkenler (Variables)

Java'da bir veri parçasını, ki bu sayı, yazı alanı veya kompleks veri olabilir, hafızada tutmaya yarayan yapılardır. Örneğin: " int year = 2019;" gibi tanımlama yaptığımızda hafıza bir alan bu değer için ayrılır. 2019 verisi hafıza bu adrese yazılır. Değişken, hafıza adresini işaret eder. Aslında, hafıza adresinin kendisini belirtir.

Değişkenler üç tiptedir:

  • Yerel Değişkenler
  • Sınıf Değişkenleri (Statik olanlar)
  • Nesne Değişkenleri (Statik olmayanlar)

5.Java'da Diziler (Arrays)

Dizi kavramı liste halinde veriler tutmaya yarayan veri yapısıdır. Örneğin: 12 aya ait şirket bilançosu dizi şeklinde tutulabilecek bir veridir. Java'da diziler oluşturulduğunda Heap Hafıza'da tutulurlar. Dizi konusu ileride detaylıca işlenecektir.

6.Java'da Enum Yapılar (Enum)

Java'da belirli seçenekleri önceden tanımlanabilen yapılar şeklinde kodlayabilirsiniz. Örneğin: mağazanın müşteri iki tipte ise bunları ENTERPRISE, INDIVIDUAL şeklinde iki tanımlı değerle ifade edebilirsiniz. Böylece, koddaki okunabilirliği arttırabilirsiniz. Müşteri tiplerini 1 ve 2 gibi sayılarla ifade etseydik, kodun başkası tarafından okunabilirliği azalırdı.

7.Java'da Anahtar Sözcükler (Keywords)

Aşağıdaki anahtar sözcükler Java dilinde ayrılmış kelimelerdir. Bu kelimeleri tek başlarına isimlendirmede kullanamazsınız. Örneğin: " int class = 5;" şeklinde bir tanımlama yapamayız. Çünkü, class ayrılmış bir anahtar sözcüktür.

Java Anahtar Sözcükler

8.Java'da Yorum Alanları (Comments)

Java dilinde kodların arasına açıklayıcı metinler eklenebilir. Kod parçasının ne iş yaptığını anlatan veya bilgi veren yorumlar eklenebilir. Bu yorumlar derleyici tarafından dikkate alınmaz. Tek satırlık veya çok satırlı yorumlar ekleyebilirsiniz.

public class MyFirstJavaProgram {

/* This is my first java program.
* This will print 'Hello World'; as the output
* This is an example of multi-line comments.
*/

    public static void main(String []args){
        // This is an example of single line comment
        /* This is also an example of single line comment. */
        System.out.println("Hello World");
    }
}

Java'da kod yazarken kodlar arasında dilediğiniz kadar boşluk bırakabilirsiniz.

9.Java'da Kalıtım (Inheritance)

Java, nesneye dayalı programlamayı destekleyen bir dil olduğu için kalıtım mekanizmasına sahiptir. Kalıtım ile bir sınıf üst sınıfından ortak özellikleri miras yoluyla kendine alabilir. Bu konu ileride detaylıca açıklanacaktır.

10.Java'da Ara yüzler (Interfaces)

Nesneye dayalı programlamanın en önemli kavramlarından biri de ara yüz tanımıdır. Arayüz tanımlarıyla çok biçimliliği ( Polymorphism ) desteklenir. Ara yüz (Interface) kontrat gibi değerlendirilebilir. Örneğin: aracın frenleme sistemi, elektrik sistemi tüm araçlarda bulunması gereken özelliklerdir. Fakat, bunların çalışma biçimi araçtan araca farklılıklar gösterebilir. İşte bu özellik kümesi bir aracın ara yüzü olarak tanımlanabilir. Böylece, yeni bir araç tanımlamak isteyen herkes bu kontrata uygun bir yapı kurmalıdır.