Anotasyon

Temel Java Dersleri – İlk Java Programı

Merhaba Arkadaşlar,
mobilhanem.com sitemiz üzerinden başladığımız Temel Java Derslerine devam ediyoruz. Geçen dersimizde bilgisayarımıza JDK Kurulumundan bahsetmiştik. Ayrıca JDK,JRE ve JVM’in ne olduğundan bahsetmiştik. Bu dersimizde ise İlk Java Programı‘mızı yazacağız. Ve geçen derste bahsettiğimiz jdk ve jvm‘nin kullanım şeklinden söz edeceğiz.

İlk olarak desktop’ımıza geliyoruz ve sağ tıklayıp yeni -> text  seçiyoruz. Burda dikkat etmemiz gereken husus bilgisarımızda ki dosyaların uzantılarınıda görebiliyor olmaktadır. Çünkü oluşturduğumuz dosyanın uzantısını java yapacağız. Biz IlkProgram.java diye dosya oluşturacağız fakat uzantısını göremediğimiz için dosyamız IlkProgram.java.txt şeklinde oluşacak ve çalışmayacaktır. Bundan dolayı oluşan dosyanın uzantısını görünür yapıp , .txt kısmını silmemiz gerekir.  Dosya adı uzantıları nasıl açılır öğrenmek için bu linke tıklayınız.

Evet yeni text dosyamızı oluşturduk ve adını IlkProgram olarak verdik. Uzantısını ise txt’den java’ya çevirdik. Java’da türkçe karakter kullanımı yoktur. Yani oluşturduğunuz java dosyaları , class isimleri , method ve değişken adları türkçe karakter içeremez.

Yani oluşan dosyamızın adı IlkProgram.java şeklinde oluştu. Oluşan file’ı çift tıklayarak açtık ve içine ilk java kodlarımızı yazdık.

public class IlkProgram{
    public static void main(String[] args){
 
        System.out.println("Merhaba Mobilhanem.com sitesi kullanıcıları");
        
    }

}

Yine burda dikkat etmemiz gereken konu class adı(IlkProgram) ile dosya adı aynı olmak zorunda yoksa hata alırsınız. Evet ilk kodlarımızı yazdık. Kodlar ne yapıyor anlamak için diğer derslerimizi beklemeniz gerekecek. Ancak ben yinede kısaca anlatıcam.

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

Yukarıdaki method main methottur. Bir java uygulaması main method’dan başlar. Biz kodu compile ettiğimiz zaman compiler ilk başta main methodu arar ve o methottan java uygulamamızı başlatır.

System.out.println("Merhaba Mobilhanem.com sitesi kullanıcıları");

Bu kod ise içine aldığı string değeri console’a yazdırmaya yarar. İleride sık sık kullanacağımız bir koddur.

Şimdi gelelim java kodumuzu çalıştırmaya. Bunun için önce consoledan IlkProgram.java dizinine gidelim. Ben desktopta oluşturmuştum. Dizine gittikten sonra alttaki komut satırının yazıp enter’a basıyoruz.

javac IlkProgram.java

javac komut

Eğer bir sorun çıkmadı ise IlkProgram.java’nın bulunduğu dizinde  IlkProgram.class oluşmuştur. Çift tıklayarak açıp baktığımızda JVM‘in anlayabileceği ancak bizim anlayamıyacağımız byte code’lar bulunmaktadır. İşte bu işlemi yapan java dosyasını class dosyasına yani bizim yazdığımız java kodlarını JVM’in anlıyacağı byte kodlarına çeviren indirip kurmuş olduğumuz JDK‘dır. Şimdi ise komut satırına aşağıdaki komutu yazacağız.

java IlkProgram

Çıktısı ise aşağıdaki gibi olacaktır.java komutu

Yukarıda ilk önce java IlkProgram.class şeklinde komut yazdık ve hata verdi. Buna dikkat ediyoruz.

