Search

Java Program Kodlama

16 Ocak 2015 Cuma

SMALL JAVA PROGRAMS
Başlat -> Çalıştır  sekmelerine basınca açılan pencerede Search Programs and Files: -----   kutucuğuna  cmd  yazıp  entere basınız.
Başlat -> Tüm Programlar -> Donatılar sekmelerinden sonra açılan alt pencereden Komut İstemi (Command Prompt) sekmesine tıklayınız.
Windows’un farklı sürümleri için de benzer işler yapılabilir. Yukarıdakilerden birisini yaptığınız zaman, ekranda siyah zemin üzerine beyaz yazılar yazılan Komut İstemi (Command Prompt) penceresinin açıldığını göreceksiniz. Bu pencereye istediğiniz dos komutunu yazabilir ya da yürütülebilir (executable) herhangi bir programı çalıştırabilirsiniz.
Şimdi yazdığımız programları içine kaydedeceğimiz bir dizin yaratalım. İstediğiniz sürücüde istediğiniz adla bir dizin ya da alt dizin yaratıp Java programlarınızı oraya kaydedebilirsiniz. Programlarımızı C: sürücüsünde yaratacağımız jprg dizini içine kaydetmek isteyelim. Bunun için şu komutları yazacağız:
md C:\jprg
cd C:\jprg
Bunlardan birincisi olan md (make directory) komutu istediğimiz dizini yaratır. İkincisi olan cd (change directory) komutu ise o dizini etkin kılar. Basit bir deyişle, sistemin yazma/okuma kafası o dizin içine girer ve orada yazabilir ve okuyabilir. Dizine girdiğimizi, Komut İstemi ekranında beliren
C:\jprg>
görüngesinden anlarız.  Bu simgeler daima Komut İstemi penceresinde görünecektir; etkin olan dizini gösterir. Dos komutlarını  c:\jprg>  etkin (prompt) simgesinden hemen sonra yazacağız. Şimdi program yazmamıza yardım edecek basit bir editör açalım. Komut İstemi penceresinde edit yazıp Enter tuşuna basınız:
edit
Eğer editör penceresi açılmazsa, sisteminiz edit.com  dosyasını görecek biçimde ayarlı değildir. Bunu PATH çevre değişkeni ile ayarlayabilirsiniz. Ama, şimdi zaman kaybetmemek için, edit.com  dosyasının bulunduğu adresi tam yazarak, editörü açabiliriz:
C:\WINDOWS\system32\edit 
Açılan editörde aşağıdaki programı yazıp Dosya sekmesinden Farklı Kaydet seçeneğine basınız. Açılan alt pencerede Dosya Adı yerine Program001.java yazıp Enter tuşuna basınız. İsterseniz yazma ve kaydetme işini Notepad ile de yapabilirsiniz.
Program001.java
class Program001
{
}

İpucu
Java kaynak programlarının dosya adlarının uzantısı .java olmalıdır.
Programa verilen dosya adı ile programda tanımlanan class adı aynı olmalıdır.
Tabii, bir programda birden çok class olabilir. Burada söylenen şey, programdaki iç sınıfların hepsini içeren en dıştaki class’ın adı ile dosya adının aynı olması gereğidir. Bunun nasıl yapıldığını ilerideki örneklerimizde daima göreceğiz.
Java  nesne yönelimli bir dil olduğu için, hemen her şey sınıflar (class) içine yazılır. Programda kullanacağımız değişkenler ve metotlar mutlaka bir ya da birden çok sınıf  içinde tanımlanmalıdır. Bunların nasıl olacağı, bu dersin asıl konusudur ve onları adım adım öğreneceğiz.
Yukarıda yazdığımız Program001.java dosyası için tanımlanan Program001 sınıfının içi boştur. Dolayısıyla, bu sınıfın hiçbir iş yapmayacağı açıktır. Böyle olduğunu birazdan göreceğiz. javac.exe  derleyicisi ile programı derlemek için
javac Program001.java
yazıp Enter tuşuna basınız. Eğer sisteminiz  javac.exe  derleyicisini görmüyorsa, derleyicinin bulunduğu adresi yazabilirsiniz.
C:\jdk\bin\javac  Program001.java
Derleyici Program001.class adlı bytecode dosyasını yaratacaktır. (Bunu görmek için DOS kipinde dir komutunu çalıştırınız.)
Şimdi Program001.class dosyasını yorumlamak (yürütmek, icra) için java.exe yorumlayıcısını kullanacağız:
              java Program001
