<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Yazılım arşivleri - Keşif Ruhu</title>
	<atom:link href="https://www.kesifruhu.com/tag/yazilim/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.kesifruhu.com/tag/yazilim/</link>
	<description>Keşfet, Deneyimle, Paylaş</description>
	<lastBuildDate>Wed, 09 Apr 2025 15:31:18 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>

<image>
	<url>https://www.kesifruhu.com/wp-content/uploads/2024/09/siteico-150x150.png</url>
	<title>Yazılım arşivleri - Keşif Ruhu</title>
	<link>https://www.kesifruhu.com/tag/yazilim/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>14.Dosya İşlemleri (File I/O) – Temel Seviye</title>
		<link>https://www.kesifruhu.com/yazilim/14-dosya-islemleri-file-i-o-temel-seviye/</link>
					<comments>https://www.kesifruhu.com/yazilim/14-dosya-islemleri-file-i-o-temel-seviye/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Wed, 09 Apr 2025 15:31:17 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Dosya İşlemleri]]></category>
		<category><![CDATA[File I/O]]></category>
		<category><![CDATA[Programlama]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=491</guid>

					<description><![CDATA[<p>14. Dosya İşlemleri (File I/O) – Temel Seviye Java programlama dilinde, dosya işlemleri (File I/O), programlarınızın kalıcı veri saklamasını ve dış kaynaklardan veri almasını sağlayan <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/14-dosya-islemleri-file-i-o-temel-seviye/" title="14.Dosya İşlemleri (File I/O) – Temel Seviye">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/14-dosya-islemleri-file-i-o-temel-seviye/">14.Dosya İşlemleri (File I/O) – Temel Seviye</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/6424583/pexels-photo-6424583.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">14. Dosya İşlemleri (File I/O) – Temel Seviye</h1>



<p>Java programlama dilinde, dosya işlemleri (File I/O), programlarınızın kalıcı veri saklamasını ve dış kaynaklardan veri almasını sağlayan temel bir yetenektir. Bu makalede, Java&#8217;da dosya işlemlerinin temel seviyesini ele alacak, dosya oluşturma, okuma, yazma ve silme gibi temel operasyonları örnek kodlarla inceleyeceğiz.</p>



<h2 class="wp-block-heading">Dosya İşlemlerine Giriş</h2>



<p>Dosya işlemleri, programınızın harici dosyalarla etkileşim kurmasını sağlar. Bu, verilerin kalıcı olarak saklanması, yapılandırma dosyalarının okunması, günlüklerin tutulması ve daha pek çok uygulama için kritik öneme sahiptir. Java, dosya işlemleri için güçlü ve esnek bir API sunar.</p>



<p>Java&#8217;da dosya işlemleri genellikle <code>java.io</code> paketindeki sınıflar kullanılarak gerçekleştirilir. Bu paket, dosyalarla etkileşim kurmak için gerekli araçları sağlar. Temel olarak, dosyaları okumak için <code>InputStream</code> ve <code>Reader</code> sınıfları, dosyaları yazmak için ise <code>OutputStream</code> ve <code>Writer</code> sınıfları kullanılır.</p>



<h2 class="wp-block-heading">Temel Dosya İşlemleri</h2>



<h3 class="wp-block-heading">Dosya Oluşturma</h3>



<p>Yeni bir dosya oluşturmak için <code>File</code> sınıfını ve <code>createNewFile()</code> metodunu kullanabilirsiniz. Aşağıdaki örnek, belirtilen konumda yeni bir dosya oluşturur:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="
import java.io.File;
import java.io.IOException;

public class DosyaOlusturma {
    public static void main(String[] args) {
        File dosya = new File(&quot;yeni_dosya.txt&quot;);
        try {
            if (dosya.createNewFile()) {
                System.out.println(&quot;Dosya oluşturuldu: &quot; + dosya.getName());
            } else {
                System.out.println(&quot;Dosya zaten mevcut.&quot;);
            }
        } catch (IOException e) {
            System.out.println(&quot;Bir hata oluştu.&quot;);
            e.printStackTrace();
        }
    }
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">import</span><span style="color: #D4D4D4"> java.io.File;</span></span>
<span class="line"><span style="color: #569CD6">import</span><span style="color: #D4D4D4"> java.io.IOException;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DosyaOlusturma</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">main</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">File</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">dosya</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">File</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;yeni_dosya.txt&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">try</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">dosya</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">createNewFile</span><span style="color: #D4D4D4">()) {</span></span>
<span class="line"><span style="color: #D4D4D4">                </span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosya oluşturuldu: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">dosya</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">getName</span><span style="color: #D4D4D4">());</span></span>
<span class="line"><span style="color: #D4D4D4">            } </span><span style="color: #C586C0">else</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">                </span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosya zaten mevcut.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">            }</span></span>
<span class="line"><span style="color: #D4D4D4">        } </span><span style="color: #C586C0">catch</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">IOException</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Bir hata oluştu.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">printStackTrace</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">        }</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p>Bu kod, &#8220;yeni_dosya.txt&#8221; adında bir dosya oluşturur. Eğer dosya zaten varsa, kullanıcıya bir mesaj gösterir. <code>IOException</code> yakalaması, dosya oluşturma sırasında oluşabilecek hataları ele alır.</p>



