{"id":38054,"date":"2026-01-22T13:40:50","date_gmt":"2026-01-22T10:40:50","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=38054"},"modified":"2026-01-22T13:40:50","modified_gmt":"2026-01-22T10:40:50","slug":"ilk-java-programinizi-nasil-yazarsiniz","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/","title":{"rendered":"\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z?"},"content":{"rendered":"<p><body><\/p>\n<h2>\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z?<\/h2>\n<p>Java, d\u00fcnyan\u0131n en pop\u00fcler programlama dillerinden biridir. Geni\u015f kullan\u0131m alan\u0131, platform ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131 ve g\u00fc\u00e7l\u00fc ekosistemi sayesinde mobil uygulamalardan (\u00f6zellikle Android), b\u00fcy\u00fck \u00f6l\u00e7ekli kurumsal sistemlere, web uygulamalar\u0131na ve hatta bilimsel ara\u015ft\u0131rmalara kadar pek \u00e7ok alanda tercih edilmektedir. E\u011fer programlama d\u00fcnyas\u0131na ad\u0131m atmak istiyorsan\u0131z veya mevcut becerilerinize yeni bir dil eklemeyi d\u00fc\u015f\u00fcn\u00fcyorsan\u0131z, Java harika bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. Bu makale, Java ile ilk program\u0131n\u0131z\u0131 yazma s\u00fcrecini ad\u0131m ad\u0131m a\u00e7\u0131klayarak, temel kavramlar\u0131 anlaman\u0131za ve kendi kodunuzu \u00e7al\u0131\u015ft\u0131rman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>Java&#8217;ya Ba\u015flamadan \u00d6nce Bilmeniz Gerekenler<\/h3>\n<p>Her yeni yolculukta oldu\u011fu gibi, Java programlama maceras\u0131na at\u0131lmadan \u00f6nce baz\u0131 temel gereksinimleri ve kavramlar\u0131 anlamak \u00f6nemlidir. Bu b\u00f6l\u00fcmde, Java&#8217;n\u0131n ne oldu\u011funu, neden bu kadar pop\u00fcler oldu\u011funu ve geli\u015ftirme ortam\u0131n\u0131z\u0131 kurmak i\u00e7in nelere ihtiyac\u0131n\u0131z oldu\u011funu inceleyece\u011fiz.<\/p>\n<h4>Java Nedir ve Neden \u00d6nemlidir?<\/h4>\n<p>Java, Sun Microsystems taraf\u0131ndan geli\u015ftirilen ve \u015fu anda Oracle taraf\u0131ndan s\u00fcrd\u00fcr\u00fclen, nesne y\u00f6nelimli, s\u0131n\u0131f tabanl\u0131 bir programlama dilidir. &#8220;Bir kere yaz, her yerde \u00e7al\u0131\u015ft\u0131r&#8221; (Write once, run anywhere &#8211; WORA) felsefesiyle tasarlanm\u0131\u015ft\u0131r. Bu, Java kodunun derlendi\u011finde platformdan ba\u011f\u0131ms\u0131z bir ara kod (bytecode) \u00fcretmesi ve bu bytecode&#8217;un herhangi bir Java Sanal Makinesi (JVM) \u00fczerinde \u00e7al\u0131\u015fabilmesi anlam\u0131na gelir. Bu \u00f6zelli\u011fi, Java&#8217;y\u0131 farkl\u0131 i\u015fletim sistemleri ve cihazlar aras\u0131nda ta\u015f\u0131nabilir k\u0131lar.<\/p>\n<p>Java&#8217;n\u0131n pop\u00fclaritesi sadece ta\u015f\u0131nabilirli\u011finden gelmez. Ayn\u0131 zamanda g\u00fc\u00e7l\u00fc bir toplulu\u011fa, zengin k\u00fct\u00fcphane deste\u011fine, y\u00fcksek performansa ve g\u00fcvenlik \u00f6zelliklerine sahiptir. Bu fakt\u00f6rler, Java&#8217;y\u0131 hem bireysel geli\u015ftiriciler hem de b\u00fcy\u00fck kurulu\u015flar i\u00e7in cazip bir se\u00e7enek haline getirir.<\/p>\n<h4>Gerekli Ara\u00e7lar: JDK ve IDE<\/h4>\n<p>\u0130lk Java program\u0131n\u0131z\u0131 yazmak ve \u00e7al\u0131\u015ft\u0131rmak i\u00e7in iki temel araca ihtiyac\u0131n\u0131z olacak:<\/p>\n<p>*   <strong>Java Development Kit (JDK):<\/strong> JDK, Java uygulamalar\u0131n\u0131 geli\u015ftirmek i\u00e7in gerekli t\u00fcm ara\u00e7lar\u0131 (derleyici, JVM, k\u00fct\u00fcphaneler vb.) i\u00e7eren bir yaz\u0131l\u0131m paketidir. Java kodu yazmak ve derlemek i\u00e7in mutlak bir gerekliliktir. JDK&#8217;n\u0131n i\u00e7inde Java Runtime Environment (JRE) de bulunur; bu, derlenmi\u015f Java programlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in gereken sanal makineyi ve k\u00fct\u00fcphaneleri i\u00e7erir.<br \/>\n*   <strong>Entegre Geli\u015ftirme Ortam\u0131 (IDE) veya Metin Edit\u00f6r\u00fc:<\/strong> Kodunuzu yazaca\u011f\u0131n\u0131z bir araca ihtiyac\u0131n\u0131z var. Ba\u015flang\u0131\u00e7ta basit bir metin edit\u00f6r\u00fc (Notepad, Sublime Text, VS Code) kullanabilirsiniz. Ancak, daha karma\u015f\u0131k projeler i\u00e7in bir Entegre Geli\u015ftirme Ortam\u0131 (IDE) kullanmak \u00e7ok daha verimli olacakt\u0131r. IDE&#8217;ler, kod tamamlama, hata ay\u0131klama, proje y\u00f6netimi ve bir\u00e7ok di\u011fer kullan\u0131\u015fl\u0131 \u00f6zellik sunar. Pop\u00fcler Java IDE&#8217;leri aras\u0131nda IntelliJ IDEA, Eclipse ve NetBeans bulunur. Bu makalede hem komut sat\u0131r\u0131 hem de IDE kullan\u0131m\u0131 \u00f6rneklerini g\u00f6rece\u011fiz.<\/p>\n<h3>Geli\u015ftirme Ortam\u0131n\u0131n Kurulumu<\/h3>\n<p>Java programlamaya ba\u015flamadan \u00f6nce, JDK&#8217;y\u0131 sisteminize kurman\u0131z ve ortam de\u011fi\u015fkenlerini ayarlaman\u0131z gerekmektedir. E\u011fer bir IDE kullanacaksan\u0131z, onu da kurman\u0131z gerekecektir.<\/p>\n<h4>JDK Kurulumu<\/h4>\n<p>1.  <strong>JDK \u0130ndirme:<\/strong> Oracle&#8217;\u0131n resmi web sitesinden (oracle.com\/java\/technologies\/downloads\/) i\u015fletim sisteminize uygun en son JDK s\u00fcr\u00fcm\u00fcn\u00fc indirin. Genellikle &#8220;LTS&#8221; (Uzun S\u00fcreli Destek) s\u00fcr\u00fcmlerini tercih etmek iyi bir fikirdir.<br \/>\n2.  <strong>Kurulum Sihirbaz\u0131n\u0131 \u00c7al\u0131\u015ft\u0131rma:<\/strong> \u0130ndirdi\u011finiz dosyay\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n ve kurulum sihirbaz\u0131ndaki ad\u0131mlar\u0131 takip edin. \u00c7o\u011fu durumda, varsay\u0131lan ayarlar\u0131 kabul edebilirsiniz. Kurulum dizinini not almak faydal\u0131 olabilir (\u00f6rne\u011fin, <code>C:\\Program Files\\Java\\jdk-17<\/code>).<br \/>\n3.  <strong>Ortam De\u011fi\u015fkenlerini Ayarlama (PATH):<\/strong> JDK&#8217;n\u0131n derleyici ve di\u011fer ara\u00e7lar\u0131na komut sat\u0131r\u0131ndan eri\u015febilmek i\u00e7in <code>JAVA_HOME<\/code> ve <code>Path<\/code> ortam de\u011fi\u015fkenlerini ayarlaman\u0131z gerekir.<br \/>\n    *   <strong>Windows:<\/strong> &#8220;Ortam De\u011fi\u015fkenleri&#8221;ni aray\u0131n (Sistem \u00d6zellikleri > Geli\u015fmi\u015f > Ortam De\u011fi\u015fkenleri).<br \/>\n        *   Yeni bir sistem de\u011fi\u015fkeni olu\u015fturun: De\u011fi\u015fken ad\u0131 <code>JAVA_HOME<\/code>, De\u011fi\u015fken de\u011feri JDK kurulum dizininiz (\u00f6rne\u011fin, <code>C:\\Program Files\\Java\\jdk-17<\/code>).<br \/>\n        *   <code>Path<\/code> de\u011fi\u015fkenini bulun, d\u00fczenleyin ve <code>%JAVA_HOME%\\bin<\/code> de\u011ferini ekleyin.<br \/>\n    *   <strong>macOS\/Linux:<\/strong> <code>~\/.bash_profile<\/code>, <code>~\/.zshrc<\/code> veya <code>~\/.bashrc<\/code> dosyan\u0131za a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin (JDK s\u00fcr\u00fcm\u00fcn\u00fcze g\u00f6re yolu g\u00fcncelleyin):<\/p>\n<pre><code class=\"language-bash\">export JAVA_HOME=\/Library\/Java\/JavaVirtualMachines\/jdk-17.jdk\/Contents\/Home\n        export PATH=$JAVA_HOME\/bin:$PATH<\/code><\/pre>\n<p>        Ard\u0131ndan terminali yeniden ba\u015flat\u0131n veya <code>source ~\/.bash_profile<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<h4>Kurulumu Do\u011frulama<\/h4>\n<p>Komut istemcisini (Windows&#8217;ta <code>cmd<\/code>, macOS\/Linux&#8217;ta <code>Terminal<\/code>) a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">java -version\njavac -version<\/code><\/pre>\n<p>E\u011fer hem <code>java<\/code> hem de <code>javac<\/code> komutlar\u0131 JDK s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc g\u00f6steriyorsa, kurulum ba\u015far\u0131l\u0131 demektir. Aksi takdirde, ortam de\u011fi\u015fkeni ayarlar\u0131n\u0131z\u0131 kontrol etmeniz gerekebilir.<\/p>\n<h4>IDE Kurulumu (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir)<\/h4>\n<p>E\u011fer bir IDE kullanmay\u0131 planl\u0131yorsan\u0131z (ki ba\u015flang\u0131\u00e7 seviyesinde bile \u015fiddetle tavsiye edilir), se\u00e7ti\u011finiz IDE&#8217;nin (IntelliJ IDEA Community Edition, Eclipse IDE for Java Developers) resmi web sitesinden indirme ve kurulum ad\u0131mlar\u0131n\u0131 takip edin. IDE&#8217;ler genellikle JDK&#8217;y\u0131 otomatik olarak alg\u0131lar veya kurulum s\u0131ras\u0131nda kolayca yap\u0131land\u0131rma se\u00e7ene\u011fi sunar.<\/p>\n<h3>\u0130lk Java Program\u0131n\u0131z: &#8220;Merhaba D\u00fcnya!&#8221;<\/h3>\n<p>Programlama d\u00fcnyas\u0131na ad\u0131m atman\u0131n geleneksel yolu, ekrana &#8220;Merhaba D\u00fcnya!&#8221; yazd\u0131ran basit bir program yazmakt\u0131r. Bu, Java&#8217;da nas\u0131l yap\u0131l\u0131r, ad\u0131m ad\u0131m inceleyelim.<\/p>\n<h4>Program\u0131n Yap\u0131s\u0131 ve Kodu<\/h4>\n<p>Bir Java program\u0131 her zaman bir s\u0131n\u0131f i\u00e7inde yer al\u0131r. En basit Java program\u0131 a\u015fa\u011f\u0131daki gibi g\u00f6r\u00fcn\u00fcr:<\/p>\n<pre><code class=\"language-java\">\/\/ Bu, tek sat\u0131rl\u0131k bir yorumdur.\n\/*\nBu ise\n\u00e7ok sat\u0131rl\u0131 bir\nyorumdur.\n*\/\n\npublic class MerhabaDunya {\n    public static void main(String[] args) {\n        System.out.println(\"Merhaba, D\u00fcnya!\");\n    }\n}<\/code><\/pre>\n<h4>Kodun Detayl\u0131 A\u00e7\u0131klamas\u0131<\/h4>\n<p>\u015eimdi bu kodun her bir par\u00e7as\u0131n\u0131 inceleyelim:<\/p>\n<p><em>   <strong><code>\/\/ Bu, tek sat\u0131rl\u0131k bir yorumdur.<\/code> ve <code>\/<\/em> ... <em>\/<\/code>:<\/strong> Yorumlar, kodun okunabilirli\u011fini art\u0131rmak i\u00e7in kullan\u0131l\u0131r. Java derleyicisi bunlar\u0131 yok sayar. Tek sat\u0131rl\u0131k yorumlar <code>\/\/<\/code> ile ba\u015flar, \u00e7ok sat\u0131rl\u0131k yorumlar <code>\/<\/em><\/code> ile ba\u015flar ve <code>*\/<\/code> ile biter.<br \/>\n*   <strong><code>public class MerhabaDunya { ... }<\/code>:<\/strong><br \/>\n    *   <strong><code>class<\/code>:<\/strong> Java&#8217;da her \u015fey s\u0131n\u0131flar etraf\u0131nda d\u00f6ner. <code>class<\/code> anahtar kelimesi yeni bir s\u0131n\u0131f tan\u0131mlamak i\u00e7in kullan\u0131l\u0131r.<br \/>\n    *   <strong><code>MerhabaDunya<\/code>:<\/strong> Bu, s\u0131n\u0131f\u0131n ad\u0131d\u0131r. Java&#8217;da s\u0131n\u0131f adlar\u0131 b\u00fcy\u00fck harfle ba\u015flamal\u0131 ve her kelimenin ilk harfi b\u00fcy\u00fck olmal\u0131d\u0131r (CamelCase kural\u0131). S\u0131n\u0131f adlar\u0131, dosya ad\u0131yla ayn\u0131 olmal\u0131d\u0131r (yani bu s\u0131n\u0131f <code>MerhabaDunya.java<\/code> olarak kaydedilmelidir).<br \/>\n    *   <strong><code>public<\/code>:<\/strong> Bir eri\u015fim belirleyicidir. <code>public<\/code> olmas\u0131, bu s\u0131n\u0131f\u0131n herhangi bir yerden eri\u015filebilir oldu\u011fu anlam\u0131na gelir.<br \/>\n*   <strong><code>public static void main(String[] args) { ... }<\/code>:<\/strong> Bu, Java programlar\u0131n\u0131n y\u00fcr\u00fct\u00fclmeye ba\u015flad\u0131\u011f\u0131 ana metottur (fonksiyon).<br \/>\n    *   <strong><code>public<\/code>:<\/strong> Bu metodun herkese a\u00e7\u0131k oldu\u011fu, yani Java Sanal Makinesi (JVM) taraf\u0131ndan \u00e7a\u011fr\u0131labilece\u011fi anlam\u0131na gelir.<br \/>\n    *   <strong><code>static<\/code>:<\/strong> Bu metodun bir nesne olu\u015fturulmadan do\u011frudan s\u0131n\u0131f ad\u0131 \u00fczerinden \u00e7a\u011fr\u0131labilece\u011fi anlam\u0131na gelir. <code>main<\/code> metodu program\u0131n ba\u015flang\u0131\u00e7 noktas\u0131 oldu\u011fu i\u00e7in <code>static<\/code> olmak zorundad\u0131r.<br \/>\n    *   <strong><code>void<\/code>:<\/strong> Bu metodun herhangi bir de\u011fer d\u00f6nd\u00fcrmedi\u011fi anlam\u0131na gelir.<br \/>\n    *   <strong><code>main<\/code>:<\/strong> Bu, \u00f6zel bir metod ad\u0131d\u0131r. JVM, bir Java program\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131rken bu isimdeki metodu arar ve onu y\u00fcr\u00fctmeye ba\u015flar.<br \/>\n    *   <strong><code>(String[] args)<\/code>:<\/strong> Bu, <code>main<\/code> metodunun parametre listesidir. <code>String[] args<\/code>, program \u00e7al\u0131\u015ft\u0131r\u0131l\u0131rken komut sat\u0131r\u0131ndan ge\u00e7ilebilecek string dizisi tipindeki arg\u00fcmanlar\u0131 temsil eder. \u015eimdilik bu k\u0131sm\u0131 \u00e7ok d\u00fc\u015f\u00fcnmenize gerek yok, ancak standart bir Java <code>main<\/code> metodu tan\u0131m\u0131n\u0131n par\u00e7as\u0131d\u0131r.<br \/>\n*   <strong><code>System.out.println(\"Merhaba, D\u00fcnya!\");<\/code>:<\/strong> Bu sat\u0131r, ekrana &#8220;Merhaba, D\u00fcnya!&#8221; metnini yazd\u0131r\u0131r.<br \/>\n    *   <strong><code>System<\/code>:<\/strong> Java&#8217;n\u0131n standart k\u00fct\u00fcphanesinde yer alan bir s\u0131n\u0131ft\u0131r.<br \/>\n    *   <strong><code>out<\/code>:<\/strong> <code>System<\/code> s\u0131n\u0131f\u0131n\u0131n statik bir \u00fcyesidir ve bir \u00e7\u0131kt\u0131 ak\u0131\u015f\u0131n\u0131 temsil eder (genellikle konsol).<br \/>\n    *   <strong><code>println()<\/code>:<\/strong> <code>out<\/code> nesnesinin bir metodudur. Parantez i\u00e7indeki de\u011feri konsola yazd\u0131r\u0131r ve ard\u0131ndan yeni bir sat\u0131ra ge\u00e7er (print line). E\u011fer yeni sat\u0131ra ge\u00e7mek istemezseniz <code>print()<\/code> metodunu kullanabilirsiniz.<br \/>\n    *   <strong><code>\"Merhaba, D\u00fcnya!\"<\/code>:<\/strong> Ekrana yazd\u0131r\u0131lacak olan string (metin) de\u011feridir. String&#8217;ler her zaman \u00e7ift t\u0131rnak (&#8220;) aras\u0131na al\u0131n\u0131r.<br \/>\n    *   Her Java ifadesi noktal\u0131 virg\u00fcl (<code>;<\/code>) ile sona ermelidir.<\/p>\n<h4>Dosyay\u0131 Kaydetme<\/h4>\n<p>Yukar\u0131daki kodu bir metin edit\u00f6r\u00fcne kopyalay\u0131n ve <code>MerhabaDunya.java<\/code> ad\u0131yla kaydedin. Dosya ad\u0131n\u0131n s\u0131n\u0131f ad\u0131yla (b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyarl\u0131l\u0131\u011f\u0131 dahil) tam olarak ayn\u0131 olmas\u0131 gerekti\u011fini unutmay\u0131n. Aksi takdirde derleyici hata verecektir.<\/p>\n<h3>Program\u0131 Derleme ve \u00c7al\u0131\u015ft\u0131rma (Komut Sat\u0131r\u0131)<\/h3>\n<p>JDK&#8217;y\u0131 do\u011fru bir \u015fekilde kurduysan\u0131z, program\u0131n\u0131z\u0131 komut sat\u0131r\u0131ndan derleyip \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<h4>1. Komut \u0130stemi\/Terminal A\u00e7ma<\/h4>\n<p>Program\u0131 kaydetti\u011finiz dizine gidin. \u00d6rne\u011fin, dosyay\u0131 <code>C:\\Users\\KullaniciAdi\\JavaProjeleri<\/code> klas\u00f6r\u00fcne kaydettiyseniz, komut istemcisini a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu kullanarak bu dizine gidin:<\/p>\n<pre><code class=\"language-bash\">cd C:\\Users\\KullaniciAdi\\JavaProjeleri<\/code><\/pre>\n<p>macOS veya Linux&#8217;ta benzer \u015fekilde <code>cd \/home\/kullaniciadi\/JavaProjeleri<\/code> gibi bir komut kullan\u0131n.<\/p>\n<h4>2. Kodu Derleme<\/h4>\n<p>Java kaynak kodunu ( <code>.java<\/code> uzant\u0131l\u0131 dosya) derlemek i\u00e7in <code>javac<\/code> (Java Compiler) komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">javac MerhabaDunya.java<\/code><\/pre>\n<p>E\u011fer kodunuzda bir yaz\u0131m hatas\u0131 veya sentaks hatas\u0131 yoksa, bu komut hi\u00e7bir \u00e7\u0131kt\u0131 vermeyecek ve ayn\u0131 dizinde <code>MerhabaDunya.class<\/code> ad\u0131nda bir dosya olu\u015fturacakt\u0131r. Bu <code>.class<\/code> dosyas\u0131, Java bytecode&#8217;unu i\u00e7erir ve JVM taraf\u0131ndan anla\u015f\u0131l\u0131r bir formatt\u0131r.<\/p>\n<p><strong>Yayg\u0131n Derleme Hatalar\u0131:<\/strong><br \/>\n*   <code>error: class MerhabaDunya is public, should be declared in a file named MerhabaDunya.java<\/code>: Dosya ad\u0131n\u0131z ile s\u0131n\u0131f ad\u0131n\u0131z uyu\u015fmuyor.<br \/>\n*   <code>error: cannot find symbol<\/code>: Genellikle bir de\u011fi\u015fken ad\u0131, metod ad\u0131 veya s\u0131n\u0131f ad\u0131n\u0131n yanl\u0131\u015f yaz\u0131lmas\u0131 durumunda olu\u015fur.<br \/>\n*   <code>error: ';' expected<\/code>: Bir noktal\u0131 virg\u00fcl (<code>;<\/code>) eksik.<\/p>\n<h4>3. Program\u0131 \u00c7al\u0131\u015ft\u0131rma<\/h4>\n<p>Derlenmi\u015f bytecode&#8217;u \u00e7al\u0131\u015ft\u0131rmak i\u00e7in <code>java<\/code> komutunu kullan\u0131n (bu, JVM&#8217;yi ba\u015flat\u0131r ve <code>.class<\/code> dosyas\u0131n\u0131 yorumlar):<\/p>\n<pre><code class=\"language-bash\">java MerhabaDunya<\/code><\/pre>\n<p><code>java<\/code> komutunu kullan\u0131rken <code>.class<\/code> uzant\u0131s\u0131n\u0131 belirtmeyin. E\u011fer her \u015fey yolundaysa, konsolda a\u015fa\u011f\u0131daki \u00e7\u0131kt\u0131y\u0131 g\u00f6rmelisiniz:<\/p>\n<pre><code class=\"language-\">Merhaba, D\u00fcnya!<\/code><\/pre>\n<p>Tebrikler! \u0130lk Java program\u0131n\u0131z\u0131 ba\u015far\u0131yla derlediniz ve \u00e7al\u0131\u015ft\u0131rd\u0131n\u0131z.<\/p>\n<h3>Bir IDE Kullanarak Program\u0131 \u00c7al\u0131\u015ft\u0131rma<\/h3>\n<p>IDE&#8217;ler (Entegre Geli\u015ftirme Ortamlar\u0131), \u00f6zellikle b\u00fcy\u00fck projelerde geli\u015ftirme s\u00fcrecini \u00f6nemli \u00f6l\u00e7\u00fcde h\u0131zland\u0131r\u0131r ve basitle\u015ftirir. IntelliJ IDEA veya Eclipse gibi bir IDE kullanarak &#8220;Merhaba D\u00fcnya&#8221; program\u0131n\u0131 nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 g\u00f6relim.<\/p>\n<h4>1. Yeni Bir Proje Olu\u015fturma<\/h4>\n<p>*   <strong>IntelliJ IDEA:<\/strong><br \/>\n    *   IDE&#8217;yi a\u00e7\u0131n ve &#8220;New Project&#8221; se\u00e7ene\u011fini se\u00e7in.<br \/>\n    *   Sol men\u00fcden &#8220;Java&#8221;y\u0131 se\u00e7in.<br \/>\n    *   &#8220;Project SDK&#8221; olarak kurulu JDK&#8217;n\u0131z\u0131 se\u00e7ti\u011finizden emin olun.<br \/>\n    *   &#8220;Next&#8221; ve ard\u0131ndan &#8220;Next&#8221; d\u00fc\u011fmelerine t\u0131klay\u0131n.<br \/>\n    *   Projenize bir isim verin (\u00f6rne\u011fin, <code>IlkJavaProjem<\/code>) ve &#8220;Finish&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n.<br \/>\n*   <strong>Eclipse:<\/strong><br \/>\n    *   IDE&#8217;yi a\u00e7\u0131n ve &#8220;File > New > Java Project&#8221; se\u00e7ene\u011fini se\u00e7in.<br \/>\n    *   Projenize bir isim verin (\u00f6rne\u011fin, <code>IlkJavaProjem<\/code>).<br \/>\n    *   &#8220;JRE&#8221; ayarlar\u0131n\u0131n kurulu JDK&#8217;n\u0131z\u0131 g\u00f6sterdi\u011finden emin olun.<br \/>\n    *   &#8220;Finish&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n.<\/p>\n<h4>2. Yeni Bir S\u0131n\u0131f Olu\u015fturma<\/h4>\n<p>Olu\u015fturdu\u011funuz proje i\u00e7inde bir Java s\u0131n\u0131f\u0131 olu\u015fturman\u0131z gerekir:<\/p>\n<p>*   Proje yap\u0131s\u0131nda <code>src<\/code> (source) klas\u00f6r\u00fcne sa\u011f t\u0131klay\u0131n.<br \/>\n*   &#8220;New > Java Class&#8221; (IntelliJ) veya &#8220;New > Class&#8221; (Eclipse) se\u00e7ene\u011fini se\u00e7in.<br \/>\n*   S\u0131n\u0131f ad\u0131n\u0131 <code>MerhabaDunya<\/code> olarak girin ve &#8220;Enter&#8221; tu\u015funa bas\u0131n.<\/p>\n<p>Bu, <code>MerhabaDunya.java<\/code> ad\u0131nda bo\u015f bir s\u0131n\u0131f dosyas\u0131 olu\u015fturacakt\u0131r.<\/p>\n<h4>3. Kodu Yazma<\/h4>\n<p>Olu\u015fturulan <code>MerhabaDunya.java<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve <code>main<\/code> metodunu ekleyerek kodu yaz\u0131n:<\/p>\n<pre><code class=\"language-java\">public class MerhabaDunya {\n    public static void main(String[] args) {\n        System.out.println(\"Merhaba, D\u00fcnya!\");\n    }\n}<\/code><\/pre>\n<p>IDE&#8217;ler genellikle kod tamamlama (autocomplete) \u00f6zelli\u011fi sunar. \u00d6rne\u011fin, <code>syso<\/code> yaz\u0131p Tab tu\u015funa basarak <code>System.out.println()<\/code> sat\u0131r\u0131n\u0131 otomatik olarak olu\u015fturabilirsiniz.<\/p>\n<h4>4. Program\u0131 \u00c7al\u0131\u015ft\u0131rma<\/h4>\n<p>IDE&#8217;ler, kodu derleme ve \u00e7al\u0131\u015ft\u0131rma ad\u0131mlar\u0131n\u0131 sizin i\u00e7in otomatikle\u015ftirir.<\/p>\n<p>*   <strong>IntelliJ IDEA:<\/strong><br \/>\n    *   <code>main<\/code> metodunun solundaki ye\u015fil oynat d\u00fc\u011fmesine (play button) t\u0131klay\u0131n ve &#8220;Run &#8216;MerhabaDunya.main()'&#8221; se\u00e7ene\u011fini se\u00e7in.<br \/>\n    *   Alternatif olarak, \u00fcst men\u00fcden &#8220;Run > Run &#8216;MerhabaDunya'&#8221; se\u00e7ene\u011fini kullanabilirsiniz.<br \/>\n*   <strong>Eclipse:<\/strong><br \/>\n    *   Kodunuzu kaydettikten sonra, \u00fcst men\u00fcdeki ye\u015fil oynat d\u00fc\u011fmesine t\u0131klay\u0131n.<br \/>\n    *   Alternatif olarak, <code>MerhabaDunya.java<\/code> dosyas\u0131na sa\u011f t\u0131klay\u0131n ve &#8220;Run As > Java Application&#8221; se\u00e7ene\u011fini se\u00e7in.<\/p>\n<p>IDE&#8217;nin alt k\u0131sm\u0131ndaki &#8220;Console&#8221; (Konsol) penceresinde &#8220;Merhaba, D\u00fcnya!&#8221; \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6rmelisiniz. IDE&#8217;ler, hata ay\u0131klama (debugging) ve di\u011fer geli\u015fmi\u015f \u00f6zelliklerle programlama deneyiminizi \u00e7ok daha verimli hale getirir.<\/p>\n<h3>&#8220;Merhaba D\u00fcnya&#8221;n\u0131n \u00d6tesinde: Temel Java Kavramlar\u0131<\/h3>\n<p>Art\u0131k ilk program\u0131n\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131za g\u00f6re, Java&#8217;n\u0131n temel yap\u0131 ta\u015flar\u0131na k\u0131sa bir g\u00f6z atal\u0131m. Bu kavramlar, daha karma\u015f\u0131k programlar yazmak i\u00e7in temel olu\u015fturacakt\u0131r.<\/p>\n<h4>De\u011fi\u015fkenler ve Veri Tipleri<\/h4>\n<p>De\u011fi\u015fkenler, program\u0131n\u0131zda veri depolamak i\u00e7in kullan\u0131lan isimlendirilmi\u015f bellek konumlar\u0131d\u0131r. Java, statik tipli bir dildir, yani bir de\u011fi\u015fkeni tan\u0131mlarken veri tipini belirtmeniz gerekir.<\/p>\n<p>*   <strong><code>int<\/code> (Integer):<\/strong> Tam say\u0131lar\u0131 depolamak i\u00e7in (\u00f6rne\u011fin, 10, -5).<\/p>\n<pre><code class=\"language-java\">int yas = 30;<\/code><\/pre>\n<p>*   <strong><code>double<\/code>:<\/strong> Ondal\u0131kl\u0131 say\u0131lar\u0131 depolamak i\u00e7in (\u00f6rne\u011fin, 3.14, -0.5).<\/p>\n<pre><code class=\"language-java\">double pi = 3.14159;<\/code><\/pre>\n<p>*   <strong><code>boolean<\/code>:<\/strong> Sadece iki de\u011fer alabilen mant\u0131ksal de\u011ferler (do\u011fru\/yanl\u0131\u015f &#8211; <code>true<\/code>\/<code>false<\/code>).<\/p>\n<pre><code class=\"language-java\">boolean isActive = true;<\/code><\/pre>\n<p>*   <strong><code>char<\/code>:<\/strong> Tek bir karakteri depolamak i\u00e7in (tek t\u0131rnak aras\u0131na al\u0131n\u0131r, \u00f6rn. &#8216;A&#8217;, &#8216;7&#8217;).<\/p>\n<pre><code class=\"language-java\">char ilkHarf = 'J';<\/code><\/pre>\n<p>*   <strong><code>String<\/code>:<\/strong> Karakter dizilerini (metinleri) depolamak i\u00e7in (\u00e7ift t\u0131rnak aras\u0131na al\u0131n\u0131r, <code>String<\/code> asl\u0131nda bir s\u0131n\u0131ft\u0131r, ilkel bir veri tipi de\u011fildir).<\/p>\n<pre><code class=\"language-java\">String ad = \"Ahmet\";<\/code><\/pre>\n<p>*   <strong>De\u011fi\u015fken Tan\u0131mlama ve Atama:<\/strong><\/p>\n<pre><code class=\"language-java\">int sayi; \/\/ De\u011fi\u015fken tan\u0131mlama\n    sayi = 100; \/\/ De\u011fere atama\n    int digerSayi = 200; \/\/ Tan\u0131mlama ve atama ayn\u0131 anda<\/code><\/pre>\n<h4>Operat\u00f6rler<\/h4>\n<p>Operat\u00f6rler, de\u011fi\u015fkenler ve de\u011ferler \u00fczerinde i\u015flemler yapmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p><em>   <strong>Aritmetik Operat\u00f6rler:<\/strong> <code>+<\/code> (toplama), <code>-<\/code> (\u00e7\u0131karma), <code><\/em><\/code> (\u00e7arpma), <code>\/<\/code> (b\u00f6lme), <code>%<\/code> (mod\u00fcl &#8211; kalan\u0131 bulma).<\/p>\n<pre><code class=\"language-java\">int a = 10, b = 3;\n    System.out.println(a + b); \/\/ 13\n    System.out.println(a \/ b); \/\/ 3 (tam say\u0131 b\u00f6lmesi)\n    System.out.println(a % b); \/\/ 1<\/code><\/pre>\n<p><em>   <strong>Atama Operat\u00f6rleri:<\/strong> <code>=<\/code> (atama), <code>+=<\/code>, <code>-=<\/code>, <code><\/em>=<\/code>, <code>\/=<\/code>, <code>%=<\/code>.<\/p>\n<pre><code class=\"language-java\">int x = 5;\n    x += 3; \/\/ x \u015fimdi 8 (x = x + 3)<\/code><\/pre>\n<p>*   <strong>Kar\u015f\u0131la\u015ft\u0131rma Operat\u00f6rleri:<\/strong> <code>==<\/code> (e\u015fit mi), <code>!=<\/code> (e\u015fit de\u011fil mi), <code><<\/code> (k\u00fc\u00e7\u00fck m\u00fc), <code>><\/code> (b\u00fcy\u00fck m\u00fc), <code><=<\/code> (k\u00fc\u00e7\u00fck e\u015fit mi), <code>>=<\/code> (b\u00fcy\u00fck e\u015fit mi). Boolean bir de\u011fer d\u00f6nd\u00fcr\u00fcrler.<\/p>\n<pre><code class=\"language-java\">boolean esitMi = (5 == 5); \/\/ true\n    boolean buyukMu = (10 > 20); \/\/ false<\/code><\/pre>\n<p>*   <strong>Mant\u0131ksal Operat\u00f6rler:<\/strong> <code>&&<\/code> (VE), <code>||<\/code> (VEYA), <code>!<\/code> (DE\u011e\u0130L). Boolean ifadeleri birle\u015ftirmek veya tersine \u00e7evirmek i\u00e7in kullan\u0131l\u0131rlar.<\/p>\n<pre><code class=\"language-java\">boolean kosul1 = true;\n    boolean kosul2 = false;\n    System.out.println(kosul1 && kosul2); \/\/ false\n    System.out.println(kosul1 || kosul2); \/\/ true\n    System.out.println(!kosul1); \/\/ false<\/code><\/pre>\n<h4>Kontrol Ak\u0131\u015f\u0131<\/h4>\n<p>Kontrol ak\u0131\u015f\u0131 yap\u0131lar\u0131, program\u0131n\u0131z\u0131n hangi kod bloklar\u0131n\u0131 hangi ko\u015fullar alt\u0131nda y\u00fcr\u00fctece\u011fini belirlemenizi sa\u011flar.<\/p>\n<p>*   <strong><code>if-else<\/code> \u0130fadeleri:<\/strong> Bir ko\u015fula ba\u011fl\u0131 olarak farkl\u0131 kod bloklar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-java\">int not = 75;\n    if (not >= 50) {\n        System.out.println(\"Ge\u00e7tiniz!\");\n    } else {\n        System.out.println(\"Kald\u0131n\u0131z!\");\n    }\n\n    \/\/ if-else if-else yap\u0131s\u0131\n    int puan = 85;\n    if (puan >= 90) {\n        System.out.println(\"A\");\n    } else if (puan >= 80) {\n        System.out.println(\"B\");\n    } else {\n        System.out.println(\"C\");\n    }<\/code><\/pre>\n<p>*   <strong><code>for<\/code> D\u00f6ng\u00fcleri:<\/strong> Belirli bir say\u0131da veya bir dizi\/koleksiyon \u00fczerinde yineleme yapmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-java\">for (int i = 0; i < 5; i++) {\n        System.out.println(\"D\u00f6ng\u00fc Say\u0131s\u0131: \" + i);\n    }\n    \/\/ \u00c7\u0131kt\u0131:\n    \/\/ D\u00f6ng\u00fc Say\u0131s\u0131: 0\n    \/\/ D\u00f6ng\u00fc Say\u0131s\u0131: 1\n    \/\/ ...\n    \/\/ D\u00f6ng\u00fc Say\u0131s\u0131: 4<\/code><\/pre>\n<p>*   <strong><code>while<\/code> D\u00f6ng\u00fcleri:<\/strong> Bir ko\u015ful do\u011fru oldu\u011fu s\u00fcrece bir kod blo\u011funu tekrarlamak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-java\">int sayac = 0;\n    while (sayac < 3) {\n        System.out.println(\"Sayac: \" + sayac);\n        sayac++; \/\/ Sayac\u0131 art\u0131rmay\u0131 unutmay\u0131n, aksi takdirde sonsuz d\u00f6ng\u00fc olu\u015fur!\n    }\n    \/\/ \u00c7\u0131kt\u0131:\n    \/\/ Sayac: 0\n    \/\/ Sayac: 1\n    \/\/ Sayac: 2<\/code><\/pre>\n<h4>Kullan\u0131c\u0131dan Girdi Alma<\/h4>\n<p>Programlar\u0131n\u0131z\u0131n kullan\u0131c\u0131larla etkile\u015fim kurmas\u0131 i\u00e7in kullan\u0131c\u0131dan girdi alman\u0131z gerekebilir. Java'da bunun en yayg\u0131n yolu <code>Scanner<\/code> s\u0131n\u0131f\u0131n\u0131 kullanmakt\u0131r.<\/p>\n<pre><code class=\"language-java\">import java.util.Scanner; \/\/ Scanner s\u0131n\u0131f\u0131n\u0131 dahil etmeliyiz\n\npublic class KullaniciGirdisi {\n    public static void main(String[] args) {\n        Scanner scanner = new Scanner(System.in); \/\/ Scanner nesnesi olu\u015ftur\n        \n        System.out.print(\"Ad\u0131n\u0131z nedir? \");\n        String ad = scanner.nextLine(); \/\/ Kullan\u0131c\u0131dan metin giri\u015fi al\n        \n        System.out.print(\"Ya\u015f\u0131n\u0131z ka\u00e7? \");\n        int yas = scanner.nextInt(); \/\/ Kullan\u0131c\u0131dan tam say\u0131 giri\u015fi al\n        \n        System.out.println(\"Merhaba, \" + ad + \"! \" + yas + \" ya\u015f\u0131ndas\u0131n\u0131z.\");\n        \n        scanner.close(); \/\/ Kaynaklar\u0131 serbest b\u0131rakmak i\u00e7in scanner'\u0131 kapat\n    }\n}<\/code><\/pre>\n<p>*   <code>import java.util.Scanner;<\/code>: <code>Scanner<\/code> s\u0131n\u0131f\u0131 <code>java.util<\/code> paketinde bulundu\u011fu i\u00e7in, onu kullanmadan \u00f6nce bu paketi import etmeliyiz.<br \/>\n*   <code>Scanner scanner = new Scanner(System.in);<\/code>: <code>System.in<\/code> standart girdi ak\u0131\u015f\u0131n\u0131 (klavye) temsil eder. <code>Scanner<\/code> nesnesini bu ak\u0131\u015ftan okumak i\u00e7in olu\u015ftururuz.<br \/>\n*   <code>scanner.nextLine();<\/code>: Kullan\u0131c\u0131dan bir sat\u0131r metin okur.<br \/>\n*   <code>scanner.nextInt();<\/code>: Kullan\u0131c\u0131dan bir tam say\u0131 okur. Benzer \u015fekilde <code>nextDouble()<\/code>, <code>nextBoolean()<\/code> gibi metotlar da vard\u0131r.<br \/>\n*   <code>scanner.close();<\/code>: <code>Scanner<\/code> nesnesi bir sistem kayna\u011f\u0131 kulland\u0131\u011f\u0131 i\u00e7in, i\u015finiz bitti\u011finde onu kapatman\u0131z iyi bir uygulamad\u0131r.<\/p>\n<h3>Ba\u015flang\u0131\u00e7 Seviyesi \u0130\u00e7in En \u0130yi Uygulamalar<\/h3>\n<p>Programlama yolculu\u011funuzda ba\u015far\u0131l\u0131 olmak i\u00e7in baz\u0131 temel en iyi uygulamalar\u0131 benimsemek \u00f6nemlidir.<\/p>\n<p>*   <strong>Kodunuzu Yorumlay\u0131n:<\/strong> Kodunuzu a\u00e7\u0131klayan yorumlar ekleyin. Bu, hem sizin hem de ba\u015fkalar\u0131n\u0131n kodunuzu daha sonra anlamas\u0131na yard\u0131mc\u0131 olur.<br \/>\n*   <strong>Adland\u0131rma Kurallar\u0131na Uyun:<\/strong> Java'n\u0131n standart adland\u0131rma kurallar\u0131na uyun (CamelCase). S\u0131n\u0131f adlar\u0131 b\u00fcy\u00fck harfle ba\u015flar (<code>MyClass<\/code>), metot ve de\u011fi\u015fken adlar\u0131 k\u00fc\u00e7\u00fck harfle ba\u015flar (<code>myMethod<\/code>, <code>myVariable<\/code>), sabitler tamamen b\u00fcy\u00fck harfle yaz\u0131l\u0131r (<code>MY_CONSTANT<\/code>).<br \/>\n*   <strong>Okunabilir Kod Yaz\u0131n:<\/strong> Kodunuzu d\u00fczg\u00fcn bir \u015fekilde girintileyin ve bo\u015fluklar kullan\u0131n. Bu, kodunuzun okunabilirli\u011fini art\u0131r\u0131r. IDE'ler genellikle kodunuzu otomatik olarak formatlayabilir.<br \/>\n*   <strong>K\u00fc\u00e7\u00fck Ad\u0131mlarla \u0130lerleyin:<\/strong> B\u00fcy\u00fck bir program yazmaya \u00e7al\u0131\u015fmak yerine, k\u00fc\u00e7\u00fck, y\u00f6netilebilir par\u00e7alar halinde ilerleyin. Her bir par\u00e7ay\u0131 test edin ve do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun.<br \/>\n*   <strong>Hata Ay\u0131klamay\u0131 \u00d6\u011frenin:<\/strong> Program\u0131n\u0131zda hatalar (bug'lar) olmas\u0131 ka\u00e7\u0131n\u0131lmazd\u0131r. IDE'lerin sundu\u011fu hata ay\u0131klama (debugger) ara\u00e7lar\u0131n\u0131 kullanarak kodunuzdaki sorunlar\u0131 bulmay\u0131 ve \u00e7\u00f6zmeyi \u00f6\u011frenin.<br \/>\n*   <strong>Bol Bol Pratik Yap\u0131n:<\/strong> Programlama, pratikle geli\u015ftirilen bir beceridir. Ne kadar \u00e7ok kod yazarsan\u0131z, o kadar iyi olursunuz. Farkl\u0131 problemler \u00e7\u00f6zmeye \u00e7al\u0131\u015f\u0131n.<br \/>\n*   <strong>Kaynaklar\u0131 Kullan\u0131n:<\/strong> \u0130nternet, Java \u00f6\u011frenmek i\u00e7in harika bir kaynakt\u0131r. Oracle'\u0131n resmi Java belgeleri, Stack Overflow, YouTube e\u011fitimleri ve \u00e7e\u015fitli bloglar gibi kaynaklardan faydalan\u0131n.<\/p>\n<h3>Sonu\u00e7 ve Sonraki Ad\u0131mlar<\/h3>\n<p>Bu makalede, Java geli\u015ftirme ortam\u0131n\u0131z\u0131 kurmaktan ilk \"Merhaba D\u00fcnya!\" program\u0131n\u0131z\u0131 yazmaya ve \u00e7al\u0131\u015ft\u0131rmaya kadar temel ad\u0131mlar\u0131 att\u0131n\u0131z. Ayr\u0131ca, de\u011fi\u015fkenler, operat\u00f6rler, kontrol ak\u0131\u015f\u0131 ve kullan\u0131c\u0131 giri\u015fi gibi Java'n\u0131n temel yap\u0131 ta\u015flar\u0131na da giri\u015f yapt\u0131n\u0131z. Bu, Java programlama yolculu\u011funuzun sadece ba\u015flang\u0131c\u0131d\u0131r.<\/p>\n<p>\u015eimdi ne yapmal\u0131s\u0131n\u0131z?<\/p>\n<p>1.  <strong>Temel Kavramlar\u0131 Peki\u015ftirin:<\/strong> De\u011fi\u015fkenler, veri tipleri, operat\u00f6rler, <code>if-else<\/code> ifadeleri ve d\u00f6ng\u00fcler gibi konular\u0131 daha derinlemesine \u00f6\u011frenin ve bolca pratik yap\u0131n.<br \/>\n2.  <strong>Metotlar\u0131 \u00d6\u011frenin:<\/strong> Kodunuzu daha d\u00fczenli ve tekrar kullan\u0131labilir hale getirmek i\u00e7in kendi metotlar\u0131n\u0131z\u0131 (fonksiyonlar\u0131n\u0131z\u0131) nas\u0131l yazaca\u011f\u0131n\u0131z\u0131 \u00f6\u011frenin.<br \/>\n3.  <strong>Nesne Y\u00f6nelimli Programlama (OOP):<\/strong> Java, nesne y\u00f6nelimli bir dildir. S\u0131n\u0131flar, nesneler, kal\u0131t\u0131m, polimorfizm ve soyutlama gibi OOP kavramlar\u0131n\u0131 anlamak, Java'da etkili programlar yazmak i\u00e7in kritik \u00f6neme sahiptir.<br \/>\n4.  <strong>Diziler ve Koleksiyonlar:<\/strong> Birden fazla de\u011feri depolamak i\u00e7in dizileri ve daha geli\u015fmi\u015f veri yap\u0131lar\u0131 olan koleksiyonlar\u0131 (ArrayList, HashMap vb.) \u00f6\u011frenin.<br \/>\n5.  <strong>Hata Y\u00f6netimi:<\/strong> Program\u0131n\u0131zda olu\u015fabilecek hatalar\u0131 (exceptions) nas\u0131l y\u00f6netece\u011finizi \u00f6\u011frenin (<code>try-catch<\/code> bloklar\u0131).<\/p>\n<p>Java \u00f6\u011frenmek sab\u0131r ve s\u00fcrekli pratik gerektiren bir s\u00fcre\u00e7tir. Ancak, bu g\u00fc\u00e7l\u00fc dilin sundu\u011fu imkanlar ve kariyer f\u0131rsatlar\u0131 g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda, harcad\u0131\u011f\u0131n\u0131z \u00e7abaya kesinlikle de\u011fecektir. Ba\u015far\u0131lar dileriz!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z?\nJava, d\u00fcnyan\u0131n en pop\u00fcler programlama dillerinden biridir. Geni\u015f kullan\u0131m alan\u0131, platform ba\u011f\u0131","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1408],"tags":[],"class_list":{"0":"post-38054","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-java","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z?\" \/>\n<meta property=\"og:description\" content=\"\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z? Java, d\u00fcnyan\u0131n en pop\u00fcler programlama dillerinden biridir. Geni\u015f kullan\u0131m alan\u0131, platform ba\u011f\u0131\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-22T10:40:50+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z?\",\"datePublished\":\"2026-01-22T10:40:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/\"},\"wordCount\":2955,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Java\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/\",\"name\":\"\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-22T10:40:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/","og_locale":"tr_TR","og_type":"article","og_title":"\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z?","og_description":"\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z? Java, d\u00fcnyan\u0131n en pop\u00fcler programlama dillerinden biridir. Geni\u015f kullan\u0131m alan\u0131, platform ba\u011f\u0131","og_url":"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-22T10:40:50+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z?","datePublished":"2026-01-22T10:40:50+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/"},"wordCount":2955,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Java"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/","url":"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/","name":"\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-22T10:40:50+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ilk-java-programinizi-nasil-yazarsiniz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0130lk Java Program\u0131n\u0131z\u0131 Nas\u0131l Yazars\u0131n\u0131z?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38054","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38054"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38054\/revisions"}],"predecessor-version":[{"id":38055,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38054\/revisions\/38055"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38054"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38054"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}