Yorumlayıcı bize aşağıdaki iletileri gönderecektir.
C:\jprg\src>javac Program001.java

C:\jprg\src>java Program001
Exception in thread "main" java.lang.NoClassDefFoundError: Program001
Caused by: java.lang.ClassNotFoundException: Program001
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Program001.  Program will exit.

C:\jprg\src>
Bu iletinin ilk satırı javac.exe derleyicisinin Program001.java dosyasının derlemesi için verdiğimiz komuttur. Derleyici bu komuta karşılık bir hata olduğu iletisi göndermemiştir. O halde Program001.class adlı bytecode dosyasının yaratıldığını anlayacağız.
İkinci satır java.exe yorumlayıcısının Program001.class bytecode’unun yorumlaması (yürütülmesi) için verilen komuttur. Bu komuttan sonra gelen iletiler, komutun yürütülemediğini ve yürütülemeyiş nedenlerini açıklayan satırlardır.  
Üçüncü satır, java.exe yorumlayıcısının programı yürütmek için gerekli olan main() metodunu bulamadığını söylüyor.
Programın yürütülemeyiş nedeni, üçüncü satırdaki ileti ile bildirilmektedir. Ondan sonraki satırları şimdilik düşünmeyiniz. Onlar, yorumlayıcının kendi iç işlevlerini ilgilendiren şeylerdir.
İpucu
Derleyici kaynak programda sözdizimi (syntax) hatası olduğunda programı derleyemez. Derleyici, derleyemediği her programda, sözdizimi yanlışlarını satır numarası yanında olası hatanın ne olduğunu yazarak bize iletir.  Bu iletiler, programın düzeltilmesinde (debug)  çok işe yararlar.
Ama, şimdilik bunları hiç düşünmeden, derleyicinin bizden istediği giriş noktasını oluşturmaya çalışalım.
Java uygulamaları bir main() metodu (fonksiyon) tarafından eyleme geçirilir. Programın yapacağı bütün işler bu main() metodu tarafından belirlenir. Buna programın giriş noktası diyoruz. Şimdi yukarıdaki programımıza  main()metodunu ekleyelim ve Program002.java adıyla kaydedelim.
Program002.java
class Program002
{
    public static void main(String[] args)
    {
    }
}
Sonra programı derleyelim:
javac Program002.java
Derleyicimiz gene hiç hata (error) iletisi göndermedi. Demek ki programı derledi ve yürütülebilir bytecode’a çevirdi. Gerçekten Dos kipinde
dir
komutu verirseniz, c:\jprg dizini içinde Program002.class adlı bytecode dosyasını göreceksiniz.  Bu dosyayı yorumlamak için
java Program002
komutunu yazmanız yetecektir. Bunu yazdığınızda, program çalışır, ama siz ekranda bir şey göremezsiniz. Çünkü, programın içine ekrana çıkacak bir şey yazmadık. Şimdi bunu yapalım.
İpucu
Bir dili öğrenirken işin pedagojisi ile sistematiği asla paralel gitmez. Bu nedenle, bazen pedagojiden bazen sistematikten ödün vermek gerekir. Böyle durumlarda, görünmez uzaylı dostumuz Uzay bize ipucu verecektir. Şimdilik Uzay’ın bize verdiği ipuçlarını kullanalım. Zamanla, onları daha iyi kavrayacağız.
İpucu
Ekrana bir şey yazdırmak için System.out.print() ya da System.out.println() metotları kullanılır. İkisi de aynı işi yapar, ancak birincisi isteneni yazdıktan sonra, yazdığı satırın sonunda bekler, ikincisi isteneni yazdıktan sonra satırbaşı yapar; yani alttaki satırın başına geçer.
Şimdi bu ipucuna göre programımızı düzeltelim.
Program003.java
    class Program003
    {
        public static void main(String[] args)
        {
            System.out.println("Merhaba Java! ")
        }
    }
