{"id":35469,"date":"2025-11-30T03:40:37","date_gmt":"2025-11-30T00:40:37","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35469"},"modified":"2025-11-30T03:40:37","modified_gmt":"2025-11-30T00:40:37","slug":"java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/","title":{"rendered":"Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek"},"content":{"rendered":"<p><body><\/p>\n<h2>Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>Java, g\u00fc\u00e7l\u00fc ve esnek bir programlama dili olarak, geli\u015ftiricilere \u00e7e\u015fitli senaryolar i\u00e7in farkl\u0131 kontrol yap\u0131lar\u0131 sunar. Bu yap\u0131lar aras\u0131nda, ko\u015fullu ifadeler program ak\u0131\u015f\u0131n\u0131 y\u00f6nlendirmede merkezi bir role sahiptir. <code>if-else<\/code> ifadeleri, en yayg\u0131n kullan\u0131lan ko\u015fullu yap\u0131lar olsa da, Java ayn\u0131 zamanda daha k\u0131sa ve \u00f6z bir alternatif olan ternary operat\u00f6r\u00fcn\u00fc (<code>? :<\/code>) sunar. C tabanl\u0131 dillerden miras kalan bu operat\u00f6r, \u00f6zellikle basit ko\u015fullu atamalar veya ifadeler i\u00e7in kodu daha kompakt hale getirme potansiyeline sahiptir.<\/p>\n<p>Bu makalede, Java ternary operat\u00f6r\u00fcn\u00fcn ne oldu\u011funu, nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, s\u00f6zdizimini, <code>if-else<\/code> ifadelerine g\u00f6re avantajlar\u0131n\u0131 ve dezavantajlar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz. Ayr\u0131ca, \u00e7e\u015fitli kullan\u0131m senaryolar\u0131n\u0131 \u00f6rneklerle a\u00e7\u0131klayacak, en iyi uygulama y\u00f6ntemlerini ve ka\u00e7\u0131n\u0131lmas\u0131 gereken hatalar\u0131 tart\u0131\u015faca\u011f\u0131z. Amac\u0131m\u0131z, Java geli\u015ftiricilerinin ternary operat\u00f6r\u00fcn\u00fc ne zaman ve nas\u0131l etkili bir \u015fekilde kullanacaklar\u0131n\u0131 anlamalar\u0131na yard\u0131mc\u0131 olmakt\u0131r.<\/p>\n<h3>Ternary Operat\u00f6r Nedir?<\/h3>\n<p>Ternary operat\u00f6r, \u00fc\u00e7 i\u015fleneni (operand) olan tek ko\u015fullu operat\u00f6rd\u00fcr. Bu nedenle &#8220;ternary&#8221; (\u00fc\u00e7l\u00fc) ad\u0131n\u0131 al\u0131r. Temel olarak, bir ko\u015fulun do\u011frulu\u011funa veya yanl\u0131\u015fl\u0131\u011f\u0131na ba\u011fl\u0131 olarak iki farkl\u0131 de\u011ferden birini se\u00e7mek i\u00e7in kullan\u0131l\u0131r. <code>if-else<\/code> ifadesinin tek sat\u0131rl\u0131k bir k\u0131saltmas\u0131 olarak d\u00fc\u015f\u00fcn\u00fclebilir, ancak temel fark\u0131, bir ifade (expression) olmas\u0131 ve bir de\u011fer d\u00f6nd\u00fcrmesidir, oysa <code>if-else<\/code> bir deyimdir (statement) ve bir de\u011fer d\u00f6nd\u00fcrmez.<\/p>\n<h4>S\u00f6zdizimi (Syntax)<\/h4>\n<p>Ternary operat\u00f6r\u00fcn\u00fcn genel s\u00f6zdizimi a\u015fa\u011f\u0131daki gibidir:<\/p>\n<pre><code class=\"language-java\">ko\u015ful ? do\u011fru_ise_ifade : yanl\u0131\u015f_ise_ifade;<\/code><\/pre>\n<p>Bu s\u00f6zdizimini par\u00e7alar\u0131na ay\u0131ral\u0131m:<br \/>\n*   <strong><code>ko\u015ful<\/code><\/strong>: Bu, boolean bir de\u011fer (true veya false) d\u00f6nd\u00fcren herhangi bir ifadedir. Parantez i\u00e7inde olmas\u0131 zorunlu de\u011fildir ancak okunabilirli\u011fi art\u0131rabilir.<br \/>\n*   <strong><code>?<\/code><\/strong>: Ko\u015ful ifadesini, ko\u015ful do\u011fru oldu\u011funda y\u00fcr\u00fct\u00fclecek ifade ile ay\u0131ran operat\u00f6rd\u00fcr.<br \/>\n*   <strong><code>do\u011fru_ise_ifade<\/code><\/strong>: <code>ko\u015ful<\/code> <code>true<\/code> olarak de\u011ferlendirildi\u011finde d\u00f6nd\u00fcr\u00fclecek veya y\u00fcr\u00fct\u00fclecek ifadedir.<br \/>\n*   <strong><code>:<\/code><\/strong>: <code>do\u011fru_ise_ifade<\/code> ile <code>yanl\u0131\u015f_ise_ifade<\/code>yi ay\u0131ran operat\u00f6rd\u00fcr.<br \/>\n*   <strong><code>yanl\u0131\u015f_ise_ifade<\/code><\/strong>: <code>ko\u015ful<\/code> <code>false<\/code> olarak de\u011ferlendirildi\u011finde d\u00f6nd\u00fcr\u00fclecek veya y\u00fcr\u00fct\u00fclecek ifadedir.<\/p>\n<h4>Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h4>\n<p>Ternary operat\u00f6r\u00fc, soldan sa\u011fa do\u011fru de\u011ferlendirilir:<br \/>\n1.  \u00d6ncelikle <code>ko\u015ful<\/code> de\u011ferlendirilir.<br \/>\n2.  E\u011fer <code>ko\u015ful<\/code> <code>true<\/code> ise, <code>do\u011fru_ise_ifade<\/code> de\u011ferlendirilir ve sonucu d\u00f6nd\u00fcr\u00fcl\u00fcr. <code>yanl\u0131\u015f_ise_ifade<\/code> k\u0131sm\u0131 tamamen g\u00f6z ard\u0131 edilir (short-circuiting).<br \/>\n3.  E\u011fer <code>ko\u015ful<\/code> <code>false<\/code> ise, <code>yanl\u0131\u015f_ise_ifade<\/code> de\u011ferlendirilir ve sonucu d\u00f6nd\u00fcr\u00fcl\u00fcr. <code>do\u011fru_ise_ifade<\/code> k\u0131sm\u0131 tamamen g\u00f6z ard\u0131 edilir (short-circuiting).<\/p>\n<p>D\u00f6nen de\u011ferin tipi, <code>do\u011fru_ise_ifade<\/code> ve <code>yanl\u0131\u015f_ise_ifade<\/code> ifadelerinin tiplerine ba\u011fl\u0131d\u0131r. Java derleyicisi, bu iki ifadenin ortak bir tipini bulmaya \u00e7al\u0131\u015f\u0131r. E\u011fer farkl\u0131 tiplerse, daha genel olan tipe otomatik olarak y\u00fckseltilir (type promotion). Bu durum, \u00f6zellikle say\u0131sal tiplerde veya <code>null<\/code> ile birlikte kullan\u0131ld\u0131\u011f\u0131nda dikkat edilmesi gereken \u00f6nemli bir noktad\u0131r.<\/p>\n<p><strong>\u00d6rnek:<\/strong><\/p>\n<pre><code class=\"language-java\">int yas = 20;\nString durum = (yas >= 18) ? \"Yeti\u015fkin\" : \"\u00c7ocuk\";\nSystem.out.println(durum); \/\/ \u00c7\u0131kt\u0131: Yeti\u015fkin<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code>yas >= 18<\/code> ko\u015fulu <code>true<\/code> oldu\u011fu i\u00e7in <code>\"Yeti\u015fkin\"<\/code> de\u011feri <code>durum<\/code> de\u011fi\u015fkenine atan\u0131r.<\/p>\n<h3>if-else \u0130fadeleri ile Kar\u015f\u0131la\u015ft\u0131rma<\/h3>\n<p>Ternary operat\u00f6r\u00fc, <code>if-else<\/code> ifadelerine bir alternatif sunsa da, her ikisinin de kendine \u00f6zg\u00fc kullan\u0131m alanlar\u0131 ve avantajlar\u0131 vard\u0131r.<\/p>\n<h4>Avantajlar\u0131<\/h4>\n<p>*   <strong>K\u0131sal\u0131k ve Kompaktl\u0131k:<\/strong> Ternary operat\u00f6r, \u00f6zellikle basit ko\u015fullu atamalar i\u00e7in kodu tek bir sat\u0131rda ifade etmenizi sa\u011flar. Bu, kodun genel sat\u0131r say\u0131s\u0131n\u0131 azaltabilir ve daha az &#8220;boilerplate&#8221; kod olu\u015fturabilir.<\/p>\n<pre><code class=\"language-java\">\/\/ if-else ile\n    String mesaj;\n    if (adet > 0) {\n        mesaj = \"\u00dcr\u00fcn mevcut\";\n    } else {\n        mesaj = \"\u00dcr\u00fcn stokta yok\";\n    }\n\n    \/\/ Ternary ile\n    String mesaj = (adet > 0) ? \"\u00dcr\u00fcn mevcut\" : \"\u00dcr\u00fcn stokta yok\";<\/code><\/pre>\n<p>*   <strong>Do\u011frudan De\u011fer Atamas\u0131:<\/strong> Ternary operat\u00f6r bir ifade oldu\u011fu i\u00e7in, sonucunu do\u011frudan bir de\u011fi\u015fkene atayabilir, bir metot arg\u00fcman\u0131 olarak ge\u00e7irebilir veya bir metottan d\u00f6nd\u00fcrebilirsiniz. <code>if-else<\/code> ise bir deyim oldu\u011fundan, bu i\u015flemleri ger\u00e7ekle\u015ftirmek i\u00e7in ek sat\u0131rlara veya ge\u00e7ici de\u011fi\u015fkenlere ihtiya\u00e7 duyar.<br \/>\n*   <strong>Tek Sat\u0131rda \u0130fade:<\/strong> Baz\u0131 durumlarda, \u00f6zellikle lambda ifadeleri veya ak\u0131\u015f API&#8217;leri (Stream API) gibi fonksiyonel programlama paradigmalar\u0131yla birlikte kullan\u0131ld\u0131\u011f\u0131nda, ternary operat\u00f6r\u00fcn\u00fcn tek sat\u0131rl\u0131k yap\u0131s\u0131 daha temiz bir entegrasyon sa\u011flayabilir.<\/p>\n<h4>Dezavantajlar\u0131 ve Ne Zaman Kullan\u0131lmamal\u0131d\u0131r?<\/h4>\n<p>*   <strong>Okunabilirlik Sorunlar\u0131:<\/strong> Ternary operat\u00f6r\u00fcn\u00fcn en b\u00fcy\u00fck dezavantaj\u0131, karma\u015f\u0131k veya i\u00e7 i\u00e7e kullan\u0131ld\u0131\u011f\u0131nda okunabilirli\u011fi ciddi \u015fekilde d\u00fc\u015f\u00fcrebilmesidir. Birden fazla ko\u015ful veya karma\u015f\u0131k ifadeler i\u00e7eren ternary operat\u00f6rleri, bak\u0131m\u0131 zor ve hatalara a\u00e7\u0131k hale gelebilir.<\/p>\n<pre><code class=\"language-java\">\/\/ K\u00f6t\u00fc okunabilirlik \u00f6rne\u011fi\n    String durum = (puan > 90) ? \"A\" : ((puan > 80) ? \"B\" : ((puan > 70) ? \"C\" : \"D\"));<\/code><\/pre>\n<p>    Bu t\u00fcr durumlarda, <code>if-else if-else<\/code> yap\u0131s\u0131 \u00e7ok daha okunabilir olacakt\u0131r.<br \/>\n*   <strong>Karma\u015f\u0131k Mant\u0131k:<\/strong> Ternary operat\u00f6r\u00fc, yaln\u0131zca iki olas\u0131 sonu\u00e7lu basit ko\u015fullar i\u00e7in idealdir. Birden fazla ko\u015fulun veya birden fazla eylemin ger\u00e7ekle\u015ftirilmesi gereken karma\u015f\u0131k mant\u0131klar i\u00e7in <code>if-else if-else<\/code> veya <code>switch<\/code> deyimleri \u00e7ok daha uygun ve anla\u015f\u0131l\u0131rd\u0131r.<br \/>\n*   <strong>Yan Etkiler (Side Effects):<\/strong> <code>do\u011fru_ise_ifade<\/code> veya <code>yanl\u0131\u015f_ise_ifade<\/code> k\u0131s\u0131mlar\u0131nda yan etkilere sahip metot \u00e7a\u011fr\u0131lar\u0131 kullanmak, kodun davran\u0131\u015f\u0131n\u0131 tahmin etmeyi zorla\u015ft\u0131rabilir. Ternary operat\u00f6r\u00fc k\u0131sa devre yapt\u0131\u011f\u0131 i\u00e7in, \u00e7a\u011fr\u0131lmayan taraf\u0131n yan etkileri ger\u00e7ekle\u015fmeyecektir, bu da beklenmedik durumlara yol a\u00e7abilir. Genellikle, bu k\u0131s\u0131mlarda sadece saf (pure) ifadeler kullanmak en iyi yakla\u015f\u0131md\u0131r.<br \/>\n*   <strong>\u00c7oklu \u0130fadeler:<\/strong> Her iki k\u0131s\u0131mda da sadece tek bir ifadeye izin verilir. Birden fazla sat\u0131rl\u0131k kod \u00e7al\u0131\u015ft\u0131rmak veya birden fazla i\u015flem yapmak istedi\u011finizde ternary operat\u00f6r\u00fc kullan\u0131lamaz. Bu durumlarda <code>if-else<\/code> bloklar\u0131 ka\u00e7\u0131n\u0131lmazd\u0131r.<\/p>\n<h3>Java Ternary Operat\u00f6r\u00fcn\u00fcn Kullan\u0131m Senaryolar\u0131<\/h3>\n<p>Ternary operat\u00f6r\u00fc, belirli senaryolarda kodun daha zarif ve k\u0131sa olmas\u0131n\u0131 sa\u011flayabilir. \u0130\u015fte baz\u0131 yayg\u0131n kullan\u0131m \u00f6rnekleri:<\/p>\n<h4>Basit De\u011fi\u015fken Atamas\u0131<\/h4>\n<p>En yayg\u0131n kullan\u0131m, bir ko\u015fula ba\u011fl\u0131 olarak bir de\u011fi\u015fkene farkl\u0131 de\u011ferler atamakt\u0131r.<\/p>\n<pre><code class=\"language-java\">int a = 10;\nint b = 20;\nint maxDeger = (a > b) ? a : b;\nSystem.out.println(\"Maksimum de\u011fer: \" + maxDeger); \/\/ \u00c7\u0131kt\u0131: Maksimum de\u011fer: 20<\/code><\/pre>\n<h4>Metot Arg\u00fcmanlar\u0131 \u0130\u00e7inde Kullan\u0131m<\/h4>\n<p>Bir metot \u00e7a\u011fr\u0131s\u0131 yaparken, arg\u00fcmanlardan birinin de\u011ferini bir ko\u015fula g\u00f6re belirleyebilirsiniz.<\/p>\n<pre><code class=\"language-java\">public class Ornek {\n    public static void main(String[] args) {\n        int puan = 75;\n        \/\/ Puan 60'tan b\u00fcy\u00fckse \"Ge\u00e7ti\", de\u011filse \"Kald\u0131\" mesaj\u0131n\u0131 yazd\u0131r\n        System.out.println(\"Durum: \" + (puan > 60 ? \"Ge\u00e7ti\" : \"Kald\u0131\"));\n    }\n}\n\/\/ \u00c7\u0131kt\u0131: Durum: Ge\u00e7ti<\/code><\/pre>\n<h4>Metot D\u00f6n\u00fc\u015f De\u011feri Olarak<\/h4>\n<p>Bir metottan d\u00f6nd\u00fcr\u00fclecek de\u011feri bir ko\u015fula g\u00f6re belirlemek i\u00e7in ternary operat\u00f6r\u00fcn\u00fc kullanabilirsiniz.<\/p>\n<pre><code class=\"language-java\">public class Ornek {\n    public static String getDurum(int not) {\n        return (not >= 50) ? \"Ba\u015far\u0131l\u0131\" : \"Ba\u015far\u0131s\u0131z\";\n    }\n\n    public static void main(String[] args) {\n        System.out.println(\"\u00d6\u011frenci 1: \" + getDurum(65)); \/\/ \u00c7\u0131kt\u0131: \u00d6\u011frenci 1: Ba\u015far\u0131l\u0131\n        System.out.println(\"\u00d6\u011frenci 2: \" + getDurum(40)); \/\/ \u00c7\u0131kt\u0131: \u00d6\u011frenci 2: Ba\u015far\u0131s\u0131z\n    }\n}<\/code><\/pre>\n<h4>\u00c7\u0131kt\u0131 \u0130fadelerinde<\/h4>\n<p><code>System.out.println()<\/code> gibi \u00e7\u0131kt\u0131 ifadelerinin i\u00e7inde do\u011frudan kullan\u0131larak dinamik mesajlar olu\u015fturulabilir.<\/p>\n<pre><code class=\"language-java\">int stokAdedi = 5;\nSystem.out.println(\"\u00dcr\u00fcn durumu: \" + (stokAdedi > 0 ? \"Stokta var\" : \"Stokta yok\"));\n\/\/ \u00c7\u0131kt\u0131: \u00dcr\u00fcn durumu: Stokta var<\/code><\/pre>\n<h4>Null Kontrol\u00fc ve Varsay\u0131lan De\u011fer Atamas\u0131<\/h4>\n<p>Bir objenin <code>null<\/code> olup olmad\u0131\u011f\u0131n\u0131 kontrol edip, <code>null<\/code> ise varsay\u0131lan bir de\u011fer atamak veya bir mesaj d\u00f6nd\u00fcrmek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<pre><code class=\"language-java\">String isim = null;\nString goruntulenecekIsim = (isim != null) ? isim : \"Misafir\";\nSystem.out.println(\"Ho\u015f geldiniz, \" + goruntulenecekIsim); \/\/ \u00c7\u0131kt\u0131: Ho\u015f geldiniz, Misafir\n\nisim = \"Ali\";\ngoruntulenecekIsim = (isim != null) ? isim : \"Misafir\";\nSystem.out.println(\"Ho\u015f geldiniz, \" + goruntulenecekIsim); \/\/ \u00c7\u0131kt\u0131: Ho\u015f geldiniz, Ali<\/code><\/pre>\n<h4>\u0130\u00e7 \u0130\u00e7e Ternary Operat\u00f6rler (Nested Ternaries) &#8211; Dikkat!<\/h4>\n<p>Ternary operat\u00f6rleri i\u00e7 i\u00e7e kullan\u0131labilir, ancak bu genellikle kodun okunabilirli\u011fini ciddi \u015fekilde d\u00fc\u015f\u00fcrd\u00fc\u011f\u00fc i\u00e7in <strong>\u00f6nerilmez<\/strong>. Yaln\u0131zca \u00e7ok basit ve a\u00e7\u0131k\u00e7a anla\u015f\u0131l\u0131r durumlarda d\u00fc\u015f\u00fcn\u00fclmelidir.<\/p>\n<pre><code class=\"language-java\">\/\/ K\u00f6t\u00fc okunabilirlik \u00f6rne\u011fi\nint not = 85;\nchar harfNotu = (not >= 90) ? 'A' :\n                (not >= 80) ? 'B' :\n                (not >= 70) ? 'C' :\n                (not >= 60) ? 'D' : 'F';\nSystem.out.println(\"Harf Notu: \" + harfNotu); \/\/ \u00c7\u0131kt\u0131: Harf Notu: B\n\n\/\/ Bu durum i\u00e7in if-else if-else yap\u0131s\u0131 \u00e7ok daha iyi olacakt\u0131r:\n\/\/ if (not >= 90) harfNotu = 'A';\n\/\/ else if (not >= 80) harfNotu = 'B';\n\/\/ else if (not >= 70) harfNotu = 'C';\n\/\/ else if (not >= 60) harfNotu = 'D';\n\/\/ else harfNotu = 'F';<\/code><\/pre>\n<p>Yukar\u0131daki \u00f6rnekte, i\u00e7 i\u00e7e ternary operat\u00f6rleri kullanmak yerine <code>if-else if-else<\/code> yap\u0131s\u0131n\u0131n tercih edilmesi, kodun anla\u015f\u0131l\u0131rl\u0131\u011f\u0131n\u0131 b\u00fcy\u00fck \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r.<\/p>\n<h4>Java 10+ ile &#8216;var&#8217; Anahtar Kelimesiyle Kullan\u0131m<\/h4>\n<p>Java 10 ile tan\u0131t\u0131lan <code>var<\/code> anahtar kelimesi, yerel de\u011fi\u015fkenlerin tip \u00e7\u0131kar\u0131m\u0131 i\u00e7in kullan\u0131labilir. Ternary operat\u00f6r\u00fc ile birlikte de sorunsuz \u00e7al\u0131\u015f\u0131r.<\/p>\n<pre><code class=\"language-java\">\/\/ Java 10+\nvar sayi = 15;\nvar tekMiCiftMi = (sayi % 2 == 0) ? \"\u00c7ift\" : \"Tek\";\nSystem.out.println(sayi + \" say\u0131s\u0131 \" + tekMiCiftMi + \" say\u0131d\u0131r.\"); \/\/ \u00c7\u0131kt\u0131: 15 say\u0131s\u0131 Tek say\u0131d\u0131r.<\/code><\/pre>\n<p>Burada <code>tekMiCiftMi<\/code> de\u011fi\u015fkeninin tipi, ternary operat\u00f6r\u00fcn\u00fcn d\u00f6nd\u00fcrd\u00fc\u011f\u00fc string de\u011ferinden otomatik olarak <code>String<\/code> olarak \u00e7\u0131kar\u0131l\u0131r.<\/p>\n<h3>\u00d6nemli Hususlar ve En \u0130yi Uygulamalar<\/h3>\n<p>Ternary operat\u00f6r\u00fcn\u00fc etkili ve g\u00fcvenli bir \u015fekilde kullanmak i\u00e7in baz\u0131 \u00f6nemli hususlara dikkat etmek gerekir.<\/p>\n<h4>Tip Uyumlulu\u011fu<\/h4>\n<p>Ternary operat\u00f6r\u00fcnde <code>do\u011fru_ise_ifade<\/code> ve <code>yanl\u0131\u015f_ise_ifade<\/code> k\u0131s\u0131mlar\u0131n\u0131n tipleri uyumlu olmal\u0131d\u0131r. Java derleyicisi, bu iki ifadenin ortak bir tipini bulmaya \u00e7al\u0131\u015f\u0131r. E\u011fer tipler farkl\u0131ysa, Java&#8217;n\u0131n otomatik tip y\u00fckseltme (type promotion) kurallar\u0131 devreye girer. Bu durum, bazen beklenmedik sonu\u00e7lara yol a\u00e7abilir.<\/p>\n<pre><code class=\"language-java\">\/\/ \u00d6rnek 1: Ortak tip int\nint x = 10;\nint y = 20;\nint sonuc = (x > y) ? 100 : 200; \/\/ Her ikisi de int, sorun yok\n\n\/\/ \u00d6rnek 2: Ortak tip double\ndouble d1 = 10.5;\nint i1 = 20;\n\/\/ Sonu\u00e7 double olacakt\u0131r, \u00e7\u00fcnk\u00fc double int'ten daha geneldir\nNumber sonuc2 = (d1 > i1) ? d1 : i1; \/\/ i1 otomatik olarak double'a y\u00fckseltilir\nSystem.out.println(sonuc2.getClass().getName()); \/\/ \u00c7\u0131kt\u0131: java.lang.Double\n\n\/\/ \u00d6rnek 3: Farkl\u0131 Wrapper Tipleri\nInteger intDeger = 5;\nDouble doubleDeger = 10.5;\n\/\/ Ortak tip Object olacakt\u0131r, \u00e7\u00fcnk\u00fc Integer ve Double'\u0131n ortak \u00fcst s\u0131n\u0131f\u0131 Number'd\u0131r,\n\/\/ ancak ternary operat\u00f6r\u00fc genellikle daha spesifik bir ortak tip bulmaya \u00e7al\u0131\u015f\u0131r.\n\/\/ Bu durumda, derleyici Integer'\u0131 Double'a d\u00f6n\u00fc\u015ft\u00fcrmeyi tercih edebilir veya\n\/\/ her ikisini de Number'a \u00e7\u0131karabilir. Kesin davran\u0131\u015f Java s\u00fcr\u00fcm\u00fcne ve ba\u011flama g\u00f6re de\u011fi\u015febilir.\n\/\/ Genellikle daha geni\u015f olan tipe (Double) d\u00f6n\u00fc\u015f\u00fcm beklenir.\nObject sonuc3 = (true) ? intDeger : doubleDeger;\nSystem.out.println(sonuc3.getClass().getName()); \/\/ \u00c7\u0131kt\u0131: java.lang.Double<\/code><\/pre>\n<p><code>null<\/code> ile primitive tiplerin kullan\u0131m\u0131 da dikkat gerektirir. E\u011fer bir taraf <code>null<\/code> ve di\u011fer taraf primitive bir tipse, Java <code>NullPointerException<\/code> f\u0131rlatabilir \u00e7\u00fcnk\u00fc <code>null<\/code> primitive bir tipe d\u00f6n\u00fc\u015ft\u00fcr\u00fclemez.<\/p>\n<pre><code class=\"language-java\">Integer sayiObj = null;\nint varsayilan = 0;\n\/\/ int sonuc = (sayiObj != null) ? sayiObj : varsayilan; \/\/ Bu sat\u0131r sorunsuz \u00e7al\u0131\u015f\u0131r\n\/\/ Ancak:\n\/\/ int sonuc = (true) ? sayiObj : varsayilan; \/\/ sayiObj null ise NullPointerException f\u0131rlat\u0131r<\/code><\/pre>\n<p>Bu t\u00fcr durumlarda, <code>null<\/code> kontrol\u00fcn\u00fc i\u00e7eren <code>if-else<\/code> yap\u0131s\u0131 daha g\u00fcvenli olabilir veya <code>Optional<\/code> s\u0131n\u0131f\u0131 gibi modern Java \u00f6zelliklerinden yararlan\u0131labilir.<\/p>\n<h4>Yan Etkilerden Ka\u00e7\u0131nma<\/h4>\n<p>Ternary operat\u00f6r\u00fcn\u00fcn <code>do\u011fru_ise_ifade<\/code> ve <code>yanl\u0131\u015f_ise_ifade<\/code> k\u0131s\u0131mlar\u0131nda yan etkilere sahip metot \u00e7a\u011fr\u0131lar\u0131 kullanmaktan ka\u00e7\u0131n\u0131lmal\u0131d\u0131r. \u00c7\u00fcnk\u00fc operat\u00f6r k\u0131sa devre yapt\u0131\u011f\u0131 i\u00e7in, ko\u015fula ba\u011fl\u0131 olarak sadece bir taraf \u00e7al\u0131\u015f\u0131r. Bu durum, kodun davran\u0131\u015f\u0131n\u0131 tahmin etmeyi zorla\u015ft\u0131rabilir ve hatalara yol a\u00e7abilir.<\/p>\n<pre><code class=\"language-java\">\/\/ K\u00f6t\u00fc \u00f6rnek: Yan etkilere sahip metot \u00e7a\u011fr\u0131lar\u0131\npublic static int getA() { System.out.println(\"A \u00e7a\u011fr\u0131ld\u0131\"); return 10; }\npublic static int getB() { System.out.println(\"B \u00e7a\u011fr\u0131ld\u0131\"); return 20; }\n\npublic static void main(String[] args) {\n    int deger = (true) ? getA() : getB(); \/\/ Sadece getA() \u00e7a\u011fr\u0131l\u0131r\n    System.out.println(deger);\n}\n\/\/ \u00c7\u0131kt\u0131:\n\/\/ A \u00e7a\u011fr\u0131ld\u0131\n\/\/ 10<\/code><\/pre>\n<p>Bu t\u00fcr bir kullan\u0131m, beklenen t\u00fcm yan etkilerin ger\u00e7ekle\u015fmemesine neden olabilir. Ternary operat\u00f6r\u00fcn\u00fc m\u00fcmk\u00fcn oldu\u011funca sadece de\u011fer d\u00f6nd\u00fcren, yan etkisi olmayan (pure) ifadelerle kullanmak en iyi uygulamad\u0131r.<\/p>\n<h4>Okunabilirli\u011fi \u00d6n Planda Tutma<\/h4>\n<p>Kodun k\u0131sal\u0131\u011f\u0131 \u00f6nemli olsa da, okunabilirlik her zaman \u00f6ncelikli olmal\u0131d\u0131r. E\u011fer bir ternary operat\u00f6r\u00fc karma\u015f\u0131k hale geliyorsa veya i\u00e7 i\u00e7e kullan\u0131mlarla anla\u015f\u0131lmaz hale geliyorsa, onu hemen <code>if-else<\/code> veya <code>switch<\/code> deyimlerine d\u00f6n\u00fc\u015ft\u00fcrmek daha iyi bir yakla\u015f\u0131md\u0131r. Gelecekte kodu okuyacak veya bak\u0131m\u0131n\u0131 yapacak ki\u015fi (bu ki\u015fi muhtemelen siz olacaks\u0131n\u0131z) size te\u015fekk\u00fcr edecektir.<\/p>\n<h4>A\u015f\u0131r\u0131 Kullan\u0131mdan Ka\u00e7\u0131nma<\/h4>\n<p>Ternary operat\u00f6r\u00fc g\u00fc\u00e7l\u00fc bir ara\u00e7 olsa da, her ko\u015fullu durum i\u00e7in kullan\u0131lmas\u0131 gerekmez. \u00d6zellikle, bir de\u011fer d\u00f6nd\u00fcrmek yerine sadece bir eylem ger\u00e7ekle\u015ftirmek istedi\u011finizde <code>if-else<\/code> deyimleri daha do\u011fal bir se\u00e7imdir.<\/p>\n<pre><code class=\"language-java\">\/\/ Ternary operat\u00f6r\u00fcn\u00fcn yanl\u0131\u015f kullan\u0131m\u0131 (de\u011fer d\u00f6nd\u00fcrm\u00fcyor)\n\/\/ (ko\u015ful) ? System.out.println(\"Do\u011fru\") : System.out.println(\"Yanl\u0131\u015f\"); \/\/ \u00c7al\u0131\u015f\u0131r ama k\u00f6t\u00fc pratiktir.\n\/\/ Bu durumda if-else kullanmak daha temizdir:\nif (ko\u015ful) {\n    System.out.println(\"Do\u011fru\");\n} else {\n    System.out.println(\"Yanl\u0131\u015f\");\n}<\/code><\/pre>\n<p>Ternary operat\u00f6r\u00fc bir ifade oldu\u011fu i\u00e7in, bir de\u011fer d\u00f6nd\u00fcrmesi beklenir. Sadece yan etkileri olan metot \u00e7a\u011fr\u0131lar\u0131 i\u00e7in kullanmak, kodun amac\u0131n\u0131 belirsizle\u015ftirebilir.<\/p>\n<h3>S\u0131k Yap\u0131lan Hatalar<\/h3>\n<p>*   <strong>Tip Uyumsuzlu\u011fu:<\/strong> Yukar\u0131da bahsedildi\u011fi gibi, <code>do\u011fru_ise_ifade<\/code> ve <code>yanl\u0131\u015f_ise_ifade<\/code> k\u0131s\u0131mlar\u0131n\u0131n tiplerinin uyumlu olmamas\u0131 veya otomatik tip y\u00fckseltmelerin beklenmedik sonu\u00e7lar do\u011furmas\u0131.<br \/>\n*   <strong>Karma\u015f\u0131k \u0130fadeler:<\/strong> Tek bir sat\u0131rda \u00e7ok fazla mant\u0131k s\u0131k\u0131\u015ft\u0131rmaya \u00e7al\u0131\u015fmak, kodun okunabilirli\u011fini ve anla\u015f\u0131l\u0131rl\u0131\u011f\u0131n\u0131 yok eder.<br \/>\n*   <strong>Yan Etkileri G\u00f6z Ard\u0131 Etme:<\/strong> K\u0131sa devre \u00f6zelli\u011fini anlamadan, her iki ifadenin de yan etkilerinin her zaman ger\u00e7ekle\u015fece\u011fini varsaymak.<br \/>\n*   <strong>Noktal\u0131 Virg\u00fcl Eksikli\u011fi:<\/strong> Ternary operat\u00f6r\u00fc bir ifade oldu\u011fu i\u00e7in, bir atama veya deyim i\u00e7inde kullan\u0131ld\u0131\u011f\u0131nda genellikle bir noktal\u0131 virg\u00fcl ile sonland\u0131r\u0131lmas\u0131 gerekir. Bu, Java&#8217;da yayg\u0131n bir sentaks hatas\u0131d\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Java ternary operat\u00f6r\u00fc, belirli senaryolarda kodunuzu daha k\u0131sa, daha \u00f6z ve daha okunakl\u0131 hale getirebilecek g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. \u00d6zellikle basit ko\u015fullu atamalar, metot arg\u00fcmanlar\u0131 veya d\u00f6n\u00fc\u015f de\u011ferleri i\u00e7in idealdir. Ancak, her ara\u00e7 gibi, ternary operat\u00f6r\u00fcn\u00fcn de do\u011fru kullan\u0131lmas\u0131 gereken durumlar ve ka\u00e7\u0131n\u0131lmas\u0131 gereken tuzaklar vard\u0131r.<\/p>\n<p>Anahtar \u00e7\u0131kar\u0131mlar \u015funlard\u0131r:<br \/>\n*   <strong>Basitli\u011fi koruyun:<\/strong> Ternary operat\u00f6r\u00fcn\u00fc yaln\u0131zca basit, tek ko\u015fullu ve iki olas\u0131 sonu\u00e7lu durumlar i\u00e7in kullan\u0131n.<br \/>\n*   <strong>Okunabilirli\u011fi \u00f6nceliklendirin:<\/strong> Kodun k\u0131sal\u0131\u011f\u0131 u\u011fruna okunabilirlikten \u00f6d\u00fcn vermeyin. \u0130\u00e7 i\u00e7e veya karma\u015f\u0131k ternary operat\u00f6rlerinden ka\u00e7\u0131n\u0131n.<br \/>\n*   <strong>Yan etkilerden sak\u0131n\u0131n:<\/strong> Yan etkileri olan metot \u00e7a\u011fr\u0131lar\u0131n\u0131 ternary operat\u00f6r\u00fcn\u00fcn i\u00e7inde kullanmaktan ka\u00e7\u0131n\u0131n, \u00e7\u00fcnk\u00fc k\u0131sa devre \u00f6zelli\u011fi beklenmedik davran\u0131\u015flara yol a\u00e7abilir.<br \/>\n*   <strong>Tip uyumlulu\u011funa dikkat edin:<\/strong> \u0130fadelerin tiplerinin uyumlu oldu\u011fundan ve otomatik tip y\u00fckseltmelerin beklenen sonu\u00e7lar\u0131 verdi\u011finden emin olun.<\/p>\n<p>Ternary operat\u00f6r\u00fc, Java geli\u015ftiricisinin ara\u00e7 setinde de\u011ferli bir \u00f6\u011fedir. Ancak, ne zaman ve nas\u0131l kullan\u0131laca\u011f\u0131n\u0131 bilmek, daha temiz, daha s\u00fcrd\u00fcr\u00fclebilir ve daha az hataya a\u00e7\u0131k kod yazman\u0131n anahtar\u0131d\u0131r. Do\u011fru kullan\u0131ld\u0131\u011f\u0131nda, kodunuzu daha zarif ve etkili hale getirebilir. Yanl\u0131\u015f kullan\u0131ld\u0131\u011f\u0131nda ise, bak\u0131m\u0131 zor ve kafa kar\u0131\u015ft\u0131r\u0131c\u0131 bir karma\u015faya d\u00f6n\u00fc\u015febilir. Bu nedenle, her zaman duruma en uygun kontrol yap\u0131s\u0131n\u0131 se\u00e7mek \u00f6nemlidir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek\nGiri\u015f\nJava, g\u00fc\u00e7l\u00fc ve esnek bir programlama dili olarak, geli\u015ftiricilere","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1408],"tags":[],"class_list":{"0":"post-35469","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-java","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek\" \/>\n<meta property=\"og:description\" content=\"Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek Giri\u015f Java, g\u00fc\u00e7l\u00fc ve esnek bir programlama dili olarak, geli\u015ftiricilere\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-30T00:40:37+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek\",\"datePublished\":\"2025-11-30T00:40:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/\"},\"wordCount\":1978,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Java\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/\",\"name\":\"Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-30T00:40:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/","og_locale":"tr_TR","og_type":"article","og_title":"Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek","og_description":"Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek Giri\u015f Java, g\u00fc\u00e7l\u00fc ve esnek bir programlama dili olarak, geli\u015ftiricilere","og_url":"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-30T00:40:37+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek","datePublished":"2025-11-30T00:40:37+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/"},"wordCount":1978,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Java"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/","url":"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/","name":"Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-30T00:40:37+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/java-ternary-operatoru-kosullu-mantigi-kisa-ve-oz-ifade-etmek\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Java Ternary Operat\u00f6r\u00fc: Ko\u015fullu Mant\u0131\u011f\u0131 K\u0131sa ve \u00d6z \u0130fade Etmek"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=35469"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35469\/revisions"}],"predecessor-version":[{"id":35470,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35469\/revisions\/35470"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}