Bu sitede bulunan yazılar memnuniyetsizliğiniz halınde olursa bizimle iletişime geçiniz ve o yazıyı biz siliriz. saygılarımızla

    bilgisayarda program yazmaya hazırlık yapmak

    1 ziyaretçi

    bilgisayarda program yazmaya hazırlık yapmak Ne90'dan bulabilirsiniz

    Stajdosyasi.com

    Program Yazmaya Giri�

    Programlamaya yeni ba�layanlar i�in, ��renmenin en iyi yolu kitaplarda yaz�lan k���k programlar� usanmadan yazmak, derlemek ve �al��t�rmakt�r. Bu k���c�k programlar, bilgisayar�n yapabilece�i b�t�n i�leri size ��retecektir. Unutmay�n�z ki, b�y�k programlar bu k���c�k programlar�n birle�mesiyle olu�ur. O nedenle, bu derste yaz�lacak k���k programlar�n, programlamay� ��renmenin biricik yolu oldu�unu akl�n�zdan ��karmay�n�z. Burada izlenecek a�amalar�n herhangi birisinde yap�lacak yanl��lar, ��renciyi b�kt�rmamal�d�r. Aksine, programlamay� �o�unlukla yapt���m�z yanl��lardan ��reniriz. O nedenle, yanl�� yapmaktan korkmay�n�z. �stelik yeni bir �ey ��renirken bilerek yanl��lar yap�p onun do�urdu�u sonu�lar� g�rmek e�lenceli ve ��retici olabilir.

    Bilgisayar�n�zdaJSDK� n�n kurulu oldu�unu varsay�yoruz. Bunu kurmak istemeyenler Java derleyicisi ile de yetinebilirler. Biz bu derste Java JSDK�n�n kuruldu�unu ve gerekli konfig�rasyonlar�n yap�ld���n� varsay�yoruz. E�er bu i�ler yap�lmam��sa, �nce kurulum i�lemlerini yapmal�s�n�z. Kurulumun nas�l yap�laca�� ilgili web sayfalar�ndan g�r�lebilir. Windows ��letim Sisteminde JSDK kurulumu i�in Birinci B�l�me bak�n�z.

    �lerleyen haftalarda Eclipse, Netbeans, vb. bir b�t�nle�ik uygulama geli�tirme arac� (IDE- Integrated Development Environment) kullanmaya ba�layaca��z. Bu t�r ara�lar�n uygulama geli�tirmede ne kadar yararl� ve kolay kullan�l�r oldu�unu g�receksiniz. Ama bu t�r bir arac� hemen kullanmaya ba�lamak, binan�n tepesine asans�rle ��kmak gibidir. A�a�� katlarda ne olup bitti�ini anlamak i�in, en a�a��dan ba�lay�p medivenleri ad�m ad�m ��kmal�y�z. Ba�lang��ta ataca��m�z bu zahmetli ad�mlar, kaynak program�n y�r�t�lebilir bir programa nas�l d�n��t���n� anlamam�z� sa�layacakt�r.

    O nedenle, ilk derslerde hi�bir g�rsel aray�z kullanmadan, i�lerimizi do�rudan do�ruya i�letim sisteminin komutlar�yla g�rece�iz. B�yle yapabilmek i�in, Windows�un Komut �stemi kipini a�acak ve DOS (Disk Operating System) komutlar� yazaca��z. Windows 7 ��letim sisteminde Komut �stemi�ni a�a��daki iki yoldan birisiyle a�abilirsiniz:

    Ba�lat -> �al��t�rsekmelerine bas�nca a��lan pencerede Search Programs and Files: -----�� kutucu�unacmdyaz�pentere 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.comdosyas�n� g�recek bi�imde ayarl� de�ildir. Bunu PATH �evre de�i�keni ile ayarlayabilirsiniz. Ama, �imdi zaman kaybetmemek i�in, edit.comdosyas�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.

    Javanesne 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.exederleyicisi ile program� derlemek i�in

    javac Program001.java

    yaz�p Enter tu�una bas�n�z. E�er sisteminizjavac.exederleyicisini 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.

    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:

    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.javaad�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

    MerhabaJava!

    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.

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

    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.

    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.

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

    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

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

    Yazı kaynağı : www.baskent.edu.tr

    Yorumların yanıtı sitenin aşağı kısmında

    Ali : bilmiyorum, keşke arkadaşlar yorumlarda yanıt versinler.

    Yazının devamını okumak istermisiniz?
    Yorum yap