Bu programı kaydettikten sonra derleyelim:
javac Program003.java
Bu kez, Komut istemi penceresinde şunu göreceğiz: 

C:\jprg\src>javac Program003.java
Program003.java:5: ';' expected
            System.out.println("Merhaba Java! ")
                                               ^
1 error

Bu iletinin ikinci satırı kaynak programın 5-inci satırında hata olduğunu, hatanın ‘;’ simgesinin yokluğu olduğunu söyler. Üçüncü satırda ise hatanın yeri  (^) simgesi ile işaret edilmektedir.
İpucu
Java dilinde her deyimin sonuna  (;) konulur.
Derleyicinin hata iletisi kesinlikle kaynak programda bir hata olduğunun belirtir. Tabii her programcının yaptığı hatayı tam belirleyemeyebilir. Ama kaynak programdaki hatayı kategorik olarak bildirir ve yerini doğru işaret eder. O nedenle, hatayı işaret edilen yerde aramalıyız.
Şimdi eksik olan (;)  yazarak programımızı düzeltelim (bu işleme ‘debug’  denir).
Program004.java
    class Program004
    {
        public static void main(String[] args)
        {
            System.out.println("Merhaba Java! ");
        }
    }
Bu programı Program004.java  adıyla kaydedelim ve derleyelim:
javac Program004.java
Derleyicimiz başka bir hata iletisi göndermez. Öyleyse yorumlanabilir bytecode dosyasını yaratmıştır.
Gerçekten
dir
komutunu yazarsak, C:\jprg dizininde Program004.class  bytecode dosyasının yaratıldığını görebiliriz. Şimdi bu dosyayı koşturmak için,
Program004
yazıp Enter tuşuna basarsak, ekranda
Merhaba  Java!
yazısını göreceğiz.
Buraya kadar dört adımda ekrana ‘Merhaba Java!’  tümcesini yazdıran bir program yazdık. Bu bir tümce yerine bir roman ya da karmaşık matematiksel işlemlerden oluşan deyimler de olabilirdi. Uzun ya da kısa metinler veya basit ya da zor işlemler için yapacağımız iş hep budur. Bu biçimde yazacağımız küçük programlarla Java dilinin bütün hünerlerini öğreneceğiz. Büyük programların bu küçük programların uyumlu birleşmesinden oluştuğunu hiç aklımızdan çıkarmayalım.  O nedenle, bütünleşik bir uygulama geliştirme aracını (IDE) kullanmaya başlamadan, Java dilinin temellerini öğrenmeye devam edeceğiz.

Kaynak Programın Biçemi
Programlama dillerinde, belirli bir işi yapmak üzere yazılan sözdizimi (kod) parçasına deyim denir. Örneğin,
          System.out.println("Merhaba Java "); 
