<?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>Java arşivleri - Keşif Ruhu</title>
	<atom:link href="https://www.kesifruhu.com/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.kesifruhu.com/tag/java/</link>
	<description>Keşfet, Deneyimle, Paylaş</description>
	<lastBuildDate>Sat, 19 Apr 2025 09:47:30 +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>Java arşivleri - Keşif Ruhu</title>
	<link>https://www.kesifruhu.com/tag/java/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>15. Sınıf ve Nesne Kavramı (OOP Temelleri)</title>
		<link>https://www.kesifruhu.com/yazilim/15-sinif-ve-nesne-kavrami-oop-temelleri/</link>
					<comments>https://www.kesifruhu.com/yazilim/15-sinif-ve-nesne-kavrami-oop-temelleri/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Thu, 10 Apr 2025 13:42:10 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Sınıf]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=493</guid>

					<description><![CDATA[<p>15. Sınıf ve Nesne Kavramı (OOP Temelleri) Java, nesne yönelimli bir programlama (OOP) dilidir. Bu, programlarınızı nesneler etrafında yapılandırmanıza ve verilerinizi ve davranışlarınızı bu nesneler <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/15-sinif-ve-nesne-kavrami-oop-temelleri/" title="15. Sınıf ve Nesne Kavramı (OOP Temelleri)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/15-sinif-ve-nesne-kavrami-oop-temelleri/">15. Sınıf ve Nesne Kavramı (OOP Temelleri)</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/177598/pexels-photo-177598.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">15. Sınıf ve Nesne Kavramı (OOP Temelleri)</h1>



<p>Java, nesne yönelimli bir programlama (OOP) dilidir. Bu, programlarınızı nesneler etrafında yapılandırmanıza ve verilerinizi ve davranışlarınızı bu nesneler içinde bir araya getirmenize olanak tanır. Nesne yönelimli programlamanın temel yapı taşları <strong>sınıflar</strong> ve <strong>nesnelerdir</strong>. Bu yazıda, Java&#8217;da sınıf ve nesne kavramlarını derinlemesine inceleyeceğiz, OOP&#8217;nin temel prensiplerini anlayacağız ve bu bilgileri pratik örneklerle pekiştireceğiz.</p>



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



<p></p>



<h2 class="wp-block-heading">Sınıf Nedir?</h2>



<p>Bir <strong>sınıf</strong>, nesneler oluşturmak için kullanılan bir şablondur. Bir evin planı gibi düşünülebilir. Sınıf, nesnenin sahip olacağı özellikleri (değişkenler) ve nesnenin yapabileceği eylemleri (metotlar) tanımlar. Başka bir deyişle, sınıf bir nesnenin <em>tasarımıdır</em>.</p>



<p>Java&#8217;da bir sınıf tanımlamak için <code>class</code> anahtar kelimesini kullanırız. Sınıfın adı, büyük harfle başlar ve Java isimlendirme kurallarına uygun olmalıdır. İşte basit bir sınıf tanımı örneği:</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="
public class Araba {
  // Değişkenler (özellikler)
  String marka;
  String model;
  int yil;
  String renk;

  // Metotlar (davranışlar)
  public void calistir() {
    System.out.println(&quot;Araba çalıştı!&quot;);
  }

  public void durdur() {
    System.out.println(&quot;Araba durdu!&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">Araba</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Değişkenler (özellikler)</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">marka</span><span style="color: #D4D4D4">;</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">model</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">yil</span><span style="color: #D4D4D4">;</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">renk</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Metotlar (davranışlar)</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">calistir</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;Araba çalıştı!&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">durdur</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;Araba durdu!&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 örnekte, <code>Araba</code> adında bir sınıf tanımladık. Bu sınıf, <code>marka</code>, <code>model</code>, <code>yil</code> ve <code>renk</code> adında dört değişkene (özelliğe) ve <code>calistir()</code> ve <code>durdur()</code> adında iki metoda (davranışa) sahiptir.</p>



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



<p>Bir <strong>nesne</strong>, bir sınıfın somut bir örneğidir. Ev planına (sınıf) sahip olduktan sonra, bu plana göre inşa ettiğiniz her ev bir nesnedir. Sınıf bir <em>şablon</em> iken, nesne bu şablonun <em>gerçekleşmiş</em> halidir. Bir sınıftan birden fazla nesne oluşturabilirsiniz; her nesne, sınıfın tanımladığı özelliklere ve davranışlara sahip olacaktır, ancak bu özelliklerin değerleri farklı olabilir.</p>



<p>Java&#8217;da bir nesne oluşturmak için <code>new</code> anahtar kelimesini kullanırız. İşte <code>Araba</code> sınıfından bir nesne oluşturma örneği:</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="
Araba benimArabam = new Araba();
benimArabam.marka = &quot;BMW&quot;;
benimArabam.model = &quot;320i&quot;;
benimArabam.yil = 2023;
benimArabam.renk = &quot;Beyaz&quot;;

System.out.println(&quot;Arabanın markası: &quot; + benimArabam.marka);
benimArabam.calistir();
" 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: #4EC9B0">Araba</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Araba</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">marka</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;BMW&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">model</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;320i&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">yil</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">2023</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">renk</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Beyaz&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><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;Arabanın markası: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">marka</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">benimArabam</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">calistir</span><span style="color: #D4D4D4">();</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, <code>Araba</code> sınıfından <code>benimArabam</code> adında bir nesne oluşturduk. Daha sonra, bu nesnenin özelliklerini (<code>marka</code>, <code>model</code>, <code>yil</code>, <code>renk</code>) belirli değerlerle doldurduk ve <code>calistir()</code> metodunu çağırdık.</p>



<h2 class="wp-block-heading">Sınıf ve Nesne Arasındaki İlişki</h2>



<p>Sınıf ve nesne arasındaki ilişkiyi daha iyi anlamak için, bir pasta kalıbı ve pastalar arasındaki ilişkiyi düşünebiliriz. Pasta kalıbı (sınıf), pastaların (nesneler) şeklini ve boyutunu tanımlar. Her pasta, aynı kalıptan (sınıftan) oluşturulmuş olsa da, farklı malzemelerle (özellik değerleri) yapılabilir.</p>



<h2 class="wp-block-heading">OOP&#8217;nin Temel İlkeleri</h2>



<p>Sınıf ve nesne kavramları, nesne yönelimli programlamanın (OOP) temelini oluşturur. OOP, yazılım geliştirme sürecini daha modüler, esnek ve yeniden kullanılabilir hale getirmeyi amaçlayan bir programlama paradigmasıdır. OOP&#8217;nin dört temel ilkesi şunlardır:</p>



<ul class="wp-block-list">
<li><strong>Soyutlama (Abstraction):</strong> Gereksiz detayları gizleyerek, karmaşıklığı azaltır ve önemli bilgilere odaklanmayı sağlar.</li>



<li><strong>Kapsülleme (Encapsulation):</strong> Verileri ve metotları bir arada tutarak, verilere doğrudan erişimi engeller ve veri bütünlüğünü korur.</li>



<li><strong>Miras (Inheritance):</strong> Mevcut sınıflardan yeni sınıflar türetilmesini sağlayarak, kodun yeniden kullanılabilirliğini artırır ve hiyerarşik bir yapı oluşturur.</li>



<li><strong>Çok Biçimlilik (Polymorphism):</strong> Nesnelerin farklı şekillerde davranabilmesini sağlayarak, esnekliği ve genişletilebilirliği artırır.</li>
</ul>



<h3 class="wp-block-heading">Soyutlama (Abstraction)</h3>



<p>Soyutlama, nesnelerin yalnızca gerekli olan özelliklerini ve davranışlarını göstererek karmaşıklığı yönetmeye yardımcı olur. Bir araba kullanırken, motorun iç detaylarını bilmemize gerek yoktur; sadece direksiyonu, pedalları ve vitesi kullanırız. Bu, arabanın soyutlanmış bir görünümüdür.</p>



<h3 class="wp-block-heading">Kapsülleme (Encapsulation)</h3>



<p>Kapsülleme, verileri ve bu veriler üzerinde işlem yapan metotları bir araya getirerek, verilerin dışarıdan doğrudan erişilmesini engeller. Bu, veri bütünlüğünü korur ve nesnenin iç yapısının değiştirilmesini zorlaştırır. Java&#8217;da kapsülleme, erişim belirleyicileri (<code>private</code>, <code>protected</code>, <code>public</code>) kullanılarak sağlanır.</p>



<h3 class="wp-block-heading">Miras (Inheritance)</h3>



<p>Miras, bir sınıfın (alt sınıf veya türetilmiş sınıf) başka bir sınıfın (üst sınıf veya temel sınıf) özelliklerini ve davranışlarını devralmasını sağlar. Bu, kodun yeniden kullanılabilirliğini artırır ve sınıflar arasında bir hiyerarşik ilişki oluşturur. Örneğin, bir <code>Araba</code> sınıfından <code>SporAraba</code> sınıfı türetilebilir; <code>SporAraba</code>, <code>Araba</code>&#8216;nın tüm özelliklerine ve davranışlarına sahip olur ve ek özellikler ve davranışlar ekleyebilir.</p>



<h3 class="wp-block-heading">Çok Biçimlilik (Polymorphism)</h3>



<p>Çok biçimlilik, aynı metodun farklı sınıflarda farklı şekillerde uygulanabilmesini sağlar. Bu, esnekliği ve genişletilebilirliği artırır. Örneğin, bir <code>Sekil</code> sınıfından <code>Kare</code> ve <code>Daire</code> sınıfları türetilebilir; her iki sınıf da <code>alanHesapla()</code> metoduna sahip olabilir, ancak bu metot her sınıf için farklı bir şekilde uygulanır.</p>



<figure class="wp-block-image"><img decoding="async" src="image-placeholder.jpg" alt="OOP Principles Visualization"/></figure>



<p></p>



<h2 class="wp-block-heading">Örnek Uygulama</h2>



<p>Şimdi, OOP&#8217;nin temel ilkelerini kullanarak daha kapsamlı bir örnek oluşturalım. Bir <code>Hayvan</code> sınıfı ve bu sınıftan türetilmiş <code>Kedi</code> ve <code>Köpek</code> sınıfları tanımlayalım.</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="
public class Hayvan {
  private String ad;
  private String tur;

  public Hayvan(String ad, String tur) {
    this.ad = ad;
    this.tur = tur;
  }

  public void sesCikar() {
    System.out.println(&quot;Hayvan sesi çıkarıyor.&quot;);
  }

  public String getAd() {
    return ad;
  }

  public String getTur() {
    return tur;
  }
}

public class Kedi extends Hayvan {
  public Kedi(String ad) {
    super(ad, &quot;Kedi&quot;);
  }

  @Override
  public void sesCikar() {
    System.out.println(&quot;Miyav!&quot;);
  }
}

public class Kopek extends Hayvan {
  public Kopek(String ad) {
    super(ad, &quot;Köpek&quot;);
  }

  @Override
  public void sesCikar() {
    System.out.println(&quot;Hav!&quot;);
  }
}

public class Main {
  public static void main(String[] args) {
    Kedi tekir = new Kedi(&quot;Tekir&quot;);
    Kopek karabas = new Kopek(&quot;Karabaş&quot;);

    System.out.println(tekir.getAd() + &quot; bir &quot; + tekir.getTur() + &quot;'dir.&quot;);
    tekir.sesCikar();

    System.out.println(karabas.getAd() + &quot; bir &quot; + karabas.getTur() + &quot;'dir.&quot;);
    karabas.sesCikar();
  }
}
" 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">Hayvan</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ad</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">tur</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Hayvan</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ad</span><span style="color: #D4D4D4">, </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">tur</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">this</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">ad</span><span style="color: #D4D4D4"> = ad;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">this</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">tur</span><span style="color: #D4D4D4"> = tur;</span></span>
<span class="line"><span style="color: #D4D4D4">  }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">sesCikar</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;Hayvan sesi çıkarıyor.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">getAd</span><span style="color: #D4D4D4">() {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> ad;</span></span>
<span class="line"><span style="color: #D4D4D4">  }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">getTur</span><span style="color: #D4D4D4">() {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> tur;</span></span>
<span class="line"><span style="color: #D4D4D4">  }</span></span>
<span class="line"><span style="color: #D4D4D4">}</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">Kedi</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">extends</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Hayvan</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: #DCDCAA">Kedi</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ad</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">super</span><span style="color: #D4D4D4">(ad, </span><span style="color: #CE9178">&quot;Kedi&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  @</span><span style="color: #4EC9B0">Override</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">sesCikar</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;Miyav!&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>
<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">Kopek</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">extends</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Hayvan</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: #DCDCAA">Kopek</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ad</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">super</span><span style="color: #D4D4D4">(ad, </span><span style="color: #CE9178">&quot;Köpek&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">  }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  @</span><span style="color: #4EC9B0">Override</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">void</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">sesCikar</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;Hav!&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>
<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">Main</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">Kedi</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">tekir</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Kedi</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Tekir&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #4EC9B0">Kopek</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">karabas</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Kopek</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Karabaş&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></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: #9CDCFE">tekir</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">getAd</span><span style="color: #D4D4D4">() + </span><span style="color: #CE9178">&quot; bir &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">tekir</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">getTur</span><span style="color: #D4D4D4">() + </span><span style="color: #CE9178">&quot;&#39;dir.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">tekir</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">sesCikar</span><span style="color: #D4D4D4">();</span></span>
<span class="line"></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: #9CDCFE">karabas</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">getAd</span><span style="color: #D4D4D4">() + </span><span style="color: #CE9178">&quot; bir &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">karabas</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">getTur</span><span style="color: #D4D4D4">() + </span><span style="color: #CE9178">&quot;&#39;dir.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">karabas</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">sesCikar</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 örnekte, <code>Hayvan</code> sınıfı, <code>Kedi</code> ve <code>Köpek</code> sınıfları için bir temel sınıf olarak işlev görür. <code>Kedi</code> ve <code>Köpek</code> sınıfları, <code>Hayvan</code> sınıfının özelliklerini devralır ve <code>sesCikar()</code> metodunu kendilerine özgü bir şekilde uygular. Bu, miras ve çok biçimlilik kavramlarının bir örneğidir.</p>



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



<p>Sınıf ve nesne kavramları, Java programlamanın temelini oluşturur ve nesne yönelimli programlamanın (OOP) merkezinde yer alır. Bu kavramları anlamak, daha modüler, esnek ve yeniden kullanılabilir kodlar yazmanıza yardımcı olur. OOP&#8217;nin temel ilkelerini (soyutlama, kapsülleme, miras, çok biçimlilik) öğrenerek, daha karmaşık ve büyük ölçekli yazılım projelerini daha etkili bir şekilde yönetebilirsiniz. Bu bilgiler ışığında, Java ile nesne yönelimli programlama becerilerinizi geliştirmeye devam edebilirsiniz.</p>



<p>Umarım bu makale, sınıf ve nesne kavramlarını anlamanıza yardımcı olmuştur. Java programlama yolculuğunuzda başarılar dilerim!</p>



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



<p></p>
<p><a href="https://www.kesifruhu.com/yazilim/15-sinif-ve-nesne-kavrami-oop-temelleri/">15. Sınıf ve Nesne Kavramı (OOP Temelleri)</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/15-sinif-ve-nesne-kavrami-oop-temelleri/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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>13.Hata Yakalama (Exception Handling) ve Try-Catch-Finally Blokları</title>
		<link>https://www.kesifruhu.com/yazilim/13-hata-yakalama-exception-handling-ve-try-catch-finally-bloklari/</link>
					<comments>https://www.kesifruhu.com/yazilim/13-hata-yakalama-exception-handling-ve-try-catch-finally-bloklari/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Tue, 08 Apr 2025 16:12:58 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Exception Handling]]></category>
		<category><![CDATA[Hata Yakalama]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Try-Catch]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=489</guid>

					<description><![CDATA[<p>13. Hata Yakalama (Exception Handling) ve Try-Catch-Finally Blokları Java, sağlam ve hatasız uygulamalar geliştirmek için güçlü bir hata yakalama mekanizması sunar. Bu mekanizma, Exception Handling <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/13-hata-yakalama-exception-handling-ve-try-catch-finally-bloklari/" title="13.Hata Yakalama (Exception Handling) ve Try-Catch-Finally Blokları">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/13-hata-yakalama-exception-handling-ve-try-catch-finally-bloklari/">13.Hata Yakalama (Exception Handling) ve Try-Catch-Finally Blokları</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/6212801/pexels-photo-6212801.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">13. Hata Yakalama (Exception Handling) ve Try-Catch-Finally Blokları</h1>



<p>Java, sağlam ve hatasız uygulamalar geliştirmek için güçlü bir hata yakalama mekanizması sunar. Bu mekanizma, <strong><em>Exception Handling</em></strong> (İstisna Yönetimi) olarak adlandırılır. Exception Handling, programın normal akışını bozan beklenmedik durumları (örneğin, dosya bulunamaması, geçersiz veri girişi, aritmetik hatalar) ele almayı sağlar. Bu makalede, Java&#8217;da Exception Handling&#8217;in ne olduğunu, nasıl çalıştığını ve <code>try-catch-finally</code> bloklarının kullanımını ayrıntılı olarak inceleyeceğiz.</p>



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



<p><strong>Exception</strong>, programın yürütülmesi sırasında meydana gelen ve normal akışı kesintiye uğratan bir olaydır. Java&#8217;da, exception&#8217;lar nesnelerdir ve <code>java.lang.Throwable</code> sınıfından türetilirler. Throwable sınıfının iki ana alt sınıfı vardır: <code>Exception</code> ve <code>Error</code>.</p>



<ul class="wp-block-list">
<li><strong>Exception:</strong> Uygulamanın kendisinin ele alabileceği durumları temsil eder. Örneğin, <code>IOException</code> (giriş/çıkış hatası), <code>ArithmeticException</code> (aritmetik hata), <code>NullPointerException</code> (null referans hatası) gibi.</li>



<li><strong>Error:</strong> Uygulamanın genellikle ele alamayacağı ciddi sorunları temsil eder. Örneğin, <code>OutOfMemoryError</code> (bellek yetersiz hatası), <code>StackOverflowError</code> (stack taşması hatası) gibi.</li>
</ul>



<p>Exception Handling, genellikle <code>Exception</code> sınıfından türetilen nesnelerle ilgilenir.</p>



<h2 class="wp-block-heading">Neden Exception Handling Kullanmalıyız?</h2>



<p>Exception Handling kullanmanın temel amacı, programın beklenmedik hatalar karşısında çökmesini önlemek ve kullanıcıya anlamlı geri bildirim sağlamaktır. Exception Handling sayesinde şunları yapabiliriz:</p>



<ul class="wp-block-list">
<li>Programın normal akışını koruyabiliriz.</li>



<li>Hataları tespit edip düzeltebiliriz.</li>



<li>Kullanıcıya hatalar hakkında bilgi verebiliriz.</li>



<li>Kaynakları (dosyalar, veritabanı bağlantıları vb.) düzgün bir şekilde serbest bırakabiliriz.</li>
</ul>



<h2 class="wp-block-heading">Try-Catch-Finally Blokları</h2>



<p>Java&#8217;da Exception Handling, <code>try-catch-finally</code> blokları kullanılarak gerçekleştirilir. Bu bloklar, hata oluşabilecek kod parçalarını güvenli bir şekilde çalıştırmamızı ve hataları ele almamızı sağlar.</p>



<h3 class="wp-block-heading">Try Bloğu</h3>



<p><code>try</code> bloğu, hata oluşma potansiyeli olan kodları içerir. Programın hata verebileceğini düşündüğümüz kısımlar bu blok içine alınır. Eğer <code>try</code> bloğu içinde bir exception oluşursa, program hemen <code>catch</code> bloğuna geçer.</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="
try {
    // Hata oluşma potansiyeli olan kod
    int result = 10 / 0; // ArithmeticException oluşur
    System.out.println(&quot;Sonuç: &quot; + result); // Bu satır çalışmaz
} catch (ExceptionType e) {
    // Exception ele alınır
}
" 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: #C586C0">try</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// Hata oluşma potansiyeli olan kod</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">result</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4"> / </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// ArithmeticException oluşur</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;Sonuç: &quot;</span><span style="color: #D4D4D4"> + result); </span><span style="color: #6A9955">// Bu satır çalışmaz</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">ExceptionType</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: #6A9955">// Exception ele alınır</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Catch Bloğu</h3>



<p><code>catch</code> bloğu, <code>try</code> bloğu içinde oluşan belirli bir exception türünü yakalar ve ele alır. Her <code>try</code> bloğuna birden fazla <code>catch</code> bloğu eşlik edebilir. Her <code>catch</code> bloğu, farklı bir exception türünü ele alır. Bir exception oluştuğunda, Java Virtual Machine (JVM) uygun <code>catch</code> bloğunu arar ve çalıştırır. Eğer uygun bir <code>catch</code> bloğu bulunamazsa, exception yukarıya doğru (çağıran metoda) iletilir.</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="
try {
    // Hata oluşma potansiyeli olan kod
    int result = 10 / 0;
} catch (ArithmeticException e) {
    // ArithmeticException ele alınır
    System.err.println(&quot;Hata: Sıfıra bölme hatası!&quot;);
    e.printStackTrace(); // Hata izini yazdırır
} catch (Exception e) {
    // Diğer exception'lar ele alınır
    System.err.println(&quot;Bilinmeyen 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: #C586C0">try</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// Hata oluşma potansiyeli olan kod</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">result</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4"> / </span><span style="color: #B5CEA8">0</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">ArithmeticException</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: #6A9955">// ArithmeticException ele alınır</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">err</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Hata: Sıfıra bölme hatası!&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 style="color: #6A9955">// Hata izini yazdırır</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">Exception</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: #6A9955">// Diğer exception&#39;lar ele alınır</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">err</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Bilinmeyen 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></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Finally Bloğu</h3>



<p><code>finally</code> bloğu, <code>try</code> bloğundan sonra (<code>catch</code> bloklarından sonra) çalıştırılır. <code>finally</code> bloğu, <code>try</code> bloğu içinde bir exception oluşsa da oluşmasa da *her zaman* çalışır. Bu blok, kaynakları serbest bırakmak (örneğin, dosyaları kapatmak, veritabanı bağlantılarını sonlandırmak) gibi temizleme işlemlerini gerçekleştirmek için kullanılır. <code>finally</code> bloğu, programın hatasız çalışmasını sağlamak için kritik öneme sahiptir.</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.*;

public class FinallyExample {
    public static void main(String[] args) {
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new FileReader(&quot;example.txt&quot;));
            String line = reader.readLine();
            System.out.println(line);
        } catch (IOException e) {
            System.err.println(&quot;Dosya okuma hatası!&quot;);
            e.printStackTrace();
        } finally {
            try {
                if (reader != null) {
                    reader.close(); // Dosya kapatılır
                }
            } catch (IOException e) {
                System.err.println(&quot;Dosya kapatma hatası!&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.*;</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">FinallyExample</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">BufferedReader</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">reader</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: #C586C0">try</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">            reader = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">BufferedReader</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;example.txt&quot;</span><span style="color: #D4D4D4">));</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">line</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">reader</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">readLine</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">(line);</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">err</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosya okuma hatası!&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 style="color: #C586C0">finally</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"> (reader != </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">reader</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">close</span><span style="color: #D4D4D4">(); </span><span style="color: #6A9955">// Dosya kapatılır</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">err</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Dosya kapatma hatası!&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 style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Checked ve Unchecked Exception&#8217;lar</h2>



<p>Java&#8217;da exception&#8217;lar iki ana kategoriye ayrılır:</p>



<ul class="wp-block-list">
<li><strong>Checked Exception (Derleme Zamanı Exception&#8217;ları):</strong> Derleme zamanında kontrol edilen exception&#8217;lardır. Bu exception&#8217;lar, metodun <code>throws</code> anahtar kelimesiyle belirtilmesi veya <code>try-catch</code> blokları ile ele alınması gerekir. <code>IOException</code>, <code>SQLException</code> gibi exception&#8217;lar checked exception&#8217;lardır.</li>



<li><strong>Unchecked Exception (Çalışma Zamanı Exception&#8217;ları):</strong> Derleme zamanında kontrol edilmeyen exception&#8217;lardır. Bu exception&#8217;lar, genellikle programlama hatalarından kaynaklanır ve <code>RuntimeException</code> sınıfından türetilirler. <code>ArithmeticException</code>, <code>NullPointerException</code>, <code>ArrayIndexOutOfBoundsException</code> gibi exception&#8217;lar unchecked exception&#8217;lardır.</li>
</ul>



<h2 class="wp-block-heading">Exception Fırlatma (Throwing Exceptions)</h2>



<p>Java&#8217;da, kendi özel exception&#8217;larınızı oluşturabilir ve bunları <code>throw</code> anahtar kelimesini kullanarak fırlatabilirsiniz. Bu, belirli bir durumda bir hata olduğunu belirtmek ve hatayı ele almak için kullanılır.</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="
public class ThrowExample {
    public static void main(String[] args) {
        try {
            validateAge(15);
        } catch (IllegalArgumentException e) {
            System.err.println(e.getMessage());
        }
    }

    public static void validateAge(int age) {
        if (age &lt; 18) {
            throw new IllegalArgumentException(&quot;Yaş 18'den küçük olamaz!&quot;);
        }
        System.out.println(&quot;Yaş geçerli.&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">ThrowExample</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: #DCDCAA">validateAge</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">15</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">IllegalArgumentException</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">err</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">getMessage</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>
<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">validateAge</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">age</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"> (age &lt; </span><span style="color: #B5CEA8">18</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">            </span><span style="color: #C586C0">throw</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">IllegalArgumentException</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Yaş 18&#39;den küçük olamaz!&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: #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;Yaş geçerli.&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></p>



<h2 class="wp-block-heading">Özel Exception Sınıfları Oluşturma</h2>



<p>Uygulamanız için özel exception sınıfları oluşturmak, hataları daha anlamlı bir şekilde temsil etmenizi ve ele almanızı sağlar. Özel exception sınıfları, <code>Exception</code> sınıfından türetilir.</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="
class MyCustomException extends Exception {
    public MyCustomException(String message) {
        super(message);
    }
}

public class CustomExceptionExample {
    public static void main(String[] args) {
        try {
            throw new MyCustomException(&quot;Bu özel bir exception!&quot;);
        } catch (MyCustomException e) {
            System.err.println(e.getMessage());
        }
    }
}
" 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">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">MyCustomException</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">extends</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Exception</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: #DCDCAA">MyCustomException</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">message</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #569CD6">super</span><span style="color: #D4D4D4">(message);</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</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">CustomExceptionExample</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: #C586C0">throw</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">MyCustomException</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Bu özel bir exception!&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">MyCustomException</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">err</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">println</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">e</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">getMessage</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>



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



<p>Exception Handling, Java&#8217;da sağlam ve hatasız uygulamalar geliştirmek için temel bir kavramdır. <code>try-catch-finally</code> bloklarını kullanarak, hataları güvenli bir şekilde ele alabilir, programın çökmesini önleyebilir ve kullanıcıya anlamlı geri bildirim sağlayabilirsiniz. Checked ve unchecked exception&#8217;lar arasındaki farkı anlamak, doğru hata yönetimi stratejileri geliştirmenize yardımcı olur. Ayrıca, özel exception sınıfları oluşturarak uygulamanızdaki hataları daha iyi temsil edebilir ve ele alabilirsiniz. Exception Handling&#8217;i doğru bir şekilde kullanarak, daha güvenilir ve kullanıcı dostu Java uygulamaları geliştirebilirsiniz.</p>
<p><a href="https://www.kesifruhu.com/yazilim/13-hata-yakalama-exception-handling-ve-try-catch-finally-bloklari/">13.Hata Yakalama (Exception Handling) ve Try-Catch-Finally Blokları</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/13-hata-yakalama-exception-handling-ve-try-catch-finally-bloklari/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>12.Enum ve Struct Benzeri Kullanımlar</title>
		<link>https://www.kesifruhu.com/yazilim/12-enum-ve-struct-benzeri-kullanimlar/</link>
					<comments>https://www.kesifruhu.com/yazilim/12-enum-ve-struct-benzeri-kullanimlar/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Tue, 08 Apr 2025 09:21:00 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[DTO]]></category>
		<category><![CDATA[Enum]]></category>
		<category><![CDATA[Record]]></category>
		<category><![CDATA[Struct]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=487</guid>

					<description><![CDATA[<p>12. Enum ve Struct Benzeri Kullanımlar Java programlama dilinde, enum (enumeration) ve struct benzeri yapılar, belirli bir grup sabiti temsil etmek veya basit veri yapıları <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/12-enum-ve-struct-benzeri-kullanimlar/" title="12.Enum ve Struct Benzeri Kullanımlar">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/12-enum-ve-struct-benzeri-kullanimlar/">12.Enum ve Struct Benzeri Kullanımlar</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/17324301/pexels-photo-17324301.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">12. Enum ve Struct Benzeri Kullanımlar</h1>



<p>Java programlama dilinde, <code>enum</code> (enumeration) ve <code>struct</code> benzeri yapılar, belirli bir grup sabiti temsil etmek veya basit veri yapıları oluşturmak için kullanılır. Bu yapılar, kodun okunabilirliğini ve güvenliğini artırırken, veri yönetimini de kolaylaştırır. Bu yazıda, Java&#8217;daki <code>enum</code> yapısını detaylı bir şekilde inceleyecek ve <code>struct</code> benzeri kullanım senaryolarına değineceğiz.</p>



<h2 class="wp-block-heading">Enum (Numaralandırma) Nedir?</h2>



<p><code>Enum</code>, belirli bir sayıda önceden tanımlanmış sabiti temsil eden bir veri tipidir. Örneğin, bir haftanın günlerini, bir trafik ışığının renklerini veya bir ürünün kategorilerini <code>enum</code> kullanarak tanımlayabiliriz. <code>Enum</code>&#8216;lar, tip güvenliği sağlar ve kodun daha okunabilir olmasını sağlar.</p>



<h3 class="wp-block-heading">Enum Tanımlama ve Kullanımı</h3>



<p>Java&#8217;da bir <code>enum</code> şu şekilde tanımlanır:</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="
enum Gun {
    PAZARTESI, SALI, CARSAMBA, PERSEMBE, CUMA, CUMARTESI, PAZAR
}
" 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">enum</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Gun</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">    PAZARTESI, SALI, CARSAMBA, PERSEMBE, CUMA, CUMARTESI, PAZAR</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p>Bu <code>enum</code>, haftanın günlerini temsil eder. <code>Enum</code> sabitlerine erişmek için, <code>EnumAdı.SABIT_ADI</code> şeklinde bir sözdizimi kullanılır:</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="
Gun bugun = Gun.SALI;
System.out.println(&quot;Bugün: &quot; + bugun);
" 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: #4EC9B0">Gun</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">bugun</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">Gun</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">SALI</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><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;Bugün: &quot;</span><span style="color: #D4D4D4"> + bugun);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Enum&#8217;lara Özellik ve Metot Ekleme</h3>



<p><code>Enum</code>&#8216;lar sadece sabitlerden ibaret değildir. Her bir <code>enum</code> sabiti için özellikler tanımlayabilir ve metotlar ekleyebiliriz. Bu, <code>enum</code>&#8216;ları daha güçlü ve esnek hale getirir.</p>



<p>Örneğin, her bir güne karşılık gelen bir sayısal değer (haftanın kaçıncı günü olduğu) ekleyebiliriz:</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="
enum Gun {
    PAZARTESI(1), SALI(2), CARSAMBA(3), PERSEMBE(4), CUMA(5), CUMARTESI(6), PAZAR(7);

    private final int gunSirasi;

    Gun(int gunSirasi) {
        this.gunSirasi = gunSirasi;
    }

    public int getGunSirasi() {
        return gunSirasi;
    }
}

System.out.println(&quot;Salı gününün sırası: &quot; + Gun.SALI.getGunSirasi());
" 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">enum</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Gun</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">    PAZARTESI(</span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">), SALI(</span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">), CARSAMBA(</span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">), PERSEMBE(</span><span style="color: #B5CEA8">4</span><span style="color: #D4D4D4">), CUMA(</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">), CUMARTESI(</span><span style="color: #B5CEA8">6</span><span style="color: #D4D4D4">), PAZAR(</span><span style="color: #B5CEA8">7</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">final</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">gunSirasi</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #DCDCAA">Gun</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">gunSirasi</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #569CD6">this</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">gunSirasi</span><span style="color: #D4D4D4"> = gunSirasi;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">getGunSirasi</span><span style="color: #D4D4D4">() {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> gunSirasi;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><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;Salı gününün sırası: &quot;</span><span style="color: #D4D4D4"> + </span><span style="color: #9CDCFE">Gun</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">SALI</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">getGunSirasi</span><span style="color: #D4D4D4">());</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Enum&#8217;ları Switch Deyimleri ile Kullanma</h3>



<p><code>Enum</code>&#8216;lar, <code>switch</code> deyimlerinde sıklıkla kullanılır. Bu, belirli bir <code>enum</code> değerine göre farklı işlemler yapmayı kolaylaştırır:</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="
Gun bugun = Gun.CARSAMBA;

switch (bugun) {
    case PAZARTESI:
        System.out.println(&quot;Haftanın ilk günü.&quot;);
        break;
    case SALI:
    case CARSAMBA:
    case PERSEMBE:
    case CUMA:
        System.out.println(&quot;Hafta içi.&quot;);
        break;
    case CUMARTESI:
    case PAZAR:
        System.out.println(&quot;Hafta sonu.&quot;);
        break;
}
" 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: #4EC9B0">Gun</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">bugun</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">Gun</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">CARSAMBA</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #C586C0">switch</span><span style="color: #D4D4D4"> (bugun) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> PAZARTESI</span><span style="color: #C586C0">:</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;Haftanın ilk günü.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> SALI</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> CARSAMBA</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> PERSEMBE</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> CUMA</span><span style="color: #C586C0">:</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;Hafta içi.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> CUMARTESI</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> PAZAR</span><span style="color: #C586C0">:</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;Hafta sonu.&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Struct Benzeri Kullanımlar</h2>



<p>Java&#8217;da doğrudan <code>struct</code> veri tipi bulunmamasına rağmen, <code>class</code> yapısı ile <code>struct</code> benzeri yapılar oluşturulabilir. <code>Struct</code>&#8216;lar genellikle basit veri gruplarını temsil etmek için kullanılır. Java&#8217;da bu işlevselliği sağlamak için genellikle veri taşıma amaçlı (Data Transfer Object &#8211; DTO) sınıflar kullanılır.</p>



<h3 class="wp-block-heading">DTO (Data Transfer Object) Sınıfları</h3>



<p>DTO sınıfları, verileri farklı katmanlar arasında taşımak için kullanılır. Bu sınıflar genellikle sadece veri alanlarına sahiptir ve iş mantığı içermezler. Bu sayede, veri transferi sırasında performans optimizasyonu sağlanır ve kodun okunabilirliği artırılır.</p>



<p>Örneğin, bir öğrenci bilgilerini temsil eden bir DTO sınıfı şu şekilde tanımlanabilir:</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="
public class Ogrenci {
    private String ad;
    private String soyad;
    private int yas;

    public Ogrenci(String ad, String soyad, int yas) {
        this.ad = ad;
        this.soyad = soyad;
        this.yas = yas;
    }

    public String getAd() {
        return ad;
    }

    public String getSoyad() {
        return soyad;
    }

    public int getYas() {
        return yas;
    }

    @Override
    public String toString() {
        return &quot;Ogrenci{&quot; +
                &quot;ad='&quot; + ad + '\'' +
                &quot;, soyad='&quot; + soyad + '\'' +
                &quot;, yas=&quot; + yas +
                '}';
    }
}

Ogrenci ogrenci = new Ogrenci(&quot;Ali&quot;, &quot;Yılmaz&quot;, 20);
System.out.println(ogrenci);
" 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">Ogrenci</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ad</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">soyad</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">private</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">yas</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Ogrenci</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ad</span><span style="color: #D4D4D4">, </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">soyad</span><span style="color: #D4D4D4">, </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">yas</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #569CD6">this</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">ad</span><span style="color: #D4D4D4"> = ad;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #569CD6">this</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">soyad</span><span style="color: #D4D4D4"> = soyad;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #569CD6">this</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">yas</span><span style="color: #D4D4D4"> = yas;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">getAd</span><span style="color: #D4D4D4">() {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> ad;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">getSoyad</span><span style="color: #D4D4D4">() {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> soyad;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">getYas</span><span style="color: #D4D4D4">() {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> yas;</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    @</span><span style="color: #4EC9B0">Override</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">toString</span><span style="color: #D4D4D4">() {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">return</span><span style="color: #D4D4D4"> </span><span style="color: #CE9178">&quot;Ogrenci{&quot;</span><span style="color: #D4D4D4"> +</span></span>
<span class="line"><span style="color: #D4D4D4">                </span><span style="color: #CE9178">&quot;ad=&#39;&quot;</span><span style="color: #D4D4D4"> + ad + </span><span style="color: #CE9178">&#39;</span><span style="color: #D7BA7D">\&#39;</span><span style="color: #CE9178">&#39;</span><span style="color: #D4D4D4"> +</span></span>
<span class="line"><span style="color: #D4D4D4">                </span><span style="color: #CE9178">&quot;, soyad=&#39;&quot;</span><span style="color: #D4D4D4"> + soyad + </span><span style="color: #CE9178">&#39;</span><span style="color: #D7BA7D">\&#39;</span><span style="color: #CE9178">&#39;</span><span style="color: #D4D4D4"> +</span></span>
<span class="line"><span style="color: #D4D4D4">                </span><span style="color: #CE9178">&quot;, yas=&quot;</span><span style="color: #D4D4D4"> + yas +</span></span>
<span class="line"><span style="color: #D4D4D4">                </span><span style="color: #CE9178">&#39;}&#39;</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>
<span class="line"><span style="color: #4EC9B0">Ogrenci</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ogrenci</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Ogrenci</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Ali&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Yılmaz&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">20</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><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">(ogrenci);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Record Sınıfları (Java 14+)</h3>



<p>Java 14 ile birlikte gelen <code>record</code> sınıfları, DTO sınıflarına benzer bir şekilde, veri taşımak için kullanılır. <code>Record</code> sınıfları, daha kısa ve okunabilir bir sözdizimi sunar. <code>Record</code> sınıfları, otomatik olarak <code>equals()</code>, <code>hashCode()</code> ve <code>toString()</code> metotlarını oluşturur.</p>



<p>Öğrenci bilgilerini temsil eden bir <code>record</code> sınıfı şu şekilde tanımlanabilir:</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 record Ogrenci(String ad, String soyad, int yas) {
}

Ogrenci ogrenci = new Ogrenci(&quot;Ayşe&quot;, &quot;Demir&quot;, 22);
System.out.println(ogrenci);
" 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">record</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Ogrenci</span><span style="color: #D4D4D4">(</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> ad, </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> soyad, </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> yas) {</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">Ogrenci</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ogrenci</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Ogrenci</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Ayşe&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Demir&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">22</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><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">(ogrenci);</span></span>
<span class="line"></span></code></pre></div>



<p><code>Record</code> sınıfları, veri odaklı uygulamalarda kodun kısalmasını ve okunabilirliğini önemli ölçüde artırır.</p>



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



<p>Java&#8217;da <code>enum</code> ve <code>struct</code> benzeri yapılar, kodun okunabilirliğini, güvenliğini ve performansını artırmak için kullanılır. <code>Enum</code>&#8216;lar, belirli bir grup sabiti temsil etmek için idealdir. DTO ve <code>record</code> sınıfları ise, basit veri yapılarını tanımlamak ve veri transferi yapmak için kullanılır. Bu yapıları doğru bir şekilde kullanarak, daha sağlam ve bakımı kolay uygulamalar geliştirebilirsiniz.</p>



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



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



<figure class="wp-block-image"><img decoding="async" src="image-placeholder.jpg" alt="Data Transfer Object Diagram"/></figure>



<p><br><br></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;Java&#8217;da enum ve struct benzeri yapılar, modern yazılım geliştirme prensiplerine uygun, okunabilir ve bakımı kolay kod yazmanıza yardımcı olur.&#8221; &#8211; Bir Java Uzmanı</p>
</blockquote>
<p><a href="https://www.kesifruhu.com/yazilim/12-enum-ve-struct-benzeri-kullanimlar/">12.Enum ve Struct Benzeri Kullanımlar</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/12-enum-ve-struct-benzeri-kullanimlar/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>11. Date, Time ve Calendar Kullanımı</title>
		<link>https://www.kesifruhu.com/yazilim/11-date-time-ve-calendar-kullanimi/</link>
					<comments>https://www.kesifruhu.com/yazilim/11-date-time-ve-calendar-kullanimi/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Mon, 07 Apr 2025 08:05:17 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Calendar]]></category>
		<category><![CDATA[Date]]></category>
		<category><![CDATA[java.time]]></category>
		<category><![CDATA[Time]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=485</guid>

					<description><![CDATA[<p>11. Date, Time ve Calendar Kullanımı Java, tarih ve saat işlemlerini yönetmek için zengin bir API sunar. Bu API, eski java.util.Date ve java.util.Calendar sınıflarından, Java <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/11-date-time-ve-calendar-kullanimi/" title="11. Date, Time ve Calendar Kullanımı">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/11-date-time-ve-calendar-kullanimi/">11. Date, Time ve Calendar Kullanımı</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/295826/pexels-photo-295826.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">11. Date, Time ve Calendar Kullanımı</h1>



<p>Java, tarih ve saat işlemlerini yönetmek için zengin bir API sunar. Bu API, eski <code>java.util.Date</code> ve <code>java.util.Calendar</code> sınıflarından, Java 8 ile tanıtılan daha modern <code>java.time</code> paketine kadar çeşitli araçlar içerir. Bu makalede, Java&#8217;da tarih, saat ve takvim işlemlerinin nasıl yapıldığını detaylı bir şekilde inceleyeceğiz.</p>



<h2 class="wp-block-heading">java.util.Date Sınıfı</h2>



<p><code>java.util.Date</code>, Java&#8217;daki en temel tarih ve saat sınıfıdır. Milisaniye cinsinden bir zaman noktasını temsil eder. Ancak, bu sınıfın birçok metodu kullanımdan kaldırılmıştır (deprecated) ve <code>java.time</code> paketinin kullanımı önerilmektedir.</p>



<p><strong>Örnek:</strong></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="import java.util.Date;

public class DateExample {
    public static void main(String[] args) {
        Date now = new Date();
        System.out.println(&quot;Şu anki tarih ve saat: &quot; + now);
    }
}
" 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: #569CD6">import</span><span style="color: #D4D4D4"> java.util.Date;</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">DateExample</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">Date</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Date</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;Şu anki tarih ve saat: &quot;</span><span style="color: #D4D4D4"> + now);</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></p>



<h2 class="wp-block-heading">java.util.Calendar Sınıfı</h2>



<p><code>java.util.Calendar</code>, tarih ve saat alanlarını (yıl, ay, gün, saat, dakika, saniye vb.) manipüle etmek için kullanılan soyut bir sınıftır. <code>Date</code> sınıfına göre daha fazla esneklik sunar.</p>



<p><strong>Örnek:</strong></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.util.Calendar;
import java.util.Date;

public class CalendarExample {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date()); // Mevcut zamanı ayarla

        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH) + 1; // Aylar 0'dan başlar
        int day = calendar.get(Calendar.DAY_OF_MONTH);

        System.out.println(&quot;Yıl: &quot; + year);
        System.out.println(&quot;Ay: &quot; + month);
        System.out.println(&quot;Gün: &quot; + day);
    }
}
" 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: #569CD6">import</span><span style="color: #D4D4D4"> java.util.Calendar;</span></span>
<span class="line"><span style="color: #569CD6">import</span><span style="color: #D4D4D4"> java.util.Date;</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">CalendarExample</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">Calendar</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">calendar</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">Calendar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">getInstance</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #9CDCFE">calendar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">setTime</span><span style="color: #D4D4D4">(</span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Date</span><span style="color: #D4D4D4">()); </span><span style="color: #6A9955">// Mevcut zamanı ayarla</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">year</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">calendar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">get</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">Calendar</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">YEAR</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">month</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">calendar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">get</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">Calendar</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">MONTH</span><span style="color: #D4D4D4">) + </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// Aylar 0&#39;dan başlar</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">day</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">calendar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">get</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">Calendar</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">DAY_OF_MONTH</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></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;Yıl: &quot;</span><span style="color: #D4D4D4"> + year);</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;Ay: &quot;</span><span style="color: #D4D4D4"> + month);</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;Gün: &quot;</span><span style="color: #D4D4D4"> + day);</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><code>Calendar</code> sınıfı ile tarihleri ileri veya geri almak da mümkündür:</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="calendar.add(Calendar.DAY_OF_MONTH, 7); // 7 gün ekle
Date futureDate = calendar.getTime();
System.out.println(&quot;7 gün sonraki tarih: &quot; + futureDate);
" 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: #9CDCFE">calendar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">add</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">Calendar</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">DAY_OF_MONTH</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">7</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// 7 gün ekle</span></span>
<span class="line"><span style="color: #4EC9B0">Date</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">futureDate</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">calendar</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">getTime</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><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;7 gün sonraki tarih: &quot;</span><span style="color: #D4D4D4"> + futureDate);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">java.time Paketi (Java 8 ve Sonrası)</h2>



<p>Java 8 ile birlikte gelen <code>java.time</code> paketi, tarih ve saat işlemlerini daha modern ve kolay bir şekilde yapmayı sağlar. Bu paket, <code>Date</code> ve <code>Calendar</code> sınıflarının eksikliklerini gidermek amacıyla tasarlanmıştır. Temel sınıflar şunlardır:</p>



<ul class="wp-block-list">
<li><code>LocalDate</code>: Yalnızca tarihi (yıl, ay, gün) temsil eder.</li>



<li><code>LocalTime</code>: Yalnızca saati (saat, dakika, saniye, nanosaniye) temsil eder.</li>



<li><code>LocalDateTime</code>: Hem tarihi hem de saati temsil eder.</li>



<li><code>ZonedDateTime</code>: Zaman dilimi bilgisiyle birlikte tarihi ve saati temsil eder.</li>



<li><code>Instant</code>: Milisaniye veya nanosaniye hassasiyetinde anlık bir zaman noktasını temsil eder.</li>



<li><code>Duration</code>: İki zaman noktası arasındaki süreyi temsil eder (örneğin, saat, dakika, saniye).</li>



<li><code>Period</code>: İki tarih arasındaki süreyi temsil eder (örneğin, yıl, ay, gün).</li>
</ul>



<h3 class="wp-block-heading">LocalDate Kullanımı</h3>



<p><code>LocalDate</code>, sadece tarihi temsil eder.</p>



<p><strong>Örnek:</strong></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.time.LocalDate;

public class LocalDateExample {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        System.out.println(&quot;Bugünün tarihi: &quot; + today);

        LocalDate specificDate = LocalDate.of(2023, 10, 27);
        System.out.println(&quot;Belirli bir tarih: &quot; + specificDate);
    }
}
" 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: #569CD6">import</span><span style="color: #D4D4D4"> java.time.LocalDate;</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">LocalDateExample</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">LocalDate</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">today</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">LocalDate</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">now</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;Bugünün tarihi: &quot;</span><span style="color: #D4D4D4"> + today);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">LocalDate</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">specificDate</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">LocalDate</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">of</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">2023</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">27</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;Belirli bir tarih: &quot;</span><span style="color: #D4D4D4"> + specificDate);</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></p>



<h3 class="wp-block-heading">LocalTime Kullanımı</h3>



<p><code>LocalTime</code>, sadece saati temsil eder.</p>



<p><strong>Örnek:</strong></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.time.LocalTime;

public class LocalTimeExample {
    public static void main(String[] args) {
        LocalTime now = LocalTime.now();
        System.out.println(&quot;Şu anki saat: &quot; + now);

        LocalTime specificTime = LocalTime.of(14, 30, 0);
        System.out.println(&quot;Belirli bir saat: &quot; + specificTime);
    }
}
" 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: #569CD6">import</span><span style="color: #D4D4D4"> java.time.LocalTime;</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">LocalTimeExample</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">LocalTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">LocalTime</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">now</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;Şu anki saat: &quot;</span><span style="color: #D4D4D4"> + now);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">LocalTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">specificTime</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">LocalTime</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">of</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">14</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">0</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;Belirli bir saat: &quot;</span><span style="color: #D4D4D4"> + specificTime);</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></p>



<h3 class="wp-block-heading">LocalDateTime Kullanımı</h3>



<p><code>LocalDateTime</code>, hem tarihi hem de saati temsil eder.</p>



<p><strong>Örnek:</strong></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.time.LocalDateTime;

public class LocalDateTimeExample {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        System.out.println(&quot;Şu anki tarih ve saat: &quot; + now);

        LocalDateTime specificDateTime = LocalDateTime.of(2023, 10, 27, 14, 30, 0);
        System.out.println(&quot;Belirli bir tarih ve saat: &quot; + specificDateTime);
    }
}
" 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: #569CD6">import</span><span style="color: #D4D4D4"> java.time.LocalDateTime;</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">LocalDateTimeExample</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">LocalDateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">LocalDateTime</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">now</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;Şu anki tarih ve saat: &quot;</span><span style="color: #D4D4D4"> + now);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">LocalDateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">specificDateTime</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">LocalDateTime</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">of</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">2023</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">27</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">14</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">0</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;Belirli bir tarih ve saat: &quot;</span><span style="color: #D4D4D4"> + specificDateTime);</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></p>



<h3 class="wp-block-heading">ZonedDateTime Kullanımı</h3>



<p><code>ZonedDateTime</code>, zaman dilimi (timezone) bilgisiyle birlikte tarihi ve saati temsil eder.</p>



<p><strong>Örnek:</strong></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.time.ZonedDateTime;
import java.time.ZoneId;

public class ZonedDateTimeExample {
    public static void main(String[] args) {
        ZoneId zoneId = ZoneId.of(&quot;Europe/Istanbul&quot;);
        ZonedDateTime now = ZonedDateTime.now(zoneId);
        System.out.println(&quot;İstanbul'daki şu anki tarih ve saat: &quot; + now);
    }
}
" 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: #569CD6">import</span><span style="color: #D4D4D4"> java.time.ZonedDateTime;</span></span>
<span class="line"><span style="color: #569CD6">import</span><span style="color: #D4D4D4"> java.time.ZoneId;</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">ZonedDateTimeExample</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">ZoneId</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">zoneId</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">ZoneId</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">of</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Europe/Istanbul&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">ZonedDateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">ZonedDateTime</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">now</span><span style="color: #D4D4D4">(zoneId);</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;İstanbul&#39;daki şu anki tarih ve saat: &quot;</span><span style="color: #D4D4D4"> + now);</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></p>



<h3 class="wp-block-heading">Tarih ve Saat Formatlama</h3>



<p><code>java.time</code> paketi, tarih ve saatleri formatlamak için <code>DateTimeFormatter</code> sınıfını sunar. Bu sınıf, farklı formatlarda tarih ve saatleri göstermeyi sağlar.</p>



<p><strong>Örnek:</strong></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.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateTimeFormatterExample {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(&quot;dd.MM.yyyy HH:mm:ss&quot;);
        String formattedDateTime = now.format(formatter);
        System.out.println(&quot;Formatlanmış tarih ve saat: &quot; + formattedDateTime);
    }
}
" 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: #569CD6">import</span><span style="color: #D4D4D4"> java.time.LocalDateTime;</span></span>
<span class="line"><span style="color: #569CD6">import</span><span style="color: #D4D4D4"> java.time.format.DateTimeFormatter;</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">DateTimeFormatterExample</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">LocalDateTime</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">LocalDateTime</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">now</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">DateTimeFormatter</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">formatter</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">DateTimeFormatter</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">ofPattern</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;dd.MM.yyyy HH:mm:ss&quot;</span><span style="color: #D4D4D4">);</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">formattedDateTime</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">now</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">format</span><span style="color: #D4D4D4">(formatter);</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;Formatlanmış tarih ve saat: &quot;</span><span style="color: #D4D4D4"> + formattedDateTime);</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></p>



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



<p>Java&#8217;da tarih ve saat işlemleri, <code>java.util.Date</code> ve <code>java.util.Calendar</code> sınıfları ile başlayıp, Java 8 ile gelen <code>java.time</code> paketi ile modern bir hale gelmiştir. <code>java.time</code> paketi, daha okunabilir, anlaşılır ve kullanımı kolay bir API sunar. Bu makalede, bu sınıfların ve paketlerin temel kullanım örneklerini inceledik. Projelerinizde tarih ve saat işlemlerini yaparken, <code>java.time</code> paketini kullanmanız önerilir.</p>



<figure class="wp-block-image"><img decoding="async" src="image-placeholder.jpg" alt="Java time package classes diagram"/></figure>



<p></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Unutmayın, zaman yönetimi sadece programlama için değil, hayatın her alanı için önemlidir.</em></p>
</blockquote>
<p><a href="https://www.kesifruhu.com/yazilim/11-date-time-ve-calendar-kullanimi/">11. Date, Time ve Calendar Kullanımı</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/11-date-time-ve-calendar-kullanimi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>10. String İşlemleri ve StringBuilder Kullanımı</title>
		<link>https://www.kesifruhu.com/yazilim/10-string-islemleri-ve-stringbuilder-kullanimi/</link>
					<comments>https://www.kesifruhu.com/yazilim/10-string-islemleri-ve-stringbuilder-kullanimi/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Sat, 05 Apr 2025 20:21:41 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Metinsel İşlemler]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[String]]></category>
		<category><![CDATA[StringBuilder]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=481</guid>

					<description><![CDATA[<p>10. String İşlemleri ve StringBuilder Kullanımı Java programlama dilinde String sınıfı, metinsel verileri temsil etmek için kullanılır. String&#8217;ler, karakter dizilerini ifade eder ve Java&#8217;da sıklıkla <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/10-string-islemleri-ve-stringbuilder-kullanimi/" title="10. String İşlemleri ve StringBuilder Kullanımı">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/10-string-islemleri-ve-stringbuilder-kullanimi/">10. String İşlemleri ve StringBuilder Kullanımı</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">10. String İşlemleri ve StringBuilder Kullanımı</h1>



<p>Java programlama dilinde <em>String</em> sınıfı, metinsel verileri temsil etmek için kullanılır. String&#8217;ler, karakter dizilerini ifade eder ve Java&#8217;da sıklıkla kullanılan temel veri tiplerindendir. Ancak, String&#8217;lerin değiştirilemez (<em>immutable</em>) yapısı, bazı durumlarda performans sorunlarına yol açabilir. Bu nedenle, metinsel veriler üzerinde sık sık değişiklik yapılması gereken durumlarda <em>StringBuilder</em> sınıfı daha uygun bir alternatif sunar.</p>



<h2 class="wp-block-heading">String Sınıfı ve Temel İşlemler</h2>



<p>String sınıfı, metinsel verilerle çalışmak için çeşitli yöntemler sunar. İşte en sık kullanılan String metotlarından bazıları:</p>



<ul class="wp-block-list">
<li><strong>length():</strong> String&#8217;in uzunluğunu (karakter sayısını) döndürür.</li>



<li><strong>charAt(int index):</strong> Belirtilen index&#8217;teki karakteri döndürür.</li>



<li><strong>substring(int beginIndex, int endIndex):</strong> Belirtilen aralıktaki alt dizeyi (substring) döndürür.</li>



<li><strong>equals(Object obj):</strong> İki String&#8217;in içeriğinin eşit olup olmadığını kontrol eder (büyük/küçük harf duyarlı).</li>



<li><strong>equalsIgnoreCase(String anotherString):</strong> İki String&#8217;in içeriğinin eşit olup olmadığını kontrol eder (büyük/küçük harf duyarsız).</li>



<li><strong>concat(String str):</strong> String&#8217;in sonuna başka bir String ekler.</li>



<li><strong>indexOf(String str):</strong> Belirtilen alt dizenin ilk geçtiği index&#8217;i döndürür.</li>



<li><strong>lastIndexOf(String str):</strong> Belirtilen alt dizenin son geçtiği index&#8217;i döndürür.</li>



<li><strong>replace(char oldChar, char newChar):</strong> Belirtilen karakteri başka bir karakterle değiştirir.</li>



<li><strong>toUpperCase():</strong> String&#8217;i büyük harflere dönüştürür.</li>



<li><strong>toLowerCase():</strong> String&#8217;i küçük harflere dönüştürür.</li>



<li><strong>trim():</strong> String&#8217;in başındaki ve sonundaki boşlukları temizler.</li>



<li><strong>split(String regex):</strong> String&#8217;i belirtilen ayıraca göre parçalara ayırır ve bir String dizisi döndürür.</li>
</ul>



<p><strong>Örnek:</strong></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 str = &quot;Merhaba Dünya!&quot;;
int uzunluk = str.length(); // uzunluk = 14
char ilkKarakter = str.charAt(0); // ilkKarakter = 'M'
String altDize = str.substring(0, 7); // altDize = &quot;Merhaba&quot;
boolean esitMi = str.equals(&quot;Merhaba Dünya!&quot;); // esitMi = true
String buyukHarf = str.toUpperCase(); // buyukHarf = &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: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">str</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: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">uzunluk</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">str</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">length</span><span style="color: #D4D4D4">(); </span><span style="color: #6A9955">// uzunluk = 14</span></span>
<span class="line"><span style="color: #4EC9B0">char</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ilkKarakter</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">str</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">charAt</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// ilkKarakter = &#39;M&#39;</span></span>
<span class="line"><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">altDize</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">str</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">substring</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">7</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// altDize = &quot;Merhaba&quot;</span></span>
<span class="line"><span style="color: #4EC9B0">boolean</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">esitMi</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">str</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">equals</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Merhaba Dünya!&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// esitMi = true</span></span>
<span class="line"><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">buyukHarf</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">str</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">toUpperCase</span><span style="color: #D4D4D4">(); </span><span style="color: #6A9955">// buyukHarf = &quot;MERHABA DÜNYA!&quot;</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">String&#8217;lerin Değişmez (Immutable) Yapısı</h2>



<p>Java&#8217;da String nesneleri <em>değişmezdir</em>. Bu, bir String nesnesi oluşturulduktan sonra içeriğinin değiştirilemeyeceği anlamına gelir. String üzerinde herhangi bir değişiklik yapıldığında (örneğin, concat veya replace metotları kullanıldığında), aslında yeni bir String nesnesi oluşturulur ve eski nesne değişmeden kalır. Bu durum, özellikle sık sık String manipülasyonu yapılan durumlarda performans sorunlarına yol açabilir, çünkü her değişiklikte yeni bir nesne oluşturulması bellek tüketimini artırır ve işlem süresini uzatır.</p>



<p><strong>Örnek:</strong></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 str = &quot;Merhaba&quot;;
str = str.concat(&quot; Dünya!&quot;); // Yeni bir String nesnesi oluşturulur
" 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: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">str</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;Merhaba&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">str = </span><span style="color: #9CDCFE">str</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">concat</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot; Dünya!&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// Yeni bir String nesnesi oluşturulur</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">StringBuilder Sınıfı ve Avantajları</h2>



<p><em>StringBuilder</em> sınıfı, String&#8217;lerin aksine <em>değiştirilebilir</em> (mutable) bir yapıya sahiptir. Bu, StringBuilder nesnesi üzerinde yapılan değişikliklerin, nesnenin kendisi üzerinde gerçekleştirildiği anlamına gelir. Bu özellik, özellikle çok sayıda String manipülasyonu gerektiren durumlarda performansı önemli ölçüde artırır.</p>



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



<p></p>



<h3 class="wp-block-heading">StringBuilder Metotları</h3>



<p>StringBuilder sınıfı, String&#8217;e benzer metotlar sunarken, aynı zamanda String&#8217;in değiştirilebilir yapısından kaynaklanan avantajları da beraberinde getirir. İşte en sık kullanılan StringBuilder metotlarından bazıları:</p>



<ul class="wp-block-list">
<li><strong>append(String str):</strong> StringBuilder&#8217;in sonuna belirtilen String&#8217;i ekler.</li>



<li><strong>insert(int offset, String str):</strong> Belirtilen index&#8217;e String ekler.</li>



<li><strong>delete(int start, int end):</strong> Belirtilen aralıktaki karakterleri siler.</li>



<li><strong>deleteCharAt(int index):</strong> Belirtilen index&#8217;teki karakteri siler.</li>



<li><strong>replace(int start, int end, String str):</strong> Belirtilen aralıktaki karakterleri başka bir String ile değiştirir.</li>



<li><strong>reverse():</strong> StringBuilder&#8217;in içeriğini tersine çevirir.</li>



<li><strong>length():</strong> StringBuilder&#8217;in uzunluğunu döndürür.</li>



<li><strong>capacity():</strong> StringBuilder&#8217;in mevcut kapasitesini (bellekte ayrılan alan) döndürür.</li>



<li><strong>toString():</strong> StringBuilder&#8217;in içeriğini String olarak döndürür.</li>
</ul>



<p><strong>Örnek:</strong></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="
StringBuilder sb = new StringBuilder(&quot;Merhaba&quot;);
sb.append(&quot; Dünya!&quot;); // sb = &quot;Merhaba Dünya!&quot;
sb.insert(7, &quot;, &quot;); // sb = &quot;Merhaba, Dünya!&quot;
sb.delete(7, 9); // sb = &quot;Merhaba Dünya!&quot;
sb.reverse(); // sb = &quot;!aynüD abahreM&quot;
String str = sb.toString(); // str = &quot;!aynüD abahreM&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: #4EC9B0">StringBuilder</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">StringBuilder</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Merhaba&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">append</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot; Dünya!&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// sb = &quot;Merhaba Dünya!&quot;</span></span>
<span class="line"><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">insert</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">7</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;, &quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// sb = &quot;Merhaba, Dünya!&quot;</span></span>
<span class="line"><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">delete</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">7</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">9</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// sb = &quot;Merhaba Dünya!&quot;</span></span>
<span class="line"><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">reverse</span><span style="color: #D4D4D4">(); </span><span style="color: #6A9955">// sb = &quot;!aynüD abahreM&quot;</span></span>
<span class="line"><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">str</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">toString</span><span style="color: #D4D4D4">(); </span><span style="color: #6A9955">// str = &quot;!aynüD abahreM&quot;</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">String ve StringBuilder Arasındaki Farklar ve Ne Zaman Hangisini Kullanmalı?</h2>



<p>String ve StringBuilder arasındaki temel fark, <em>değiştirilebilirlik</em> özelliğidir. String&#8217;ler değiştirilemezken, StringBuilder&#8217;lar değiştirilebilir. Bu fark, performans açısından önemli sonuçlar doğurur.</p>



<ul class="wp-block-list">
<li><strong>String:</strong> Sabit metinsel verilerle çalışırken veya metinsel veriler üzerinde nadiren değişiklik yapılması gereken durumlarda tercih edilmelidir. Ayrıca, çoklu iş parçacığı (multi-threading) ortamlarında String&#8217;lerin değişmez yapısı, veri güvenliğini sağlamak açısından avantajlıdır.</li>



<li><strong>StringBuilder:</strong> Metinsel veriler üzerinde sık sık değişiklik yapılması gereken durumlarda (örneğin, döngüler içinde String birleştirme işlemleri) StringBuilder kullanmak, performansı önemli ölçüde artırır.</li>
</ul>



<p><strong>Örnek Senaryo:</strong></p>



<p>Döngü içinde String birleştirme işlemi:</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="
// Kötü Örnek (String ile)
String str = &quot;&quot;;
for (int i = 0; i &lt; 10000; i++) {
    str = str + i; // Her döngüde yeni bir String nesnesi oluşturulur
}

// İyi Örnek (StringBuilder ile)
StringBuilder sb = new StringBuilder();
for (int i = 0; i &lt; 10000; i++) {
    sb.append(i); // Aynı StringBuilder nesnesi üzerinde değişiklik yapılır
}
String str = sb.toString();
" 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: #6A9955">// Kötü Örnek (String ile)</span></span>
<span class="line"><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">str</span><span style="color: #D4D4D4"> = </span><span style="color: #CE9178">&quot;&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">for</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">; i &lt; </span><span style="color: #B5CEA8">10000</span><span style="color: #D4D4D4">; i++) {</span></span>
<span class="line"><span style="color: #D4D4D4">    str = str + i; </span><span style="color: #6A9955">// Her döngüde yeni bir String nesnesi oluşturulur</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">// İyi Örnek (StringBuilder ile)</span></span>
<span class="line"><span style="color: #4EC9B0">StringBuilder</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">StringBuilder</span><span style="color: #D4D4D4">();</span></span>
<span class="line"><span style="color: #C586C0">for</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">; i &lt; </span><span style="color: #B5CEA8">10000</span><span style="color: #D4D4D4">; i++) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">append</span><span style="color: #D4D4D4">(i); </span><span style="color: #6A9955">// Aynı StringBuilder nesnesi üzerinde değişiklik yapılır</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">str</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sb</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">toString</span><span style="color: #D4D4D4">();</span></span>
<span class="line"></span></code></pre></div>



<p></p>



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



<p>Java&#8217;da String ve StringBuilder sınıfları, metinsel verilerle çalışmak için farklı araçlar sunar. String&#8217;lerin değişmez yapısı, basit ve güvenli bir kullanım sağlarken, StringBuilder&#8217;ın değiştirilebilir yapısı, performans gerektiren durumlarda önemli avantajlar sunar. Hangi sınıfın kullanılacağına karar verirken, uygulamanın ihtiyaçları ve performans gereksinimleri göz önünde bulundurulmalıdır.</p>



<p>Özetle, String işlemleri ve StringBuilder kullanımı, Java programlama dilinde metinsel verilerle çalışırken bilinmesi gereken temel konulardandır. Bu bilgileri doğru kullanarak, daha verimli ve performanslı uygulamalar geliştirebilirsiniz.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>&#8220;String&#8217;lerin değişmez yapısı, güvenli ve öngörülebilir bir programlama ortamı sağlarken, StringBuilder&#8217;ın değiştirilebilir yapısı, performans gerektiren metinsel manipülasyonlarda hayati bir rol oynar.&#8221; &#8211; Java Uzmanı</p>
</blockquote>
<p><a href="https://www.kesifruhu.com/yazilim/10-string-islemleri-ve-stringbuilder-kullanimi/">10. String İşlemleri ve StringBuilder Kullanımı</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/10-string-islemleri-ve-stringbuilder-kullanimi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>9. Diziler ve Koleksiyonlar (Array, ArrayList, HashMap, vb.)</title>
		<link>https://www.kesifruhu.com/yazilim/9-diziler-ve-koleksiyonlar-array-arraylist-hashmap-vb/</link>
					<comments>https://www.kesifruhu.com/yazilim/9-diziler-ve-koleksiyonlar-array-arraylist-hashmap-vb/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Fri, 04 Apr 2025 13:59:10 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[ArrayList]]></category>
		<category><![CDATA[Diziler]]></category>
		<category><![CDATA[HashMap]]></category>
		<category><![CDATA[Koleksiyonlar]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=479</guid>

					<description><![CDATA[<p>9. Diziler ve Koleksiyonlar (Array, ArrayList, HashMap, vb.) Java programlama dilinde, verileri organize etmek ve yönetmek için kullanılan temel yapılar diziler (Arrays) ve koleksiyonlardır (Collections). <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/9-diziler-ve-koleksiyonlar-array-arraylist-hashmap-vb/" title="9. Diziler ve Koleksiyonlar (Array, ArrayList, HashMap, vb.)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/9-diziler-ve-koleksiyonlar-array-arraylist-hashmap-vb/">9. Diziler ve Koleksiyonlar (Array, ArrayList, HashMap, vb.)</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/177598/pexels-photo-177598.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">9. Diziler ve Koleksiyonlar (Array, ArrayList, HashMap, vb.)</h1>



<p>Java programlama dilinde, verileri organize etmek ve yönetmek için kullanılan temel yapılar diziler (Arrays) ve koleksiyonlardır (Collections). Bu yapılar, programların daha verimli ve düzenli çalışmasını sağlar. Bu makalede, Java&#8217;daki dizileri ve en yaygın kullanılan koleksiyonları (ArrayList, HashMap, vb.) ayrıntılı olarak inceleyeceğiz.</p>



<h2 class="wp-block-heading">Diziler (Arrays)</h2>



<p>Diziler, aynı türden verileri ardışık bellek konumlarında saklayan veri yapılarıdır. Diziler, sabit boyutlu olup, oluşturulduktan sonra boyutları değiştirilemez. Java&#8217;da diziler, nesne olarak kabul edilir ve `new` anahtar kelimesi ile oluşturulurlar.</p>



<h3 class="wp-block-heading">Dizi Tanımlama ve Oluşturma</h3>



<p>Bir diziyi tanımlamak için, veri türünü ve dizi boyutunu belirtmelisiniz. İşte bazı örnekler:</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[] sayilar = new int[5]; // 5 elemanlı bir int dizisi
String[] isimler = new String[10]; // 10 elemanlı bir String dizisi
" 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">sayilar</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4">[</span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">]; </span><span style="color: #6A9955">// 5 elemanlı bir int dizisi</span></span>
<span class="line"><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">isimler</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4">[</span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">]; </span><span style="color: #6A9955">// 10 elemanlı bir String dizisi</span></span>
<span class="line"></span></code></pre></div>



<p>Diziyi tanımlarken, elemanları doğrudan da atayabilirsiniz:</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[] sayilar = {1, 2, 3, 4, 5};
String[] isimler = {&quot;Ali&quot;, &quot;Ayşe&quot;, &quot;Mehmet&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 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>
<span class="line"><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">isimler</span><span style="color: #D4D4D4"> = {</span><span style="color: #CE9178">&quot;Ali&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Ayşe&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Mehmet&quot;</span><span style="color: #D4D4D4">};</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Dizi Elemanlarına Erişim</h3>



<p>Dizi elemanlarına erişmek için, indeks numarasını kullanırsınız. Java&#8217;da dizi indeksleri 0&#8217;dan başlar. Ö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[] sayilar = {10, 20, 30, 40, 50};
int ilkEleman = sayilar[0]; // ilkEleman 10 değerini alır
int ucuncuEleman = sayilar[2]; // ucuncuEleman 30 değerini alır
" 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">sayilar</span><span style="color: #D4D4D4"> = {</span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">20</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">40</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">50</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">ilkEleman</span><span style="color: #D4D4D4"> = sayilar[</span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">]; </span><span style="color: #6A9955">// ilkEleman 10 değerini alır</span></span>
<span class="line"><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ucuncuEleman</span><span style="color: #D4D4D4"> = sayilar[</span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4">]; </span><span style="color: #6A9955">// ucuncuEleman 30 değerini alır</span></span>
<span class="line"></span></code></pre></div>



<p>Dizi sınırlarının dışına çıkmamaya dikkat edin. Aksi takdirde, `ArrayIndexOutOfBoundsException` hatası alırsınız.</p>



<h3 class="wp-block-heading">Dizi Uzunluğu</h3>



<p>Bir dizinin uzunluğunu öğrenmek için `length` özelliğini kullanabilirsiniz:</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[] sayilar = {1, 2, 3, 4, 5};
int uzunluk = sayilar.length; // uzunluk 5 değerini alır
" 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">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>
<span class="line"><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">uzunluk</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sayilar</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">length</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// uzunluk 5 değerini alır</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h2 class="wp-block-heading">Koleksiyonlar (Collections)</h2>



<p>Koleksiyonlar, nesneleri gruplar halinde saklamak ve yönetmek için kullanılan veri yapılarıdır. Java Collections Framework, çeşitli koleksiyon türlerini ve bu koleksiyonlar üzerinde işlem yapmak için kullanılan algoritmaları içerir. Dizilerden farklı olarak, koleksiyonlar genellikle dinamik boyutludur ve eleman ekleme veya çıkarma işlemlerine daha esnek bir şekilde izin verirler.</p>



<h3 class="wp-block-heading">ArrayList</h3>



<p>`ArrayList`, dinamik boyutlu bir dizi olarak düşünülebilir. Eleman ekleme ve çıkarma işlemlerinde esneklik sağlar. `ArrayList`, `java.util` paketinde bulunur.</p>



<h4 class="wp-block-heading">ArrayList Oluşturma ve Eleman Ekleme</h4>



<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="import java.util.ArrayList;

ArrayList sehirler = new ArrayList&lt;&gt;();
sehirler.add(&quot;İstanbul&quot;);
sehirler.add(&quot;Ankara&quot;);
sehirler.add(&quot;İzmir&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 style="color: #569CD6">import</span><span style="color: #D4D4D4"> java.util.ArrayList;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">ArrayList</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sehirler</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">ArrayList</span><span style="color: #D4D4D4">&lt;&gt;();</span></span>
<span class="line"><span style="color: #9CDCFE">sehirler</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">add</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;İstanbul&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">sehirler</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">add</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Ankara&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">sehirler</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">add</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;İzmir&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h4 class="wp-block-heading">ArrayList Elemanlarına Erişim</h4>



<p>`ArrayList` elemanlarına erişmek için `get()` metodunu kullanırsınız:</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 ilkSehir = sehirler.get(0); // ilkSehir &quot;İstanbul&quot; değerini alır
" 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">ilkSehir</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sehirler</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">get</span><span style="color: #D4D4D4">(</span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// ilkSehir &quot;İstanbul&quot; değerini alır</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h4 class="wp-block-heading">ArrayList Eleman Sayısı</h4>



<p>`ArrayList` içindeki eleman sayısını öğrenmek için `size()` metodunu kullanırsınız:</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 elemanSayisi = sehirler.size(); // elemanSayisi 3 değerini alır
" 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">elemanSayisi</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">sehirler</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">size</span><span style="color: #D4D4D4">(); </span><span style="color: #6A9955">// elemanSayisi 3 değerini alır</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">HashMap</h3>



<p>`HashMap`, anahtar-değer (key-value) çiftlerini saklayan bir koleksiyon türüdür. Her anahtar benzersiz olmalıdır. `HashMap`, `java.util` paketinde bulunur. Hızlı erişim sağlar.</p>



<h4 class="wp-block-heading">HashMap Oluşturma ve Eleman Ekleme</h4>



<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="import java.util.HashMap;

HashMap&lt;String, Integer&gt; ogrenciYaslari = new HashMap&lt;&gt;();
ogrenciYaslari.put(&quot;Ali&quot;, 20);
ogrenciYaslari.put(&quot;Ayşe&quot;, 22);
ogrenciYaslari.put(&quot;Mehmet&quot;, 21);
" 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: #569CD6">import</span><span style="color: #D4D4D4"> java.util.HashMap;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #4EC9B0">HashMap</span><span style="color: #D4D4D4">&lt;</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4">, </span><span style="color: #4EC9B0">Integer</span><span style="color: #D4D4D4">&gt; </span><span style="color: #9CDCFE">ogrenciYaslari</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">HashMap</span><span style="color: #D4D4D4">&lt;&gt;();</span></span>
<span class="line"><span style="color: #9CDCFE">ogrenciYaslari</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">put</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Ali&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">20</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">ogrenciYaslari</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">put</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Ayşe&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">22</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #9CDCFE">ogrenciYaslari</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">put</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Mehmet&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #B5CEA8">21</span><span style="color: #D4D4D4">);</span></span>
<span class="line"></span></code></pre></div>



<h4 class="wp-block-heading">HashMap Elemanlarına Erişim</h4>



<p>`HashMap` elemanlarına erişmek için `get()` metodunu kullanırsınız. Anahtarı belirtmeniz gerekir:</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 aliYasi = ogrenciYaslari.get(&quot;Ali&quot;); // aliYasi 20 değerini alır
" 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">aliYasi</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">ogrenciYaslari</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">get</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Ali&quot;</span><span style="color: #D4D4D4">); </span><span style="color: #6A9955">// aliYasi 20 değerini alır</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h4 class="wp-block-heading">HashMap Anahtar ve Değerlerini Döngüyle Gezme</h4>



<p>`HashMap` içindeki anahtarları ve değerleri döngüyle gezmek için `keySet()` ve `values()` metodlarını kullanabilirsiniz:</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="for (String isim : ogrenciYaslari.keySet()) {
    int yas = ogrenciYaslari.get(isim);
    System.out.println(isim + &quot;'nin yaşı: &quot; + yas);
}
" 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: #C586C0">for</span><span style="color: #D4D4D4"> (</span><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">:</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">ogrenciYaslari</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">keySet</span><span style="color: #D4D4D4">()) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><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: #9CDCFE">ogrenciYaslari</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">get</span><span style="color: #D4D4D4">(isim);</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">(isim + </span><span style="color: #CE9178">&quot;&#39;nin yaşı: &quot;</span><span style="color: #D4D4D4"> + yas);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading">Diğer Koleksiyonlar</h3>



<p>Java Collections Framework&#8217;te `LinkedList`, `HashSet`, `TreeSet` gibi başka koleksiyon türleri de bulunmaktadır. Her bir koleksiyonun kendine özgü avantajları ve kullanım alanları vardır. Örneğin:</p>



<ul class="wp-block-list">
<li><strong>LinkedList:</strong> Eleman ekleme ve çıkarma işlemlerinin sık yapıldığı durumlarda tercih edilir.</li>



<li><strong>HashSet:</strong> Benzersiz elemanları saklamak için kullanılır ve hızlı arama performansı sunar.</li>



<li><strong>TreeSet:</strong> Elemanları sıralı olarak saklamak için kullanılır.</li>
</ul>



<h2 class="wp-block-heading">Diziler ve Koleksiyonlar Arasındaki Farklar</h2>



<p>Diziler ve koleksiyonlar arasındaki temel farklar şunlardır:</p>



<ul class="wp-block-list">
<li><strong>Boyut:</strong> Diziler sabit boyutludur, koleksiyonlar ise genellikle dinamik boyutludur.</li>



<li><strong>Veri Türü:</strong> Diziler, belirli bir veri türündeki elemanları saklar. Koleksiyonlar, nesneleri saklar (primitif veri türleri için wrapper sınıfları kullanılır).</li>



<li><strong>Esneklik:</strong> Koleksiyonlar, eleman ekleme ve çıkarma işlemlerinde dizilere göre daha esnektir.</li>



<li><strong>Metodlar:</strong> Koleksiyonlar, elemanları yönetmek için çeşitli metodlar sunar (add, remove, get, vb.).</li>
</ul>



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



<p>Java&#8217;da diziler ve koleksiyonlar, verileri organize etmek ve yönetmek için güçlü araçlardır. Diziler, sabit boyutlu ve aynı türden verileri saklamak için idealdir. Koleksiyonlar ise, dinamik boyutlu ve farklı türden nesneleri saklamak için daha uygundur. Programlarınızın ihtiyaçlarına göre, doğru veri yapısını seçmek, performans ve okunabilirlik açısından önemlidir.</p>



<p><em>Bu makalede, diziler ve temel koleksiyonlar (ArrayList, HashMap) hakkında bilgi verdik. Java Collections Framework&#8217;teki diğer koleksiyon türlerini de araştırmanızı öneririz.</em></p>
<p><a href="https://www.kesifruhu.com/yazilim/9-diziler-ve-koleksiyonlar-array-arraylist-hashmap-vb/">9. Diziler ve Koleksiyonlar (Array, ArrayList, HashMap, vb.)</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/9-diziler-ve-koleksiyonlar-array-arraylist-hashmap-vb/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>7. Döngüler (for, while, do-while, foreach)</title>
		<link>https://www.kesifruhu.com/yazilim/7-donguler-for-while-do-while-foreach/</link>
					<comments>https://www.kesifruhu.com/yazilim/7-donguler-for-while-do-while-foreach/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Wed, 02 Apr 2025 15:44:02 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Döngüler]]></category>
		<category><![CDATA[for döngüsü]]></category>
		<category><![CDATA[foreach döngüsü]]></category>
		<category><![CDATA[while döngüsü]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=469</guid>

					<description><![CDATA[<p>7. Döngüler (for, while, do-while, foreach) Java programlama dilinde, döngüler, belirli bir kod bloğunu tekrar tekrar çalıştırmak için kullanılan temel kontrol yapılarından biridir. Döngüler, aynı <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/7-donguler-for-while-do-while-foreach/" title="7. Döngüler (for, while, do-while, foreach)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/7-donguler-for-while-do-while-foreach/">7. Döngüler (for, while, do-while, foreach)</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">7. Döngüler (for, while, do-while, foreach)</h1>



<p>Java programlama dilinde, döngüler, belirli bir kod bloğunu tekrar tekrar çalıştırmak için kullanılan temel kontrol yapılarından biridir. Döngüler, aynı işlemi birden çok kez yapmanız gerektiğinde kodunuzu daha verimli ve okunaklı hale getirir. Bu makalede, Java&#8217;da bulunan başlıca döngü türlerini (<code>for</code>, <code>while</code>, <code>do-while</code> ve <code>foreach</code>) ayrıntılı olarak inceleyeceğiz ve örneklerle nasıl kullanıldıklarını göstereceğiz.</p>



<h2 class="wp-block-heading">Döngülerin Önemi</h2>



<p>Döngüler, programlamanın temel taşlarından biridir. Tekrarlayan görevleri otomatikleştirerek kod yazma sürecini hızlandırır ve karmaşıklığı azaltır. Örneğin, bir dizideki tüm elemanları yazdırmak, bir listedeki verileri işlemek veya belirli bir koşul sağlanana kadar bir işlemi sürdürmek gibi birçok senaryoda döngülere ihtiyaç duyulur.</p>



<h2 class="wp-block-heading"><code>for</code> Döngüsü</h2>



<p><code>for</code> döngüsü, belirli bir sayıda tekrar yapmak istediğinizde idealdir. Başlangıç değeri, döngü koşulu ve artırma/azaltma ifadesi olmak üzere üç ana bölümden oluşur.</p>



<h3 class="wp-block-heading"><code>for</code> Döngüsünün Sözdizimi</h3>



<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="
for (başlangıç; koşul; artırma/azaltma) {
  // Tekrar edilecek kod bloğu
}
" 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: #C586C0">for</span><span style="color: #D4D4D4"> (başlangıç; koşul; artırma/azaltma) {</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Tekrar edilecek kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<ul class="wp-block-list">
<li><strong>Başlangıç:</strong> Döngü değişkenini tanımlar ve başlangıç değerini atar. Bu bölüm döngünün başında yalnızca bir kez çalışır.</li>



<li><strong>Koşul:</strong> Döngünün devam edip etmeyeceğini belirleyen bir boolean ifadesidir. Koşul doğru (<code>true</code>) olduğu sürece döngü çalışmaya devam eder.</li>



<li><strong>Artırma/Azaltma:</strong> Döngü değişkeninin değerini her yinelemede günceller. Bu bölüm, döngüdeki kod bloğu çalıştıktan sonra çalışır.</li>
</ul>



<h3 class="wp-block-heading"><code>for</code> Döngüsü Örneği</h3>



<p>Aşağıdaki örnek, 1&#8217;den 10&#8217;a kadar olan sayıları ekrana yazdırır:</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 ForLoopExample {
  public static void main(String[] args) {
    for (int i = 1; i &lt;= 10; i++) {
      System.out.println(i);
    }
  }
}
" 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">ForLoopExample</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">for</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">; i &lt;= </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">; i++) {</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">(i);</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></p>



<h2 class="wp-block-heading"><code>while</code> Döngüsü</h2>



<p><code>while</code> döngüsü, belirli bir koşul doğru olduğu sürece bir kod bloğunu tekrar tekrar çalıştırmak için kullanılır. Döngü koşulu, döngü başlamadan önce kontrol edilir. Eğer koşul başlangıçta yanlışsa (<code>false</code>), döngü hiç çalışmaz.</p>



<h3 class="wp-block-heading"><code>while</code> Döngüsünün Sözdizimi</h3>



<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="
while (koşul) {
  // Tekrar edilecek kod bloğu
}
" 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: #C586C0">while</span><span style="color: #D4D4D4"> (koşul) {</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Tekrar edilecek kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading"><code>while</code> Döngüsü Örneği</h3>



<p>Aşağıdaki örnek, bir sayacın değerini 5&#8217;ten 1&#8217;e düşürür ve her adımda değeri ekrana yazdırır:</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="
public class WhileLoopExample {
  public static void main(String[] args) {
    int sayac = 5;
    while (sayac &gt;= 1) {
      System.out.println(sayac);
      sayac--;
    }
  }
}
" 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">WhileLoopExample</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">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayac</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">5</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"> (sayac &gt;= </span><span style="color: #B5CEA8">1</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">(sayac);</span></span>
<span class="line"><span style="color: #D4D4D4">      sayac--;</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></p>



<h2 class="wp-block-heading"><code>do-while</code> Döngüsü</h2>



<p><code>do-while</code> döngüsü, <code>while</code> döngüsüne benzer, ancak döngü koşulu, döngü bloğu çalıştıktan sonra kontrol edilir. Bu, döngü bloğunun en az bir kez çalışmasını garanti eder.</p>



<h3 class="wp-block-heading"><code>do-while</code> Döngüsünün Sözdizimi</h3>



<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="
do {
  // Tekrar edilecek kod bloğu
} while (koşul);
" 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: #C586C0">do</span><span style="color: #D4D4D4"> {</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Tekrar edilecek kod bloğu</span></span>
<span class="line"><span style="color: #D4D4D4">} </span><span style="color: #C586C0">while</span><span style="color: #D4D4D4"> (koşul);</span></span>
<span class="line"></span></code></pre></div>



<p></p>



<h3 class="wp-block-heading"><code>do-while</code> Döngüsü Örneği</h3>



<p>Aşağıdaki örnek, kullanıcıdan bir sayı girmesini ister ve sayı 0&#8217;dan küçük olduğu sürece tekrar sorar:</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.util.Scanner;

public class DoWhileLoopExample {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int sayi;
    do {
      System.out.print(&quot;Lütfen 0'dan büyük bir sayı girin: &quot;);
      sayi = scanner.nextInt();
    } while (sayi &lt;= 0);
    System.out.println(&quot;Girilen sayı: &quot; + sayi);
  }
}
" 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.util.Scanner;</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">DoWhileLoopExample</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">Scanner</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">scanner</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Scanner</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">in</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">do</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">print</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Lütfen 0&#39;dan büyük bir sayı girin: &quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">      sayi = </span><span style="color: #9CDCFE">scanner</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">nextInt</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"> (sayi &lt;= </span><span style="color: #B5CEA8">0</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;Girilen sayı: &quot;</span><span style="color: #D4D4D4"> + sayi);</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></p>



<h2 class="wp-block-heading"><code>foreach</code> Döngüsü (Gelişmiş <code>for</code> Döngüsü)</h2>



<p><code>foreach</code> döngüsü, diziler ve koleksiyonlar gibi veri yapıları üzerinde iterasyon yapmak için kullanılır. Her elemanı tek tek işlemek için kolay ve okunaklı bir yol sağlar. Java&#8217;da, <code>for-each</code> döngüsü olarak da bilinir.</p>



<h3 class="wp-block-heading"><code>foreach</code> Döngüsünün Sözdizimi</h3>



<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="
for (veriTipi eleman : diziVeyaKoleksiyon) {
  // Eleman üzerinde yapılacak işlemler
}
" 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: #C586C0">for</span><span style="color: #D4D4D4"> (veriTipi eleman </span><span style="color: #C586C0">:</span><span style="color: #D4D4D4"> diziVeyaKoleksiyon) {</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #6A9955">// Eleman üzerinde yapılacak işlemler</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<ul class="wp-block-list">
<li><strong>veriTipi:</strong> Dizideki veya koleksiyondaki elemanların veri türü.</li>



<li><strong>eleman:</strong> Diziden veya koleksiyondan alınan her bir elemanı temsil eden değişken.</li>



<li><strong>diziVeyaKoleksiyon:</strong> Üzerinde iterasyon yapılacak dizi veya koleksiyon.</li>
</ul>



<h3 class="wp-block-heading"><code>foreach</code> Döngüsü Örneği</h3>



<p>Aşağıdaki örnek, bir string dizisindeki tüm elemanları ekrana yazdırır:</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="
public class ForeachLoopExample {
  public static void main(String[] args) {
    String[] meyveler = {&quot;Elma&quot;, &quot;Armut&quot;, &quot;Muz&quot;, &quot;Çilek&quot;};
    for (String meyve : meyveler) {
      System.out.println(meyve);
    }
  }
}
" 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">ForeachLoopExample</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">String</span><span style="color: #D4D4D4">[] </span><span style="color: #9CDCFE">meyveler</span><span style="color: #D4D4D4"> = {</span><span style="color: #CE9178">&quot;Elma&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Armut&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Muz&quot;</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;Çilek&quot;</span><span style="color: #D4D4D4">};</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">for</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">String</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">meyve</span><span style="color: #D4D4D4"> </span><span style="color: #C586C0">:</span><span style="color: #D4D4D4"> meyveler) {</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">(meyve);</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></p>



<h2 class="wp-block-heading">Döngü Kontrol İfadeleri: <code>break</code> ve <code>continue</code></h2>



<p>Döngülerin akışını kontrol etmek için <code>break</code> ve <code>continue</code> ifadeleri kullanılabilir.</p>



<h3 class="wp-block-heading"><code>break</code> İfadesi</h3>



<p><code>break</code> ifadesi, döngüyü tamamen sonlandırır ve döngüden sonraki ilk ifadeye geçilir.</p>



<h3 class="wp-block-heading"><code>continue</code> İfadesi</h3>



<p><code>continue</code> ifadesi, döngünün mevcut iterasyonunu atlar ve bir sonraki iterasyona geçer.</p>



<h3 class="wp-block-heading">Örnek</h3>



<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="
public class LoopControlExample {
  public static void main(String[] args) {
    for (int i = 1; i &lt;= 10; i++) {
      if (i == 5) {
        break; // Döngüyü sonlandırır
      }
      if (i % 2 == 0) {
        continue; // Mevcut iterasyonu atlar
      }
      System.out.println(i);
    }
    System.out.println(&quot;Döngü sona erdi.&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">LoopControlExample</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">for</span><span style="color: #D4D4D4"> (</span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">i</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">1</span><span style="color: #D4D4D4">; i &lt;= </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">; i++) {</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (i == </span><span style="color: #B5CEA8">5</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// Döngüyü sonlandırır</span></span>
<span class="line"><span style="color: #D4D4D4">      }</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (i % </span><span style="color: #B5CEA8">2</span><span style="color: #D4D4D4"> == </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">) {</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">continue</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// Mevcut iterasyonu atlar</span></span>
<span class="line"><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">(i);</span></span>
<span class="line"><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;Döngü sona erdi.&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 örnekte, <code>break</code> ifadesi <code>i</code> 5 olduğunda döngüyü sonlandırırken, <code>continue</code> ifadesi çift sayıları atlar.</p>



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



<p>Java&#8217;da döngüler, tekrar eden görevleri verimli bir şekilde yönetmek için güçlü araçlardır. <code>for</code>, <code>while</code>, <code>do-while</code> ve <code>foreach</code> döngüleri, farklı senaryolara uygun çözümler sunar. Döngülerin nasıl çalıştığını anlamak ve uygun döngü türünü seçmek, daha temiz, daha okunaklı ve daha verimli kod yazmanıza yardımcı olur. <code>break</code> ve <code>continue</code> ifadeleri ile döngülerin akışını daha da kontrol edebilirsiniz.</p>



<figure class="wp-block-image"><img decoding="async" src="image-placeholder.jpg" alt="Java Döngü Örneği Kodu"/></figure>



<p></p>
<p><a href="https://www.kesifruhu.com/yazilim/7-donguler-for-while-do-while-foreach/">7. Döngüler (for, while, do-while, foreach)</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/7-donguler-for-while-do-while-foreach/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>6. Koşullu İfadeler (if-else, switch-case)</title>
		<link>https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case/</link>
					<comments>https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Wed, 02 Apr 2025 09:45:17 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[if-else]]></category>
		<category><![CDATA[koşullu ifadeler]]></category>
		<category><![CDATA[switch-case]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=467</guid>

					<description><![CDATA[<p>6. Koşullu İfadeler (if-else, switch-case) Java&#8217;da, programların akışını kontrol etmek ve belirli koşullara göre farklı kod bloklarını çalıştırmak için koşullu ifadeler kullanılır. Bu ifadeler, programların <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case/" title="6. Koşullu İfadeler (if-else, switch-case)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case/">6. Koşullu İfadeler (if-else, switch-case)</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/6804581/pexels-photo-6804581.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">6. Koşullu İfadeler (if-else, switch-case)</h1>



<p>Java&#8217;da, programların akışını kontrol etmek ve belirli koşullara göre farklı kod bloklarını çalıştırmak için koşullu ifadeler kullanılır. Bu ifadeler, programların karar verme yeteneğini geliştirerek daha karmaşık ve dinamik uygulamalar oluşturulmasına olanak tanır. Bu makalede, Java&#8217;daki temel koşullu ifadeleri (<code>if-else</code> ve <code>switch-case</code>) ayrıntılı olarak inceleyeceğiz.</p>



<h2 class="wp-block-heading">if-else İfadeleri</h2>



<p><code>if-else</code> ifadeleri, belirli bir koşulun doğru (<code>true</code>) veya yanlış (<code>false</code>) olmasına göre farklı kod bloklarını çalıştırmak için kullanılır. Temel sözdizimi aşağıdaki gibidir:</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="
if (koşul) {
    // Koşul doğruysa çalışacak kod
} else {
    // Koşul yanlışsa çalışacak kod
}
" 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: #C586C0">if</span><span style="color: #D4D4D4"> (koşul) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #6A9955">// Koşul doğruysa çalışacak kod</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: #6A9955">// Koşul yanlışsa çalışacak kod</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p>Burada, <code>koşul</code> bir boolean ifade olmalıdır. Eğer <code>koşul</code> doğruysa, <code>if</code> bloğundaki kod çalıştırılır; aksi takdirde, <code>else</code> bloğundaki kod çalıştırılır. <code>else</code> bloğu isteğe bağlıdır.</p>



<h3 class="wp-block-heading">Basit if Örneği</h3>



<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 x = 10;
if (x &gt; 5) {
    System.out.println(&quot;x 5'ten büyüktür&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: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">x</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">10</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (x &gt; </span><span style="color: #B5CEA8">5</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;x 5&#39;ten büyüktür&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, <code>x</code> değişkeninin değeri 5&#8217;ten büyük olduğu için, ekrana &#8220;x 5&#8217;ten büyüktür&#8221; yazdırılır.</p>



<h3 class="wp-block-heading">if-else Örneği</h3>



<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 x = 3;
if (x &gt; 5) {
    System.out.println(&quot;x 5'ten büyüktür&quot;);
} else {
    System.out.println(&quot;x 5'ten küçük veya eşittir&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: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">x</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">3</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (x &gt; </span><span style="color: #B5CEA8">5</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;x 5&#39;ten büyüktür&quot;</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;x 5&#39;ten küçük veya eşittir&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, <code>x</code> değişkeninin değeri 5&#8217;ten küçük olduğu için, ekrana &#8220;x 5&#8217;ten küçük veya eşittir&#8221; yazdırılır.</p>



<h3 class="wp-block-heading">if-else if-else Zinciri</h3>



<p>Birden fazla koşulu kontrol etmek için <code>if-else if-else</code> zinciri kullanılabilir. Bu yapı, koşullar sırayla kontrol edilir ve ilk doğru olan koşulun bloğu çalıştırılır. Hiçbir koşul doğru değilse, <code>else</code> bloğu (varsa) çalıştırılır.</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="
int x = 75;

if (x &gt;= 90) {
    System.out.println(&quot;Not: A&quot;);
} else if (x &gt;= 80) {
    System.out.println(&quot;Not: B&quot;);
} else if (x &gt;= 70) {
    System.out.println(&quot;Not: C&quot;);
} else if (x &gt;= 60) {
    System.out.println(&quot;Not: D&quot;);
} else {
    System.out.println(&quot;Not: F&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: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">x</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">75</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #C586C0">if</span><span style="color: #D4D4D4"> (x &gt;= </span><span style="color: #B5CEA8">90</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;Not: A&quot;</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 style="color: #C586C0">if</span><span style="color: #D4D4D4"> (x &gt;= </span><span style="color: #B5CEA8">80</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;Not: B&quot;</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 style="color: #C586C0">if</span><span style="color: #D4D4D4"> (x &gt;= </span><span style="color: #B5CEA8">70</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;Not: C&quot;</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 style="color: #C586C0">if</span><span style="color: #D4D4D4"> (x &gt;= </span><span style="color: #B5CEA8">60</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;Not: D&quot;</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;Not: F&quot;</span><span style="color: #D4D4D4">);</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, <code>x</code> değişkeninin değeri 75 olduğu için, ekrana &#8220;Not: C&#8221; yazdırılır.</p>



<h2 class="wp-block-heading">switch-case İfadeleri</h2>



<p><code>switch-case</code> ifadeleri, bir değişkenin değerine göre farklı kod bloklarını çalıştırmak için kullanılır. Özellikle, bir değişkenin birden çok olası değerine göre farklı işlemler yapmak gerektiğinde kullanışlıdır.</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="
switch (değişken) {
    case değer1:
        // değişken değeri değer1'e eşitse çalışacak kod
        break;
    case değer2:
        // değişken değeri değer2'ye eşitse çalışacak kod
        break;
    ...
    default:
        // değişken hiçbir değere eşit değilse çalışacak kod
}
" 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: #C586C0">switch</span><span style="color: #D4D4D4"> (değişken) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> değer1</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// değişken değeri değer1&#39;e eşitse çalışacak kod</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> değer2</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// değişken değeri değer2&#39;ye eşitse çalışacak kod</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</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">default:</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #6A9955">// değişken hiçbir değere eşit değilse çalışacak kod</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span></code></pre></div>



<p>Burada, <code>değişken</code> bir <code>byte</code>, <code>short</code>, <code>int</code>, <code>char</code>, <code>enum</code> veya <code>String</code> türünde olabilir. Her <code>case</code> etiketi, <code>değişken</code>&#8216;in olası bir değerini temsil eder. Eğer <code>değişken</code>&#8216;in değeri bir <code>case</code> etiketindeki değerle eşleşirse, o <code>case</code> bloğundaki kod çalıştırılır. <code>break</code> ifadesi, o <code>case</code> bloğunun sonunu işaret eder ve <code>switch</code> ifadesinden çıkılmasını sağlar. Eğer <code>break</code> ifadesi kullanılmazsa, bir sonraki <code>case</code> bloğu da çalıştırılır (fall-through). <code>default</code> etiketi, <code>değişken</code>&#8216;in hiçbir <code>case</code> etiketindeki değerle eşleşmediği durumlarda çalışacak kodu belirtir. <code>default</code> etiketi isteğe bağlıdır.</p>



<h3 class="wp-block-heading">switch-case Örneği</h3>



<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="
int day = 3;
String dayName;

switch (day) {
    case 1:
        dayName = &quot;Pazartesi&quot;;
        break;
    case 2:
        dayName = &quot;Salı&quot;;
        break;
    case 3:
        dayName = &quot;Çarşamba&quot;;
        break;
    case 4:
        dayName = &quot;Perşembe&quot;;
        break;
    case 5:
        dayName = &quot;Cuma&quot;;
        break;
    case 6:
        dayName = &quot;Cumartesi&quot;;
        break;
    case 7:
        dayName = &quot;Pazar&quot;;
        break;
    default:
        dayName = &quot;Geçersiz gün&quot;;
}

System.out.println(&quot;Gün: &quot; + dayName);
" 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: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">day</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">3</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">dayName</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #C586C0">switch</span><span style="color: #D4D4D4"> (day) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">1</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        dayName = </span><span style="color: #CE9178">&quot;Pazartesi&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">2</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        dayName = </span><span style="color: #CE9178">&quot;Salı&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">3</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        dayName = </span><span style="color: #CE9178">&quot;Çarşamba&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">4</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        dayName = </span><span style="color: #CE9178">&quot;Perşembe&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">5</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        dayName = </span><span style="color: #CE9178">&quot;Cuma&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">6</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        dayName = </span><span style="color: #CE9178">&quot;Cumartesi&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">7</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        dayName = </span><span style="color: #CE9178">&quot;Pazar&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">default:</span></span>
<span class="line"><span style="color: #D4D4D4">        dayName = </span><span style="color: #CE9178">&quot;Geçersiz gün&quot;</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><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;Gün: &quot;</span><span style="color: #D4D4D4"> + dayName);</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, <code>day</code> değişkeninin değeri 3 olduğu için, ekrana &#8220;Gün: Çarşamba&#8221; yazdırılır.</p>



<h3 class="wp-block-heading">Fall-Through Durumu</h3>



<p><code>switch-case</code> ifadelerinde <code>break</code> ifadesinin kullanılmaması durumunda, bir sonraki <code>case</code> bloğu da çalıştırılır. Bu duruma <em>fall-through</em> denir. Bazen bu özellik, birden fazla değer için aynı kodu çalıştırmak istediğimizde faydalı olabilir.</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="
int month = 2;
int daysInMonth;

switch (month) {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        daysInMonth = 31;
        break;
    case 4:
    case 6:
    case 9:
    case 11:
        daysInMonth = 30;
        break;
    case 2:
        daysInMonth = 28; // Artık yıl kontrolü yapılmadı
        break;
    default:
        daysInMonth = 0;
}

System.out.println(&quot;Ayın gün sayısı: &quot; + daysInMonth);
" 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: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">month</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">2</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">daysInMonth</span><span style="color: #D4D4D4">;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #C586C0">switch</span><span style="color: #D4D4D4"> (month) {</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">1</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">3</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">5</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">7</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">8</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">10</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">12</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        daysInMonth = </span><span style="color: #B5CEA8">31</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">4</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">6</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">9</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">11</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        daysInMonth = </span><span style="color: #B5CEA8">30</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">case</span><span style="color: #D4D4D4"> </span><span style="color: #B5CEA8">2</span><span style="color: #C586C0">:</span></span>
<span class="line"><span style="color: #D4D4D4">        daysInMonth = </span><span style="color: #B5CEA8">28</span><span style="color: #D4D4D4">; </span><span style="color: #6A9955">// Artık yıl kontrolü yapılmadı</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #C586C0">break</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #C586C0">default:</span></span>
<span class="line"><span style="color: #D4D4D4">        daysInMonth = </span><span style="color: #B5CEA8">0</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span>
<span class="line"></span>
<span class="line"><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;Ayın gün sayısı: &quot;</span><span style="color: #D4D4D4"> + daysInMonth);</span></span>
<span class="line"></span></code></pre></div>



<p>Bu örnekte, birden fazla ay için aynı sayıda gün sayısı olduğundan, <code>break</code> ifadeleri atlanarak <em>fall-through</em> özelliği kullanılmıştır.</p>



<h2 class="wp-block-heading">Koşullu İfadelerde Dikkat Edilmesi Gerekenler</h2>



<ul class="wp-block-list">
<li><code>if</code> ifadesinin koşulu her zaman bir boolean ifade olmalıdır.</li>



<li><code>switch-case</code> ifadesinde, <code>break</code> ifadesinin unutulması <em>fall-through</em> durumuna yol açabilir.</li>



<li><code>switch-case</code> ifadesinde, <code>default</code> etiketi isteğe bağlıdır, ancak kullanılmadığında beklenmedik sonuçlar ortaya çıkabilir.</li>



<li>Karmaşık koşullu ifadeler yerine, kodu daha okunabilir hale getirmek için fonksiyonlar kullanılabilir.</li>
</ul>



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



<p>Java&#8217;daki koşullu ifadeler (<code>if-else</code> ve <code>switch-case</code>), programların karar verme yeteneğini geliştirerek daha karmaşık ve dinamik uygulamalar oluşturulmasına olanak tanır. Bu ifadelerin doğru kullanımı, programların daha esnek ve kullanıcı dostu olmasını sağlar. Bu makalede, koşullu ifadelerin temel kavramları, sözdizimi ve örnek kullanımları ayrıntılı olarak açıklanmıştır. Pratik yaparak ve farklı senaryoları deneyerek, bu ifadeleri daha iyi anlayabilir ve programlama becerilerinizi geliştirebilirsiniz.</p>



<figure class="wp-block-image"><img decoding="async" src="image-placeholder.jpg" alt="Java if-else statement example"/></figure>



<figure class="wp-block-image"><img decoding="async" src="image-placeholder.jpg" alt="Java switch-case syntax diagram"/></figure>



<figure class="wp-block-image"><img decoding="async" src="image-placeholder.jpg" alt="Code snippet showcasing conditional logic in Java"/></figure>



<p><br><br></p>
<p><a href="https://www.kesifruhu.com/yazilim/6-kosullu-ifadeler-if-else-switch-case/">6. Koşullu İfadeler (if-else, switch-case)</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/6-kosullu-ifadeler-if-else-switch-case/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>4. Tür Dönüşümleri (Type Casting)</title>
		<link>https://www.kesifruhu.com/yazilim/4-tur-donusumleri-type-casting/</link>
					<comments>https://www.kesifruhu.com/yazilim/4-tur-donusumleri-type-casting/#respond</comments>
		
		<dc:creator><![CDATA[darklaz]]></dc:creator>
		<pubDate>Mon, 31 Mar 2025 16:22:18 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Tür Dönüşümü]]></category>
		<category><![CDATA[Type Casting]]></category>
		<category><![CDATA[Veri Tipleri]]></category>
		<guid isPermaLink="false">https://www.kesifruhu.com/?p=459</guid>

					<description><![CDATA[<p>4. Tür Dönüşümleri (Type Casting) Java, güçlü ve tür güvenli bir programlama dilidir. Tür güvenliği, değişkenlerin ve değerlerin doğru türde kullanılmasını sağlayarak hataların önüne geçer. <a class="mh-excerpt-more" href="https://www.kesifruhu.com/yazilim/4-tur-donusumleri-type-casting/" title="4. Tür Dönüşümleri (Type Casting)">[...]</a></p>
<p><a href="https://www.kesifruhu.com/yazilim/4-tur-donusumleri-type-casting/">4. Tür Dönüşümleri (Type Casting)</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/4816921/pexels-photo-4816921.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">4. Tür Dönüşümleri (Type Casting)</h1>



<p>Java, güçlü ve tür güvenli bir programlama dilidir. Tür güvenliği, değişkenlerin ve değerlerin doğru türde kullanılmasını sağlayarak hataların önüne geçer. Ancak bazen, bir türdeki değeri başka bir türe dönüştürmek gerekebilir. İşte bu noktada <strong>tür dönüşümleri (type casting)</strong> devreye girer.</p>



<h2 class="wp-block-heading">Tür Dönüşümü Nedir?</h2>



<p>Tür dönüşümü, bir değişkenin veri türünü başka bir veri türüne dönüştürme işlemidir. Java&#8217;da iki tür tür dönüşümü vardır:</p>



<ul class="wp-block-list">
<li><strong>Genişletme (Widening Casting):</strong> Küçük bir veri türünü daha büyük bir veri türüne dönüştürme işlemidir. Bu işlem otomatik olarak yapılır ve veri kaybı riski taşımaz.</li>



<li><strong>Daraltma (Narrowing Casting):</strong> Büyük bir veri türünü daha küçük bir veri türüne dönüştürme işlemidir. Bu işlem manuel olarak yapılmalıdır ve veri kaybı riski taşır.</li>
</ul>



<h2 class="wp-block-heading">Genişletme (Widening Casting)</h2>



<p>Genişletme, daha küçük bir veri türünü (örneğin, `int`) daha büyük bir veri türüne (örneğin, `double`) dönüştürmektir. Bu işlemde veri kaybı olmaz, çünkü hedef veri türü, kaynak veri türünden daha fazla değer saklayabilir.</p>



<p>Aşağıdaki veri türleri, genişletme yönünde dönüştürülebilir:</p>



<ol class="wp-block-list">
<li>`byte` -> `short` -> `int` -> `long` -> `float` -> `double`</li>
</ol>



<p>İşte bir genişletme örneği:</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 myInt = 9;
double myDouble = myInt; // Otomatik genişletme

System.out.println(myInt);       // Çıktı: 9
System.out.println(myDouble);    // Çıktı: 9.0
" 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: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">myInt</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">9</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">myDouble</span><span style="color: #D4D4D4"> = myInt; </span><span style="color: #6A9955">// Otomatik genişletme</span></span>
<span class="line"></span>
<span class="line"><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">(myInt);       </span><span style="color: #6A9955">// Çıktı: 9</span></span>
<span class="line"><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">(myDouble);    </span><span style="color: #6A9955">// Çıktı: 9.0</span></span>
<span class="line"></span></code></pre></div>



<p>Yukarıdaki örnekte, `int` türündeki `myInt` değişkeni, otomatik olarak `double` türüne dönüştürülerek `myDouble` değişkenine atanmıştır.</p>



<h2 class="wp-block-heading">Daraltma (Narrowing Casting)</h2>



<p>Daraltma, daha büyük bir veri türünü (örneğin, `double`) daha küçük bir veri türüne (örneğin, `int`) dönüştürmektir. Bu işlemde veri kaybı olabilir, çünkü hedef veri türü, kaynak veri türünden daha az değer saklayabilir. Bu nedenle, daraltma işlemi manuel olarak yapılmalıdır.</p>



<p>İşte bir daraltma örneği:</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="
double myDouble = 9.78;
int myInt = (int) myDouble; // Manuel daraltma

System.out.println(myDouble);   // Çıktı: 9.78
System.out.println(myInt);      // Çıktı: 9
" 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: #4EC9B0">double</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">myDouble</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">9.78</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">myInt</span><span style="color: #D4D4D4"> = (</span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4">) myDouble; </span><span style="color: #6A9955">// Manuel daraltma</span></span>
<span class="line"></span>
<span class="line"><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">(myDouble);   </span><span style="color: #6A9955">// Çıktı: 9.78</span></span>
<span class="line"><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">(myInt);      </span><span style="color: #6A9955">// Çıktı: 9</span></span>
<span class="line"></span></code></pre></div>



<p>Yukarıdaki örnekte, `double` türündeki `myDouble` değişkeni, `(int)` ifadesi kullanılarak `int` türüne dönüştürülmüştür. Bu işlem sırasında ondalık kısım kaybedilmiştir.</p>



<p><strong>Dikkat:</strong> Daraltma yaparken veri kaybı olabileceğini unutmayın. Örneğin, `double` türündeki 9.99 değerini `int` türüne dönüştürdüğünüzde, sonuç 9 olacaktır. Bu nedenle, daraltma işlemini dikkatli bir şekilde yapmalı ve veri kaybını göz önünde bulundurmalısınız.</p>



<h2 class="wp-block-heading">Tür Dönüşümü Neden Gereklidir?</h2>



<p>Tür dönüşümleri, farklı veri türleri arasında işlem yapmanız gerektiğinde önemlidir. Örneğin, kullanıcıdan alınan bir metin girdisini sayısal bir değere dönüştürmeniz gerekebilir. Ayrıca, farklı veri türlerini kullanan kütüphanelerle veya API&#8217;lerle etkileşim kurarken de tür dönüşümlerine ihtiyaç duyabilirsiniz.</p>



<h2 class="wp-block-heading">Tür Dönüşümü Örnekleri</h2>



<h3 class="wp-block-heading">Örnek 1: Kullanıcıdan Alınan Girdiyi Sayıya Dönüştürme</h3>



<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.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.print(&quot;Lütfen bir sayı girin: &quot;);
    String sayiStr = scanner.nextLine();

    try {
      int sayi = Integer.parseInt(sayiStr);
      System.out.println(&quot;Girdiğiniz sayı: &quot; + sayi);
    } catch (NumberFormatException e) {
      System.out.println(&quot;Geçersiz sayı formatı.&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.util.Scanner;</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">Main</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">Scanner</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">scanner</span><span style="color: #D4D4D4"> = </span><span style="color: #C586C0">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">Scanner</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">System</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">in</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">print</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Lütfen bir sayı girin: &quot;</span><span style="color: #D4D4D4">);</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">sayiStr</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">scanner</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">nextLine</span><span style="color: #D4D4D4">();</span></span>
<span class="line"></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">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">sayi</span><span style="color: #D4D4D4"> = </span><span style="color: #9CDCFE">Integer</span><span style="color: #D4D4D4">.</span><span style="color: #DCDCAA">parseInt</span><span style="color: #D4D4D4">(sayiStr);</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;Girdiğiniz sayı: &quot;</span><span style="color: #D4D4D4"> + sayi);</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">NumberFormatException</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;Geçersiz sayı formatı.&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 örnekte, kullanıcıdan alınan metin girdisi, `Integer.parseInt()` metodu kullanılarak `int` türüne dönüştürülmektedir. `try-catch` bloğu, geçersiz bir sayı formatı girilmesi durumunda oluşabilecek `NumberFormatException` hatasını yakalamak için kullanılmaktadır.</p>



<h3 class="wp-block-heading">Örnek 2: `float` Değerini `int` Değerine Dönüştürme</h3>



<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 Main {
    public static void main(String[] args) {
        float floatSayi = 3.14f;
        int intSayi = (int) floatSayi;
            
        System.out.println(&quot;Float sayı: &quot; + floatSayi);
        System.out.println(&quot;Int sayı: &quot; + intSayi);
        }
    }" 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: #569CD6">public</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">class</span><span style="color: #D4D4D4"> </span><span style="color: #4EC9B0">Main</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">float</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">floatSayi</span><span style="color: #D4D4D4"> = </span><span style="color: #B5CEA8">3.14f</span><span style="color: #D4D4D4">;</span></span>
<span class="line"><span style="color: #D4D4D4">        </span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">intSayi</span><span style="color: #D4D4D4"> = (</span><span style="color: #4EC9B0">int</span><span style="color: #D4D4D4">) floatSayi;</span></span>
<span class="line"><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;Float sayı: &quot;</span><span style="color: #D4D4D4"> + floatSayi);</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;Int sayı: &quot;</span><span style="color: #D4D4D4"> + intSayi);</span></span>
<span class="line"><span style="color: #D4D4D4">        }</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span></code></pre></div>



<p>Bu örnekte, `float` türündeki `floatSayi` değişkeni, `(int)` ifadesi kullanılarak `int` türüne dönüştürülmektedir. Ondalık kısım kaybedilecektir.</p>



<h2 class="wp-block-heading">Özet</h2>



<p>Tür dönüşümleri (type casting), Java&#8217;da bir veri türünü başka bir veri türüne dönüştürme işlemidir. Genişletme (widening casting) otomatik olarak yapılır ve veri kaybı riski taşımazken, daraltma (narrowing casting) manuel olarak yapılmalıdır ve veri kaybı riski taşır. Tür dönüşümleri, farklı veri türleri arasında işlem yapmanız gerektiğinde ve farklı kütüphanelerle veya API&#8217;lerle etkileşim kurarken önemlidir. Tür dönüşümlerini dikkatli bir şekilde yapmalı ve veri kaybını göz önünde bulundurmalısınız.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>&#8220;Tür dönüşümleri, Java&#8217;nın gücünü ve esnekliğini gösteren önemli bir özelliktir. Ancak, dikkatli kullanılmadığında beklenmedik sonuçlara yol açabilir.&#8221;</em></p>
</blockquote>



<p>Bu makalede, Java&#8217;da tür dönüşümlerinin ne olduğunu, nasıl yapıldığını ve neden önemli olduğunu detaylı bir şekilde inceledik. Umarım bu bilgiler, Java programlama becerilerinizi geliştirmenize yardımcı olur.</p>



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



<p></p>
<p><a href="https://www.kesifruhu.com/yazilim/4-tur-donusumleri-type-casting/">4. Tür Dönüşümleri (Type Casting)</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/4-tur-donusumleri-type-casting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