<h3 class="wp-block-heading">Dosyaya Yazma</h3>



<p>Bir dosyaya veri yazmak için <code>FileWriter</code> sınıfını kullanabilirsiniz. Aşağıdaki örnek, bir dosyaya metin yazar:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="
import java.io.FileWriter;
import java.io.IOException;

public class DosyayaYazma {
    public static void main(String[] args) {
        try {
            FileWriter yazici = new FileWriter(&quot;yeni_dosya.txt&quot;);
            yazici.write(&quot;Bu bir deneme yazısıdır.\n&quot;);
            yazici.write(&quot;Java dosya işlemlerini öğreniyorum.\n&quot;);
            yazici.close();
            System.out.println(&quot;Dosyaya yazıldı.&quot;);
        } catch (IOException e) {
            System.out.println(&quot;Bir hata oluştu.&quot;);
            e.printStackTrace();
        }
    }
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">import</span><span style="color: #D4D4D4"> java.io.FileWriter;</span></span>
<span class="line"><span style="color: #569CD6">import</span><span style="color: #D4D4D4"> java.io.IOException;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DosyayaYazma</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">main</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">try</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #4EC9B0">FileWriter</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">yazici</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">FileWriter</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;yeni_dosya.txt&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">yazici</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">write</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Bu bir deneme yazısıdır.</span><span style="color: #D7BA7D">\n</span><span style="color: #CE9178">&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">yazici</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">write</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Java dosya işlemlerini öğreniyorum.</span><span style="color: #D7BA7D">\n</span><span style="color: #CE9178">&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">yazici</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">close</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosyaya yazıldı.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">        } </span><span style="color: #C586C0">catch</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">IOException</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Bir hata oluştu.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">printStackTrace</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">        }</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p>Bu kod, &#8220;yeni_dosya.txt&#8221; dosyasına iki satır metin yazar. <code>FileWriter</code> nesnesi, dosyaya yazma işlemini gerçekleştirir. <code>close()</code> metodu, dosyanın kapatılmasını ve verilerin diske yazılmasını sağlar.</p>



<h3 class="wp-block-heading">Dosyadan Okuma</h3>



<p>Bir dosyadan veri okumak için <code>FileReader</code> ve <code>BufferedReader</code> sınıflarını kullanabilirsiniz. Aşağıdaki örnek, bir dosyadan satır satır veri okur:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class DosyadanOkuma {
    public static void main(String[] args) {
        try {
            FileReader okuyucu = new FileReader(&quot;yeni_dosya.txt&quot;);
            BufferedReader bufferedOkuyucu = new BufferedReader(okuyucu);
            String satir;
            while ((satir = bufferedOkuyucu.readLine()) != null) {
                System.out.println(satir);
            }
            bufferedOkuyucu.close();
        } catch (IOException e) {
            System.out.println(&quot;Bir hata oluştu.&quot;);
            e.printStackTrace();
        }
    }
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">import</span><span style="color: #D4D4D4"> java.io.BufferedReader;</span></span>
<span class="line"><span style="color: #569CD6">import</span><span style="color: #D4D4D4"> java.io.FileReader;</span></span>
<span class="line"><span style="color: #569CD6">import</span><span style="color: #D4D4D4"> java.io.IOException;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DosyadanOkuma</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">main</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">try</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #4EC9B0">FileReader</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">okuyucu</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">FileReader</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;yeni_dosya.txt&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #4EC9B0">BufferedReader</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">bufferedOkuyucu</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">BufferedReader</span><span style="color: #D4D4D4">(okuyucu);</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">satir</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #C586C0">while</span><span style="color: #D4D4D4"> ((satir = </span><span style="color: #9CDCFE">bufferedOkuyucu</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">readLine</span><span style="color: #D4D4D4">()) != </span><span style="color: #569CD6">null</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">                </span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(satir);</span></span>
<span class="line"><span style="color: #D4D4D4">            }</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">bufferedOkuyucu</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">close</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">        } </span><span style="color: #C586C0">catch</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">IOException</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Bir hata oluştu.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">printStackTrace</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">        }</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p>Bu kod, &#8220;yeni_dosya.txt&#8221; dosyasını okur ve her satırı ekrana yazdırır. <code>BufferedReader</code>, okuma işlemini daha verimli hale getirir. <code>readLine()</code> metodu, bir satırı okur ve null değer döndürene kadar okuma işlemine devam eder.</p>



<h3 class="wp-block-heading">Dosya Silme</h3>



<p>Bir dosyayı silmek için <code>File</code> sınıfının <code>delete()</code> metodunu kullanabilirsiniz. Aşağıdaki örnek, belirtilen dosyayı siler:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="
import java.io.File;

public class DosyaSilme {
    public static void main(String[] args) {
        File dosya = new File(&quot;yeni_dosya.txt&quot;);
        if (dosya.delete()) {
            System.out.println(&quot;Dosya silindi: &quot; + dosya.getName());
        } else {
            System.out.println(&quot;Dosya silinemedi.&quot;);
        }
    }
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">import</span><span style="color: #D4D4D4"> java.io.File;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">DosyaSilme</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">main</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">File</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">dosya</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">File</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;yeni_dosya.txt&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (</span><span style="color: #9CDCFE">dosya</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">delete</span><span style="color: #D4D4D4">()) {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosya silindi: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">dosya</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">getName</span><span style="color: #D4D4D4">());</span></span>
<span class="line"><span style="color: #D4D4D4">        } </span><span style="color: #C586C0">else</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosya silinemedi.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">        }</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p>Bu kod, &#8220;yeni_dosya.txt&#8221; dosyasını siler. <code>delete()</code> metodu, dosya başarıyla silindiğinde <code>true</code>, silinemediğinde ise <code>false</code> döndürür.</p>



<h2 class="wp-block-heading">İleri Seviye Dosya İşlemleri</h2>



<p>Temel dosya işlemlerinin yanı sıra, Java daha karmaşık dosya işlemleri için de çeşitli sınıflar ve metotlar sunar. Örneğin, <code>FileInputStream</code> ve <code>FileOutputStream</code> sınıfları, binary dosyalarla çalışmak için kullanılır. <code>RandomAccessFile</code> sınıfı ise, dosyanın herhangi bir yerine rastgele erişim sağlar.</p>



<p>Dosya işlemlerinde performans optimizasyonu da önemlidir. Özellikle büyük dosyalarla çalışırken, buffered okuma ve yazma teknikleri kullanmak, performansı önemli ölçüde artırabilir.</p>



<h2 class="wp-block-heading">Sonuç</h2>



<p>Java&#8217;da dosya işlemleri, programlarınızın kalıcı veri saklamasını ve dış kaynaklardan veri almasını sağlayan güçlü bir mekanizmadır. Bu makalede, temel dosya işlemleri olan dosya oluşturma, okuma, yazma ve silme işlemlerini örnek kodlarla inceledik. Dosya işlemlerini doğru ve verimli bir şekilde kullanarak, programlarınızın işlevselliğini ve performansını artırabilirsiniz. <code>java.io</code> paketindeki sınıfları kullanarak, farklı dosya türleriyle ve farklı senaryolarla başa çıkabilirsiniz. Unutmayın ki, dosya işlemlerinde hata yönetimi de büyük önem taşır. Bu nedenle, <code>try-catch</code> blokları kullanarak olası hataları yakalamalı ve programınızın güvenilirliğini sağlamalısınız.</p>



<p>Umarım bu makale, Java&#8217;da dosya işlemlerine başlamanız için size faydalı bir başlangıç noktası sunmuştur.</p>
<p><a href="https://www.kesifruhu.com/yazilim/14-dosya-islemleri-file-i-o-temel-seviye/">14.Dosya İşlemleri (File I/O) – Temel Seviye</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/14-dosya-islemleri-file-i-o-temel-seviye/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>3.Değişkenler ve Veri Türleri</title>
		<link>https://www.kesifruhu.com/yazilim/__trashed-5/</link>
					<comments>https://www.kesifruhu.com/yazilim/__trashed-5/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Mon, 31 Mar 2025 12:03:05 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Programlama]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=456</guid>