bir deyimdir. Java dilinde bir deyimin bittiğini derleyiciye bildirmek için, o deyimin sonuna (;) konulur. Bir deyimdeki farklı sözcükler birbirlerinden en az bir boşluk karakteri ile ayrılır. Kaynak programda ardışık yazılan birden çok boşluk karakterleri tek boşluk olarak algılanır. Benzer olarak, tablar, satırbaşları ve boş satırlar birer boşluk karakteri olarak yorumlanır. Dolayısıyla, yukarıdaki programı
Program004a.java
class Program004a { public static void main(String[] args) {System.out.println("Merhaba Java! );}}
biçiminde ya da
Program004b.java
class
Program004b
{
Public static

void
main()

{
System.out.println("Merhaba Java! ");
}
}
biçiminde de yazabiliriz. Derleyici, kaynak programı derlerken birden çok tekrar eden boşluk karakterlerini, tab ve satırbaşlarını birer boşluk karakteri sayacaktır.
Buraya kadar Java diline ait bazı kavramları açıklamadan kullandık. Bu noktada basit açıklamalar yapmak yararlı olabilir.
Sınıf (class)
Sınıflar (class) Nesne Yönelimli Programlamanın (Object Oriented Programming) temel taşlarıdır. Programın kullanacağı her değişken, her deyim, her metot (fonksiyon) mutlaka bir sınıf içinde tanımlanmalıdır. Bir sınıf içinde tanımlanan metotlar (fonksiyonlar) ve değişkenler o sınıfın öğe'leridir (member). Karışmamaları için, bir sınıfta aynı adı taşıyan iki öğe olamaz (aşkın öğeler kavramını ileride göreceğiz).
Bloklar
Kaynak program bir ya da bir çok sınıftan oluşur. Sınıfların her biri bir bloktur. Bir sınıf içindeki her metot (fonksiyon) bir bloktur. Örneğin, yukarıdaki programın tamamından oluşan
class Program004
{
}

bir bloktur. Benzer olarak,

public static void main(String[] args)
{
}

metodu da bir bloktur. main(){ } bloku,  class Program004.java{ }  blokunun içindedir. Bu tür bloklara iç-içe bloklar diyoruz.  Bir blok içinde gerektiği kadar iç-içe bloklar oluşturabiliriz. Bir programda birden çok sınıf ve bir sınıf içinde birden çok blok olabilir. Bloklar, adına blok parantezleri diyeceğimiz { } simgeleri içine yazılır. Bazan main(){ } blokunda olduğu gibi blok parantezlerinin önüne blok adı gelebilir. Her sınıf (class) ve her alt sınıf bir bloktur. Bir sınıf içinde yer alan her metot (fonksiyon) bir bloktur. İleride göreceğimiz if, case ve döngü yapılarının her birisi bir bloktur. Bir sınıf içinde birbirlerinden bağımsız bloklar seçkisiz sırada alt-alta yazılabilir. Ancak iç-içe olan bloklar, istenen işlem sırasını izleyecek uygun sırayla iç-içe konur. İç-içe blok yazılırken, en içten dışa doğru blokun başladığı ve bittiği yerleri belirten blok parantezlerinin ({ }) birbirlerini karşılaması sağlanmalıdır. Bu yapılmazsa derleme hatası doğar. İç-içe bloklarda, işlem öncelikleri en içten en dışa doğru sıralanır.
Derleyici kaynak programın biçemine (format) değil, sözdizimine bakar. Ama kaynak programı hem kendimiz hem de başka programcılar için kolay okunur biçimde yazmak iyi bir alışkanlıktır. İç-içe giren blokları  birer tab içeriye almak, alt-alta yazılan bloklar arasına birer boş satır koymak, kaynak programın, programcı tarafından kolay okunup anlaşılmasını sağlar. Özellikle, uzun programlarda düzeltme (debug) ya da güncelleme (update) yaparken, kaynak programın yazılış biçemi işin kolay ya da zor yapılmasına neden olur.
Programa Açıklama Ekleme
Kaynak programımızın biçemi bilgisayar için değil, onu okuyan kişiler için önemlidir, demiştik. Büyük bir programın kaynağının kolay anlaşılır olmasını sağlamak programcının ahlâki sorumluluğundadır. Bunu sağlamak yalnızca programın biçemiyle olmaz. Büyük programlar için sınıfların, metotların, değişkenlerin işlevleri ayrıca açıklanmalıdır. Büyük yazılım firmaları programdaki her ayrıntıyı açıklayan döküman hazırlarlar. Böylece, yıllar sonra programcılar değişse bile, o dökümanlara bakılarak, kaynak program üzerinde değişiklikler, iyileştirmeler yapılabilir.
Java dilinde programa açıklama eklemek için iki yöntem kullanırız. Bu yöntemler C, C++ ve java gibi bir çok dilde de var olan yöntemlerdir.
Tek satır açıklaması
// simgesinden sonra satır sonuna kadar yazılanlar derleyici tarafından işlenmez. Bir satırın bütününü ya da bir satırın ortasından sonuna kadar olan kısmı açıklamaya koyabiliriz:
// Bu metot net ücretten gelir vergisini hesaplar
// System.out.println("Merhaba java!");
return netÜcret;   // metodun değeri netÜcret 'tir
Birincide satırın tamamı bir açıklamadır. Örneğin, gelir vergisi hesaplayan bir metodun başladığı satırdan önceki satıra konulabilir, böylece metodun ne iş yaptığı her okuyan tarafından anlaşılır.
İkincide, genellikle program yazarken bazı deyimlerin programa konulup konulmamasının etkisini görmek için, programcının sık sık başvurduğu bir yöntemdir. Bir deyimin başına  // simgelerini koyarak o deyimi derleyicinin görmesini engelleyebilirsiniz.
Üçüncüde, önce bir deyim yazılmış, deyimin bittiği yerde // simgesi konulmuştur. Derleyici deyimi görür ve işler, ama // simgesinden sonra satır sonuna kadar yazılanları görmez. Bu yöntemle, bir deyimin ne iş yaptığını kolayca açıklayabiliriz.
Çoklu satır açıklaması 
Bazan yapacağımız açıklama tek satıra sığmayabilir. O zaman ardışık açıklama satırlarını /*   */  simgeleri arasına alırız.
/*
Bu sınıf 20 Ağustos 2008 tarihinde
Java  ile Nesne Programlama
kitabının Onikinci Bölümü için yazılmıştır.
*/
Bu yöntem çok satırlı açıklamalar için kullanıldığı gibi, program yazarken ardışık satırlardan oluşan bir blokun, bir metodun, bir sınıfın programda olup olmamasının etkisini görmek için programcının geçici olarak başvurduğu önemli bir araçtır.



Java - 5

JAVA

Java, genel amaçlı nesneye yönelik bir programlama dilidir. Sözdizimi C ve C++’a çok benzer. Başlangıçta Java, küçük sistemleri tüketici aygıtlarına gömme yoluyla yazılımın kurulmasında karşılaşılan sorunları adreslemek için geliştirilmişti.

Java, Sun Microsystems taraf ından geliştirilen nesne yönelimli bir programlama dilidir. Ağ(network) ortam ı düşünülerek ve yaz ıl ım ın platform bağımsız olarak Anlışması (değişik bilgisayar türlerinde ve değişik işletim sistemlerinde Anlışması) düşünülerek geliştirilmiştir. Bu nedenle, diğer dillerden farklı olarak, aynı zamanda kendisi de bir platformdur.

Java diliyle birçok uygulama geliştirmek mümkündür:

  • Grafiksel Kullanıcı Arayüzü (Graphical User Interface: GUI) uygulamaları,
  • Appletler,
  • Dağıtılmış bileşenler (EJB, RMI, CORBA, vb.),
  • Web tabanlı uygulamalar (Servlet, JSP, vb.),
  • Veritabanı erişimli uygulamalar,
  • Cep telefonu, Akıllı kart uygulamaları.
  • Java platformları:
  • Standart Java
  • Enterprise Java
  • Gömülü cihazlar (embedded devices) için Java

JAVA NASIL ÇALIŞIR?

Java kodları, Notepad gibi basit bir kelime işlemci programı ile yazılır. Yazılan kodlar, .java uzantısıyla kaydedilir. Bu haliyle kodlar metin halindedir. Bu kodların Anlışması için önce derlenmeleri gerekir. Derlemek için, bir derleyici gerekir. Bunun için J2SE - SDK (Java 2 Platform Standart Edition ñ Software Development Kit) yüklenmiş olması gerekir. J2SEíde derlenen kodlar, .class uzantılı hale gelir. Bu haliyle kodlar ikili kod (binary code) şeklindedir. Derlenen kodlar, Anlıştırılmak için Java Virtual Machine (JVM) adı verilen ortama yüklenir. JVM, J2SEínin içinde bulunmaktadır. Derlenen dosya Anlıştırıldığında, kodlardan istenilen işlemler gerçekleştirilir; uygulama Anlışmış olur.

JAVA DİLİNE GİRİŞ

Java’ya Başlarken

Derleme birimi olarak adlandırılan bir Java kaynak kütüü bir ya da birkaç sınıf tanımı içeren bir metin kütüğüdür. Java derleyici, bu kütüklerin .java kütük adı uzantısı ile yüklenmesini bekler. Java kaynak kodu derlendiği zaman, her bir sınıf kendi çıktı kütüğüne yerleştirilir. Java’da genel fonksiyonlar ve değişkenler olmadığı için, bir Java kaynak kütüğünde olabilecek tek şey bir ya da birkaç sınıfın tanımıdır.



Küçük Program Yazımı

İlk Java programımızı yazalım.

class HeyDünya {
public static void main(String args[ ]) {
System.out.println("Hey Dünya!");
}
}

Java, tüm kodların adı olan bir sınıfta yer almasına gereksinim duyar. Kütük adının harf düzeninin sınıf adına uygun olduğundan emin olduktan sonra, bu metni
HeyDünya.java adlı bir kütüe yüklemelisiniz. Kütük adlarının sınıf adına uygun olması. programınızı çalıştırmada çok yardımcı olacaktır. Java derleyici javac’ı
çalıştırarak ve komut satırı üzerinde kaynak kütüğün adını belirterek bu metni derleyebilirsiniz; aşağıda gösterildiği gibi:

C:\> javac HeyDünya.java

Javac derleyici, yeni programın bayt kodundan bağımsız olarak derlenmiş bir işlemciyi kapsayan ve adı HeyDünya.class olan bir kütük hazırlayacaktır. Bayt kod,
Java Sanal Makina (Java Virtual Machine) yorumlayıcı için makine dili komutlarını içeren programınızın bir ara sunumudur. Bu programı çalıştırmak için, bu yeni sınıfı önce yükleyen, sonra çalıştıran bir Java yürütme zamanınızın olması gerekir. Bunu yapmak için ise, java komut satırında argüman yerine HeyDünya adlı sınıfa geçiş yapmanız gerekir.

C:\>java HeyDunya
Hey Dünya!

Bu noktada önemli olan, Java derleyicinin ve yürütme zamanının doğru olarak,kurulmasıdır.

Şimdi, yazdığımız programı satır satır inceleyelim.

"HeyDunya" basit bir program olmakla birlikte ilk kez kullandıınız yepyeni bir programlama dili ile tanışmış oldunuz. Bunun yanısıra yeni kavramlar ve ayrıntılar için attığınız ilk adımdır. İşte ilk satırımız:

class HeyDunya {

Bu satır, yeni bir sınıfın tanımlandığını bildirmek için class sözcüğünü kullanır. HeyDunya, sınıfı tanıtmak amacıyla kullandığımız geçerli bir tanıtıcıdır. Açık küme (kıvrımlı) parantezi ({ ) ile kapalı küme (kıvrımlı) parantezi ( }) arasında sınıfın tam adı, kod ve veri yer alır. Java’da bu parantezlerin kullanımı C ve C++ yapısı ile eşdeğerdir.

public static void main(String args[ ]) {

Bu basit programın ikinci satırı genel fonksiyonların olmadığını, yalnızca sınıfların yer aldıını bildiren Java tasarımı ile zorlaştırılır. Alan ve yöntemler bir araya gelerek sınıfları oluşturur. Sınıfın tanımı sınıfın yapısını ve hareketini belirler. Yöntemler fonksiyonlardan biraz daha farklı olup kendi sınıflarının veri alanlarına (değişkenlerine) erişebilirler.

public

public anahtar sözcüğü bir erişim belirleyici olup, programcıya her bir değişkenin ya da yöntemin kontrolünü verir. Burada public anahtar sözcüü herhangi
bir sınıfın main yöntemini görebildiğini göstermektedir.

private

Bu tip bir sınıfa yalnızca paket içerisinde ulaşılabilir. Bir sınıfın tanımlanması sırasında public ya da private olduğu belirtilmediği zaman, sınıfın otomatik olarak private olduğu kabul edilir.

abstract

Soyut yöntemlerin yer aldığı sınıfları belirtir. Soyut yöntemler program kodu olmayan anlamına gelmektedir. Soyut sınıflar diğer sınıflar için yapı oluşturur.

static

Bir sınıfa uygulanan yöntem ve değişkenlerin static olduğu bildirilir. Yöntem, sınıfın özel bir örneğinin çalıştırılmasına gerek kalmadan çağrılabilir. Main durumunda örneklerden önce yorumlayıcı tarafından çarıldığı için, static olduğunu bildirmek gerekir. Static olduğu bildirilen yöntemler, statik ve yerel değişenlerden başka herhangi bir şeye doğrudan başvuramayabilir. Nesneye yönelik programlama dillerinde statik değişken ve yöntemlere sınıf değişkenleri ve sınıf yöntemleri adı verilmektedir.

void

Genellikle birtakım özel türlerin değerleri için yöntemler kullanılır. Örneğin tamsayı değerler için int, gerçel sayı deerleri için float ya da daha karmaşık değerler için bir sınıfın özel adları kullanılmaktadır.

main

Java, tüm anahtar sözcük ve tanıtıcılara göre harfe duyarlı bir yapıya sahiptir. Bir başka deyişle Java’da Main ile main farklı yöntemleri ifade etmektedir. Java derleyici, bir main yöntemi olmayan sınıfları derler. Ancak Java yorumlayıcı bu sınıfları çalıştırmaz. Bu programı yanlış yazdığınızı ya da Java tanıtıcılarının harfe duyarlı olduğunu bilmedipinizi varsayalım ve main yerine Main yazdığınızı kabul edelim. Derleyici HeyDunya adlı sınıfınızı derler.  kullandığınız Java yürütme zamanı, çalışmayı başlatacak yöntemi bilmediği için derlemeyi gerçekleştirir.

Örneğin main sözcüğünü hatalı yazdıysanız, programı çalıştırmak istediinizde aşağıdaki mesajı alırsınız:

C:\> java HeyDunya
HeyDunya sınıfında: void main (String argv[ ]) tanımsız

Yöntemlerin bir kısmı parametrelere gereksinim duyar. Bu parametreler parantez içerisinde belirtilir. Verilen yöntem için parametreye gereksinim yoksa, parantezi boş olarak yerleştirmeniz gerekir. Bizim örneimizde gördüümüz gibi kullanılan bir parametre vardır. String args [ ], args adlı bir parametreyi göstermektedir. Tanıtıcıdan sonra kullanılmış olan köşeli parantezler ([ ]), bunun türünün bir dizi olduğunu göstermektedir. String karakter dizilimleri depolayan bir sınıftır.

Yorumlayıcının ba#langıç yeri main yöntemidir. Program bir düzine sınıfa sahip olabilir, ancak bunlardan biri main yöntemine sahip olabilir. Applet’lar (Web
browser’larda gömülü olan küçük Java programlarına denmektedir) hazırlamaya başladıınız zaman, Web browser’ın Java yürütme zamanı farklı bir kalıba sahip
olduğundan main yöntemi kullanılmaz.

System.out.println("Hey Dünya!");

Bu satır out içerisinde println yöntemini çalıştırır. Out, bir OutputStream sınıfı elemanı olup, System sınıfında kullanılmaktadır. OutputStream sınıfının println yöntemi dizilimi basar. Bu yöntem, bir başka çıktının yeni satır üzerinde basıldığından emin olmak için baskıdan önce, bir yeni satır
karakterini dizilimin sonuna ekler.

Sözsel Bileşenler

Java programları komutlar, anahtar sözcükler, tanıtıcılar, hazır bilgiler işletmenler, ayırıcılar ve boşluun bileşeninden oluşmaktadır.

Boşluk (Whitespace)

Java baımsız bir dildir. Düzgün çalışmasını salamak amacıyla herhangi birşeyi içerden yazmak zorunda değilsiniz. HeyDunya sınıfı tek bir hizada yazılmıştır:

Public class HeyDunya{public static void main(String a[])
{System.out.println("HeyDunya!");} }

Aşaıda verilen örnek aynı .class sınıfını üretir:

public
class
HeyDunya
{
public
static
void
main
(String
args
[
]
)
{
System
.
out
.
println
(
"HeyDunya!"
)
;
}

}