Oluşan dosyanın uzantısını yazmıyoruz .” java IlkProgram” şeklinde komutumuzu yazıp enter’a basınca bizim System.out.println () içine yazdığımız stringi bastırdı ve böylelikle ilk java kodumuzu çalıştırdık. Peki bu nasıl çalıştı dersek buda JRE içindeki JVM sayesinde çalıştı. Java komutu ile JVM’in oluşan byte kodu okumasını sağladık. JVM’de okuduğu byte kodunu makina diline çevirdi. Makina da komutu alıp stringi consol’a bastırdı.

Birde oluşan .class uzantılı byte code’u java code’una çevirebilen bir komutumuz var. Tersine mühendislik olarak adlandırılan bu işlemide “javap” komutu ile yapıyoruz. Aşağıdaki komut ile class dosyamızı geri okutuyoruz ve yüzde yüz aynı şekilde olmasada yazdığımız kodları konsolumuzda görüyoruz. Bu işlem çok işimize yarıyacak olmasada paylaşmak istedim.

javap komutu

Evet arkadaşlar,bu dersimizde ilk java programımızı çalıştırmış olduk. Böylelikle az da olsa JDK’nın,JRE’nin yada JVM’,in çalışma mantığını anlamış olduk. Bundan sonraki derslerimizde geliştirmelerimizi text dosyası açıp konsoldan çalıştırmak yerine IDE kullanarak devam edeceğiz. Oyüzden konsol’dan kod çalıştırmayı başaramadıysanız üzülmeyin. Zaten bundan sonra bu şekilde çalıştırmayacağız java kodlarımızı. Kodlarımızı IDE üzerinden yazıp compile edeceğiz. Ben eclipse ide kullanmayı tercih ediyorum. Sonraki dersimde eclipse ide’nin kurulumundan sizlere bahsedeceğim.

Bu dersimde anlatmak istediklerim bu kadar. Ücretsiz temel java derslerimize tüm hızıyla devam ediyoruz. Takıldığınız yerleri yada önerilerinizi çekinmeden yorum kısmına yazabilirsiniz. Bir daha ki dersimde görüşmek dileğiyle.

Tüm Temel Java Eğitimleri için tıklayınız..

 

 

127

Taha Kırca

iOS & Android & Apple Watch Developer, Mobilhanem.com yazarı, Karadeniz Uşağu, Ordu Sevdalısı