					<description><![CDATA[<p>3. Değişkenler ve Veri Türleri Java programlama dilinde, değişkenler ve veri türleri, programın temel yapı taşlarından biridir. Bir programın verileri saklama, işleme ve manipüle etme <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/__trashed-5/" title="3.Değişkenler ve Veri Türleri">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/__trashed-5/">3.Değişkenler ve Veri Türleri</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/14011035/pexels-photo-14011035.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">3. Değişkenler ve Veri Türleri</h1>



<p>Java programlama dilinde, değişkenler ve veri türleri, programın temel yapı taşlarından biridir. Bir programın verileri saklama, işleme ve manipüle etme yeteneği büyük ölçüde değişkenlerin ve doğru veri türlerinin kullanılmasına bağlıdır. Bu makalede, Java&#8217;da değişkenlerin ne olduğunu, farklı veri türlerini ve bu kavramların Java programlamada neden bu kadar önemli olduğunu ayrıntılı olarak inceleyeceğiz.</p>



<h2 class="wp-block-heading">Değişkenler: Veriyi Saklama Kapları</h2>



<p>Bir <strong>değişken</strong>, program içerisinde bir değeri saklamak için kullanılan isimlendirilmiş bir bellek bölgesidir. Değişkenler, programın çalışması sırasında değişebilen verileri tutarlar. Her değişkenin bir adı, bir veri türü ve bir değeri vardır. Değişkenin veri türü, o değişkende hangi tür verilerin saklanabileceğini belirler.</p>



<p>Java&#8217;da bir değişken tanımlamak için şu sözdizimi kullanılır:</p>



<pre class="wp-block-code"><code>veriTipi değişkenAdı = değer;</code></pre>



<p>Örneğin:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="int yas = 30;
String isim = &quot;Ahmet&quot;;
double maas = 5000.50;" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">yas</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">isim</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Ahmet&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #4EC9B0">double</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">maas</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">5000.50</span><span style="color: #D4D4D4">;</span></span></code></pre></div>



<p>Bu örnekte, `yas` adında bir tamsayı (integer) değişkeni tanımlanmış ve değeri 30 olarak atanmıştır. `isim` adında bir metin (String) değişkeni tanımlanmış ve değeri &#8220;Ahmet&#8221; olarak atanmıştır. `maas` adında bir ondalıklı sayı (double) değişkeni tanımlanmış ve değeri 5000.50 olarak atanmıştır.</p>



<h3 class="wp-block-heading">Değişken Adlandırma Kuralları</h3>



<p>Java&#8217;da değişken adları belirli kurallara uymak zorundadır:</p>



<ul class="wp-block-list">
<li>Değişken adları harf, rakam, alt çizgi (_) veya dolar işareti ($) ile başlayabilir.</li>



<li>Değişken adları rakamla başlayamaz.</li>



<li>Değişken adları büyük/küçük harfe duyarlıdır (yani `yas` ve `Yas` farklı değişkenlerdir).</li>



<li>Java&#8217;nın anahtar kelimeleri (örneğin, `int`, `class`, `public`) değişken adı olarak kullanılamaz.</li>



<li>Değişken adları boşluk içeremez.</li>
</ul>



<p>İyi bir uygulama olarak, değişken adlarının anlamlı ve açıklayıcı olması önerilir. Bu, kodun okunabilirliğini ve anlaşılabilirliğini artırır.</p>



<h2 class="wp-block-heading">Veri Türleri: Verinin Niteliği</h2>



<p>Bir <strong>veri türü</strong>, bir değişkenin saklayabileceği veri türünü ve bu veriler üzerinde yapılabilecek işlemleri tanımlar. Java&#8217;da iki ana veri türü kategorisi bulunur: ilkel (primitive) veri türleri ve referans (reference) veri türleri.</p>



<h3 class="wp-block-heading">İlkel (Primitive) Veri Türleri</h3>



<p>İlkel veri türleri, Java&#8217;da önceden tanımlanmış ve belirli bir boyutta olan temel veri türleridir. Java&#8217;da 8 tane ilkel veri türü bulunur:</p>



<ol class="wp-block-list">
<li><strong>byte:</strong> 8 bitlik işaretli tamsayı. Değer aralığı: -128 ile 127 arası.</li>



<li><strong>short:</strong> 16 bitlik işaretli tamsayı. Değer aralığı: -32,768 ile 32,767 arası.</li>



<li><strong>int:</strong> 32 bitlik işaretli tamsayı. Değer aralığı: -2,147,483,648 ile 2,147,483,647 arası.</li>



<li><strong>long:</strong> 64 bitlik işaretli tamsayı. Değer aralığı: -9,223,372,036,854,775,808 ile 9,223,372,036,854,775,807 arası.</li>



<li><strong>float:</strong> 32 bitlik tek duyarlıklı kayan noktalı sayı.</li>



<li><strong>double:</strong> 64 bitlik çift duyarlıklı kayan noktalı sayı.</li>



<li><strong>boolean:</strong> Mantıksal değer (true veya false).</li>



<li><strong>char:</strong> 16 bitlik Unicode karakter.</li>
</ol>



<p>İlkel veri türleri, değerlerini doğrudan saklar. Bu, erişim ve işlem hızını artırır.</p>



<h3 class="wp-block-heading">Referans (Reference) Veri Türleri</h3>



<p>Referans veri türleri, nesnelerin bellekteki adreslerini saklar. Bu türler, sınıflar (classes), arayüzler (interfaces) ve diziler (arrays) gibi daha karmaşık veri yapılarını temsil eder. Referans veri türleri, ilkel veri türlerinden farklı olarak, değerlerini doğrudan saklamazlar. Bunun yerine, bellekteki nesnenin konumunu gösteren bir referans saklarlar.</p>



<p>Örneğin:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="String isim = new String(&quot;Ayşe&quot;);
int[] sayilar = {1, 2, 3, 4, 5};" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">isim</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">String</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Ayşe&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4"> = {</span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">4</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">};</span></span></code></pre></div>



<p>Bu örnekte, `isim` bir String nesnesine referans gösterir ve `sayilar` bir tamsayı dizisine referans gösterir.</p>



<h2 class="wp-block-heading">Veri Türü Dönüşümleri (Type Casting)</h2>



<p>Java&#8217;da, bir veri türündeki bir değeri başka bir veri türüne dönüştürmek mümkündür. Bu işleme <strong>veri türü dönüşümü</strong> (type casting) denir. İki tür veri türü dönüşümü vardır:</p>



<ul class="wp-block-list">
<li><strong>Genişletme (Widening):</strong> Daha küçük bir veri türünden daha büyük bir veri türüne dönüştürme işlemidir. Bu dönüşüm otomatik olarak yapılır ve veri kaybı riski taşımaz. Örneğin, `int` değerini `long` değerine dönüştürmek.</li>



<li><strong>Daraltma (Narrowing):</strong> Daha büyük bir veri türünden daha küçük bir veri türüne dönüştürme işlemidir. Bu dönüşüm manuel olarak yapılmalıdır ve veri kaybı riski taşır. Örneğin, `double` değerini `int` değerine dönüştürmek.</li>
</ul>



<p>Örneğin:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="int sayi1 = 10;
double sayi2 = sayi1; // Genişletme (otomatik)

double sayi3 = 10.5;
int sayi4 = (int) sayi3; // Daraltma (manuel) - veri kaybı olabilir" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi1</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #4EC9B0">double</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi2</span><span style="color: #D4D4D4"> = sayi1; </span><span style="color: #6A9955">// Genişletme (otomatik)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">double</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi3</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">10.5</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi4</span><span style="color: #D4D4D4"> = (</span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4">) sayi3; </span><span style="color: #6A9955">// Daraltma (manuel) - veri kaybı olabilir</span></span></code></pre></div>



<h2 class="wp-block-heading">Değişkenlerin Kapsamı (Scope)</h2>



<p>Bir değişkenin <strong>kapsamı</strong>, programın hangi bölgelerinde o değişkene erişilebileceğini belirler. Java&#8217;da üç ana değişken kapsamı vardır:</p>



<ul class="wp-block-list">
<li><strong>Yerel Değişkenler (Local Variables):</strong> Bir metot veya blok içinde tanımlanan değişkenlerdir. Sadece tanımlandıkları metot veya blok içinde erişilebilirler.</li>



<li><strong>Örnek Değişkenler (Instance Variables):</strong> Bir sınıf içinde, ancak herhangi bir metot dışında tanımlanan değişkenlerdir. Sınıfın her örneği (nesnesi) için farklı bir değere sahip olabilirler.</li>



<li><strong>Sınıf Değişkenleri (Class Variables):</strong> Bir sınıf içinde `static` anahtar kelimesi ile tanımlanan değişkenlerdir. Sınıfın tüm örnekleri (nesneleri) tarafından paylaşılırlar.</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Önemli Not:</strong> Değişkenlerin kapsamını anlamak, programın doğru çalışması ve beklenmedik hataların önlenmesi için kritik öneme sahiptir.</p>
</blockquote>



<h2 class="wp-block-heading">Sonuç</h2>



<p>Java programlama dilinde değişkenler ve veri türleri, programın temel yapı taşlarıdır. Doğru veri türlerini seçmek ve değişkenleri doğru bir şekilde kullanmak, programın performansını, güvenilirliğini ve okunabilirliğini önemli ölçüde etkiler. Bu makalede, Java&#8217;da değişkenlerin ne olduğunu, farklı veri türlerini, veri türü dönüşümlerini ve değişkenlerin kapsamını ayrıntılı olarak inceledik. Bu bilgileri kullanarak, daha sağlam ve etkili Java programları geliştirebilirsiniz.</p>



<figure class="wp-block-image"><img decoding="async" src="image-placeholder.jpg" alt="Java Code Example"/></figure>



<p></p>
<p><a href="https://www.kesifruhu.com/yazilim/__trashed-5/">3.Değişkenler ve Veri Türleri</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/__trashed-5/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>1. Java&#8217;ya Giriş</title>
		<link>https://www.kesifruhu.com/yazilim/1-javaya-giris/</link>
					<comments>https://www.kesifruhu.com/yazilim/1-javaya-giris/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Fri, 28 Mar 2025 14:53:36 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Geliştirme]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[Programlama]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=449</guid>

					<description><![CDATA[<p>Java&#8217;ya Giriş: Programlama Dünyasına İlk Adım Java, günümüzün en popüler ve yaygın olarak kullanılan programlama dillerinden biridir. Platform bağımsızlığı, nesne yönelimliliği, güvenlik özellikleri ve geniş <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/1-javaya-giris/" title="1. Java&#8217;ya Giriş">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/1-javaya-giris/">1. Java&#8217;ya Giriş</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://images.pexels.com/photos/4164418/pexels-photo-4164418.jpeg?auto=compress&amp;cs=tinysrgb&amp;fit=crop&amp;h=627&amp;w=1200" alt="image text"/></figure>



<p></p>



<h1 class="wp-block-heading">Java&#8217;ya Giriş: Programlama Dünyasına İlk Adım</h1>



<p>Java, günümüzün en popüler ve yaygın olarak kullanılan programlama dillerinden biridir. Platform bağımsızlığı, nesne yönelimliliği, güvenlik özellikleri ve geniş kütüphane desteği sayesinde, web uygulamalarından mobil uygulamalara, kurumsal sistemlerden gömülü sistemlere kadar birçok alanda kendine yer bulmuştur. Bu makalede, Java programlama diline bir giriş yapacağız ve temel kavramları ele alacağız.</p>



<h2 class="wp-block-heading">Java Nedir?</h2>



<p>Java, Sun Microsystems (daha sonra Oracle tarafından satın alındı) tarafından 1995 yılında geliştirilen, genel amaçlı, sınıf tabanlı, nesne yönelimli bir programlama dilidir. James Gosling, Bill Joy ve Mike Sheridan tarafından geliştirilen Java, ilk başta &#8216;Oak&#8217; adıyla bilinmekteydi.</p>



<p>Java&#8217;nın temel felsefesi, <em>&#8216;Bir kere yaz, her yerde çalıştır&#8217;</em> (Write Once, Run Anywhere &#8211; WORA) prensibine dayanır. Bu, Java kodunun, Java Sanal Makinesi (JVM) olan herhangi bir platformda (Windows, macOS, Linux vb.) değişiklik yapılmadan çalışabileceği anlamına gelir.</p>



<figure class="wp-block-image"><img decoding="async" src="image-placeholder.jpg" alt="Java Programming Code"/></figure>



<p></p>



<h2 class="wp-block-heading">Java&#8217;nın Temel Özellikleri</h2>



<p>Java&#8217;yı diğer programlama dillerinden ayıran ve onu bu kadar popüler kılan birçok özellik bulunmaktadır. İşte Java&#8217;nın temel özellikleri:</p>



<ul class="wp-block-list">
<li><strong>Nesne Yönelimlilik:</strong> Java, nesne yönelimli bir programlama dilidir. Bu, programların nesneler ve sınıflar etrafında organize edildiği anlamına gelir. Nesne yönelimli programlama, kodun daha modüler, yeniden kullanılabilir ve bakımı daha kolay olmasını sağlar.</li>



<li><strong>Platform Bağımsızlığı:</strong> Java kodu, JVM üzerinde çalışır. JVM, her işletim sistemi için ayrı ayrı geliştirilmiştir, bu da Java kodunun farklı platformlarda sorunsuz çalışmasını sağlar.</li>



<li><strong>Güvenlik:</strong> Java, güvenlik konusunda güçlü özelliklere sahiptir. Otomatik bellek yönetimi (çöp toplama), güvenlik yöneticisi ve diğer güvenlik mekanizmaları, kötü amaçlı kodların sisteme zarar vermesini engeller.</li>



<li><strong>Yüksek Performans:</strong> Java, derlenmiş bir dildir ve Just-In-Time (JIT) derleyicisi sayesinde yüksek performans sunar. JIT derleyicisi, çalışma zamanında Java byte kodunu makine koduna çevirir, bu da programın daha hızlı çalışmasını sağlar.</li>



<li><strong>Çoklu İş Parçacığı (Multithreading):</strong> Java, aynı anda birden fazla iş parçacığını destekler. Bu, programların daha karmaşık görevleri daha verimli bir şekilde gerçekleştirmesini sağlar.</li>



<li><strong>Geniş Kütüphane Desteği:</strong> Java, geniş bir kütüphane setine sahiptir. Bu kütüphaneler, veri yapıları, ağ iletişimi, grafikler, veritabanı erişimi ve daha birçok alanda kullanıma hazır fonksiyonlar sunar.</li>
</ul>



<h2 class="wp-block-heading">Java&#8217;nın Kullanım Alanları</h2>



<p>Java&#8217;nın çok yönlülüğü, onu birçok farklı alanda popüler bir seçenek haline getirmiştir. İşte Java&#8217;nın yaygın olarak kullanıldığı bazı alanlar:</p>



<ol class="wp-block-list">
<li><strong>Web Uygulamaları:</strong> Java, web uygulamaları geliştirmek için yaygın olarak kullanılır. Servlet&#8217;ler, JSP&#8217;ler (JavaServer Pages) ve çeşitli web framework&#8217;leri (Spring, Struts, JSF) Java tabanlı web uygulamalarının temelini oluşturur.</li>



<li><strong>Mobil Uygulamalar:</strong> Android işletim sistemi, Java&#8217;yı temel alır. Android uygulama geliştirme için Java (ve son zamanlarda Kotlin) en çok kullanılan dillerdendir.</li>



<li><strong>Kurumsal Uygulamalar:</strong> Java, büyük ölçekli kurumsal uygulamalar geliştirmek için sıklıkla tercih edilir. Güvenilirliği, ölçeklenebilirliği ve entegrasyon yetenekleri, Java&#8217;yı kurumsal çözümler için ideal kılar.</li>



<li><strong>Masaüstü Uygulamaları:</strong> Java, masaüstü uygulamaları geliştirmek için de kullanılabilir. Swing ve JavaFX gibi GUI (Graphical User Interface) kütüphaneleri, kullanıcı dostu arayüzler oluşturmayı sağlar.</li>



<li><strong>Gömülü Sistemler:</strong> Java, gömülü sistemlerde (örneğin, akıllı kartlar, TV set üstü kutuları) de kullanılır. Java ME (Micro Edition), sınırlı kaynaklara sahip cihazlar için optimize edilmiştir.</li>



<li><strong>Oyun Geliştirme:</strong> Java, Minecraft gibi popüler oyunların geliştirilmesinde kullanılmıştır. LibGDX gibi oyun geliştirme framework&#8217;leri, Java ile oyun geliştirmeyi kolaylaştırır.</li>
</ol>



<h2 class="wp-block-heading">Java Geliştirme Ortamı Kurulumu</h2>



<p>Java ile program geliştirmeye başlamak için öncelikle bir Java Geliştirme Ortamı (JDK) kurmanız gerekmektedir. İşte adım adım JDK kurulumu:</p>



<ol class="wp-block-list">
<li><strong>JDK İndirme:</strong> Oracle&#8217;ın veya OpenJDK&#8217;nın web sitesinden işletim sisteminize uygun JDK sürümünü indirin.</li>



<li><strong>Kurulum:</strong> İndirdiğiniz dosyayı çalıştırarak JDK&#8217;yı kurun. Kurulum sırasında, kurulum dizinini not alın.</li>



<li><strong>Ortam Değişkenlerini Ayarlama:</strong> <code>JAVA_HOME</code> ve <code>PATH</code> ortam değişkenlerini ayarlayın. <code>JAVA_HOME</code> değişkeni, JDK&#8217;nın kurulu olduğu dizini göstermelidir. <code>PATH</code> değişkenine ise <code>%JAVA_HOME%\bin</code> yolunu ekleyin.</li>



<li><strong>Doğrulama:</strong> Komut istemini açın ve <code>java -version</code> komutunu çalıştırın. Eğer Java sürüm bilgilerini görüyorsanız, kurulum başarıyla tamamlanmıştır.</li>
</ol>



<h2 class="wp-block-heading">İlk Java Programı</h2>



<p>Şimdi ilk Java programımızı yazalım. Aşağıdaki kodu bir metin düzenleyiciye kopyalayın ve <code>MerhabaDunya.java</code> adıyla kaydedin:</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">Java</span><span role="button" tabindex="0" data-code="
public class MerhabaDunya {
 public static void main(String[] args) {
 System.out.println(&quot;Merhaba, Dünya!&quot;);
 }
}
" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">MerhabaDunya</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">static</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">main</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">args</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">out</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Merhaba, Dünya!&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4"> }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p>Bu programı derlemek ve çalıştırmak için şu adımları izleyin:</p>



<ol class="wp-block-list">
<li>Komut istemini açın ve <code>MerhabaDunya.java</code> dosyasının bulunduğu dizine gidin.</li>



<li><code>javac MerhabaDunya.java</code> komutunu çalıştırarak programı derleyin. Bu, aynı dizinde <code>MerhabaDunya.class</code> adlı bir dosya oluşturacaktır.</li>



<li><code>java MerhabaDunya</code> komutunu çalıştırarak programı çalıştırın. Ekranda &#8220;Merhaba, Dünya!&#8221; çıktısını görmelisiniz.</li>
</ol>



<h2 class="wp-block-heading">Sonuç</h2>



<p>Bu makalede, Java programlama diline bir giriş yaptık ve temel kavramları ele aldık. Java&#8217;nın ne olduğunu, temel özelliklerini, kullanım alanlarını, geliştirme ortamı kurulumunu ve ilk Java programımızı inceledik. Java&#8217;nın zengin ekosistemi ve geniş kullanım alanları, onu öğrenmek için harika bir programlama dili yapmaktadır. Java ile programlama yolculuğunuzda başarılar dileriz!</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Java, sadece bir programlama dili değil, aynı zamanda bir platformdur. Platform bağımsızlığı, güvenlik ve performans gibi özellikleri, Java&#8217;yı günümüzün en önemli teknolojilerinden biri yapmaktadır.&#8221;<br><cite>&#8211; Bjarne Stroustrup (C++&#8217;ın yaratıcısı)</cite></p>
</blockquote>
<p><a href="https://www.kesifruhu.com/yazilim/1-javaya-giris/">1. Java&#8217;ya Giriş</a> yazısı ilk önce <a href="https://www.kesifruhu.com">Keşif Ruhu</a> üzerinde ortaya çıktı.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kesifruhu.com/yazilim/1-javaya-giris/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