59 Yorum

  • Eyvallah reis sonuna kadar takipteyim sıfırdan başladım sayılır. Sırf senin derslere bakarak ilerlemeyi denicem lise son öğrencisi olduğum için bütün kaynakları takip etme şansım yok.

  • android uygulama için gerekli olan java temel derslerini senin sayende öğrenmeye çalışacağım. takipteyim…
    şimdiden teşekkürler..

    ancak bir sorunum var.
    masaüstünde oluşturduğum text soyasını java yapıyorum. çift tıkladığımda benim önüme farklı bir arayüz geliyor. yani bilgisayarda program ara, internetten bak felan gibi seyler.
    kurulumu videodaki gibi yaptım. Olmuyor. jdk yı sildim tekrar yükledim aynı sorun devam ediyor. cmd üzerinden denedim. java-version yazığımda error da vermiyor.
    1.08.01 felan gibi birşeyler yazıyor. kurulumda da sıkıntı yok. neden böyle bir hata veriyor olabilir.
    bu arada beni bu java konusunda sıfırdan başlayanlardan görebilirsin. yani 0,0000001 gibiyim galiba.

    • Umarım faydalı olur dersler. Önüne gelen arayüz nedir. Ayrıca oluşan dosyaların uzantısı gözüküyor mu ? Eğer windowsunda dosyaların uzantısı gözükmüyorsa sen .java uzantılı dosya oluşturduğunda. java.txt şeklinde oluşuyor. Dolayısıyla uzantıların göründüğüne emin ol.

    • Hüseyin Merhaba,

      uzantıyı java olarak değiştirdiğinde açabileceğim bir uygulama bulamıyordum. Daha sonra senin de görmüş olduğun ekrandan notepad’i seçip kaydettiğimde bu uzantıyı notepad ile açar oldum.

      Daha sonra kodu girip yapıştırıp cmd üzerinden çalıştırdığımda bir sorun ile karşılaşmadım.

      Sen de bir dene istersen.

  • Dosyanın uzantısıni değiştirdim. Windows 7 de uzantıların görünmesi ile ilgili bir araştırma yaptim. Onda sıkıntı yok. Bir ara bilgisayarın başına geçtiğimde ekran görüntüsü de atacağım. Teşekkürler.

  • .java uzantılı dosyayı başarıyla oluşturdum yada bilmiyorum oluşturdum mu ? Dosyanın adı IlkProgram.java ve öyle gözüküyor ve txt dosyasını .java olarak kaydetmede bi hata yaptığımı düşünmüyorum. Ama iş cmd ye gelince öyle olmuyor çünki .class uzantılı dosyayı oluşturamıyorum. javac IlkProgram.java yazdığımda oluşmuyor. javac: file not found hatası veriyor. Hata tam olarak bu:

    C:Userspc>javac IlkProgram.java
    javac: file not found: IlkProgram.java
    Usage: javac
    use -help for a list of possible options

    Neyse dedim sonraki adıma geçtim. Ama hala ortada .class uzantılı bi dosya yok. IlkProgram.class yazdığımda fotoğrafdaki hatayı verdi biraz sevindim. Ama java IlkProgram yazdığımdaysa şu hatayı veriyor Error: Could find or load main class IlkProgram. Yani classı oluşturamadığım için burdada hata verdi ve böyle hata vere vere ilerleyince bende durdum bu mesajı yazarak yardım isteyeyim dedim. Nerde hata yapıyorumda .class uzantılı dosya oluşmuyor acaba ?

    • java versionum 1.8.0_112 yani rehberdekinden farklı. Ama bundanda kaynaklandığını düşünmüyorum gerçi.

    • javac IlkProgram.java dosyasınıı bulamadı diyor. Çok büyük ihtimal dosyan hala .txt uzantılı veya javac komutunu çalıştırdığın dizinde IlkProgram.java dosyası bulunmuyor..

    • Hocam Merhaba,

      Senin yaşadığın sorunun aynısını ben de yaşadım sorun oluşturduğun txt dosyasının bulunduğu dizin ile cmd.exe ile baktığın dizinin eşleşmemesinden kaynaklanıyor olabilir. En azından benimki bu sorundan dolayı oluşmuyordu.

      CD ile başlayan ve IlkProgram.java dosyanın bulunduğu dizini içeren bir değer girmelisin.
      Örnek: CD C:UsersEnisDesktop

      Bu işlemi yaptığında CMD üzerinde dizin senin dosyanın bulunduğu dizin ile değişecek.

      Sonrasında javac IlkProgram.java yazıp enter’a bastığında arkadaşın bahsettiği class oluşuyor.

      Başarılar 😉

    • Büyük ihtimal dosyanızın uzantısı .txt olarak duruyor. Senin pc’nde uzantılar gizlenmiş durumda olabilir. Sen .java uzantılı dosya oluşturduğunda aslında .java.txt şeklinde dosya oluşuyor. Ama sen sadece .java kısmını görüyorsun.

  • derslerinizi vidyo çekerek anlatsanız daha güzel olurmuş yinede emekleriniz için çok teşekkürler …

  • text dosyasını .java olarak değiştirdikten sonra dosya açılmıyor.Önerilen program seçmemi istiyor,önerilen programlarda jdk yı da bulamıyorum,burada ne yapmam gerekiyor?

  • Windows 8’de programı tarife uygun şekilde yükledim, versiyon kontrolü de yaptım program yüklü görünüyor. Text dosyasının ismini java olarak değiştiriyorum, .txt uzantısını silerek. Dosyanın simgesi de javaya dönüşüyor fakat çift tıkladığımda cmd ekranında dosya bulunamadı hatası veriyor ve bi saniyeden bile kısa sürede hemen o da kapanıyor. Ne yapmamız gerekiyor?

    • Onu çift tıklayarak cmd de açmıyacaksın. Cmd de önce cd komutu ile bulunduğun dizine gideceksin.Mesala dosyanı Java dosyanı masa üstüne al. Cmd’yi aç ve cd Desktop diyerek masaüstüne git.
      Orada
      javac DosyaAdın.java diyerek java dosyanı run et. Bunların hepsi derste anlatıldı zaten.

      • Merhaba Taha abi, dediğiniz herşeyi yaptım kurulumu tamamladım . Uzantıları değiştirdim . Yukarda dediğiniz şekilde run ediyorum, ancak cmd sayfasında bir iki saniye durup tekrar hazır hale geliyor cmd imleci. error da vermiyor dosyayıda açmıyor. Nedeni ne olabilir acaba ? Yardımcı olabilir misin abi

        • hocam java uzantılı dosyayı oluşturdum fakat açarken notepad olarak açılıyor yani kodu notepade yazıp cmd den çalıştırmaya geldiğimde çalıştıramadım. .txt yi javaya çevirdim videoda gösterdiği gibi fakat ne işe yaradığını anlamadım

  • ‘javac’ is not recognized as an internal or external command,
    operable program or batch file. cmd ile derlemeye çalışırken böyle bir sorun oluyor

  • Arkadaşlar class dosyasını oluşturamadıysanız tüm karakterleri tek tek kontrol ediniz. mutlaka bir karakter yanlış yazılmıştır. ben tam bir saat boyunca detaylı kontrol etmeden doğru yazdığıma inandığım için sorunu başka yerde arıyordum. Ancak başka bir siteden basit java kodu buldum. onu bu yöntemle koyalayıp yapıştırdım ve çalıştığını görünce yazım hatası yapmış olabileceğimi düşünüp tekrar kontrol edince public yazacağıma puplic yazdığımı farkettim 😀

  • uzantısını değiştirdiğimiz dosyaya çift tıkladığımda wordpad veya not defterinden birini seçmemi ve onunla birlikte açmamı istiyo IlkProgram.java dosyasını bende not defeterini seçtim acaba bu herhangi bir soruna sebep olurmu?

  • Ya senin ben o kafanı sikeyim .. hayatımda böyle saçma bir anlatım görmedim. dosya adı uzantısını değiştirme linkini atmışsın attığının videoya ait hesap silinmiş. dosya adı uzantısını değiştirdik diyelim.. değiştirdikten sonra neyle açacağız ? yine metin dosyası olarak mı açacağız ? kodları yazdıktan sonra nasıl çalıştıracağız ? bu nedir ya.. bu nasıl bir üsluptur

    • bilgisayarındaki bütün java ile ilgili olan programları kaldır ve işletim sistemi mimarisine göre en güncel java versiyonunu indirip bilgisayarına kur ve bilgisayarı yeniden başlat.

  • Selam aleykum herkese burda bir sorun var hocam yukarida cmd yazrarken bir hatami ya oyle olmasi lazim (javac IlkProgram.java) burada Javami ya Javac olmasi lazim ben Javac yazdigim zaman hata yaziyor amma Java yazdim Error: clod no find or load main class boyle bir sey geliyor ne yapmam lazim

  • Her şey için teşekkürler de .txt’yi sildikten sonra enter’a basıyorum sonra da IlkProgram.java’ya tıkladıktan sonra “.java dosyalarını hangi programla açmak istersiniz” diye bir soru soruyor. Uygulama olarak da WordPad, Not Defteri gibi seçenekler geliyor. Ben burada hangisini seçmeliyim? Şimdiden teşekkürler. (W10)

  • Her şey tamam da ilk kurduğumuz dosyayı açarken yanlışlıkla not defterini seçtim ve bu yüzden not defteri olarak açılıyor. Ne yapmam lazım?

  • saat 11 de başladım 13:30’da zar zor bitti buneymiş ya:)) nerden nereye bağlıcamı nasıl yapıcamı şaşırdım videouyu durdur başa sar diyerek habıre yaptım ellerinize sağlık:))) ve sonunda da yaptım:))

  • Siteyi keşfettimde efsanevi bir site. Yani daha ne yapabilirdiniz
    Bende daha önce pdf halinde böyle yazılar yazdığımız için ne kadar zor olduğunu biliyorum. Kolay gelsin ellerinize sağlık mükemmel olmuş.

  • Üstat text dosyasına .java uzantısı ekledim ama çift tıkladığımda açılmıyor. Sizdeki o komut ekranı da çıkmıyor.

  • Merhaba Hocam,
    “Java Runtime (class file version 57), this veresion of the Java Runtime only recognizes class file versions up to 52.0” olarak bir hata veriyor. Versiyonumu 52.0 nasıl yapabilirim?
    Saygılarımla,
    İyi çalışmalar.

  • Böyle bir hata alıyorum ben
    D:\ANDROİD PROGRAMLAMA>
    D:\ANDROİD PROGRAMLAMA>java IlkProgram
    Error: A JNI error has occurred, please check your installation and try again
    Exception in thread “main” java.lang.UnsupportedClassVersionError: IlkProgram h
    s been compiled by a more recent version of the Java Runtime (class file versio
    57.0), this version of the Java Runtime only recognizes class file versions up
    to 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    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)
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

  • java -version komutu çalışmasına rağmen
    IlkProgram.java adlı dosya
    java IlkProgram komutunda hata veriyor.
    javac IlkProgram.java komutu denendiğinde de hata veriyor.

  • Console kısmını nerden açıyoruz. Çalıştır-cmd ile değil mi? O şekilde yaptığımda yolu bulmuyor. 🙁
    Yardım lütfen

    • nasıl bir işletim sistemi kullanıyorsunuz ? windows mu ? işletim sistemi türkçe ise dediğiniz gibi başalatta cmd yazdığınızda komut sistemi diye ismi çıkar.
      örneğin ben de şu dizinde : C:UserskullaniciadimAppDataRoamingMicrosoftWindowsStart MenuProgramsSystem Tools

  • hocam böyle bir hata aldım ne yapmalıyım
    A JNI error has occurred, please check your installation and try again
    Exception in thread “main” java.lang.UnsupportedClassVersionError: IlkProgram has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 52.0

  • vay arkadaş yorumlara baktım çoğu giriş dersini okumadan başka derse atlamış adam sıfırdan herşeyi eksiksiz anlatmış okuma acizliğiniz varsa kod yazmayın bence Bilgisayarlarınızda java uygulamalarının çalışabilmesi için Önce JRE indirip kurmalisiniz sonra da JDK yi indirip çalıştırmalsınız kod yazmak için. Bir java uygulaması 3 ana düğümden oluşur com.paket.adı public class Main ve public static void main (String [] args) bu 3 bileşen bir projenin bel kemigidir birbirine bağlı çalışır biri eksik oldumu uygulama çalışmaz paket adı projenin id adresidir kimligidir public herkese açık erişilebilir demek Main sınıfın adı oluşturduğumuz Main.java uzantısı ile sınıf ismi aynı olmalıdır. yoksa dosya ismi farklı içeriğindeki class adı farklı olursa sınıf adı hata verir. geçelim public static void main metodada bu metot Main yani ana sınıfın static sabit void değer döndürmeyen metodu dur yani ana sınıfın sabit ana metodu dur içine String [] dizini tipinde parametre alir. System.out.print(“veri”); buda ekrana değişken içindeki veya veriyi ekrana yazdıran yazıcıdır çıktı yazdırır. ?

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?