Java Tip Dönüşümleri

Bu yazımda Java tip dönüşümleri (Java type casting) konusundan bahsedeceğim. Ayrıca tip dönüşüm metodlarını örnekler üzerinde anlatacağım. Yazının içeriği aşağıdadır.

  1. Tip dönüşümü nedir ve neden kullanıyoruz?
  2. Otomatik tip dönüşümü (Implicit Casting) nedir?
  3. Açık tip dönüşümü (Explicit Casting) nedir?
  4. String ve sayısal tipler arasında dönüşüm.

Tip Dönüşümü Nedir Ve Neden Kullanıyoruz?

Tip dönüşümü, bir veri tipinin başka bir veri tipine dönüştürülmesini sağlıyor. Java tip dönüşümleri  konusunu önemli kılan nedenleri şu şekilde sıralayabiliriz:

 Veri Türü Uyumluluğu:  Java’da, farklı veri tipleri belirli aralıklarda değerler tutabilir. Tip dönüşümü, uyumsuz veri tipleri arasında geçiş yapmanızı sağlar. Örneğin, bir String’i int’e dönüştürerek sayısal işlemler yapabilirsiniz.

 İşlem Yapma ve Karşılaştırma:  Java’da, aynı veri tipine sahip olmayan değişkenlerle aritmetik işlemler veya karşılaştırmalar yapamazsınız. Tip dönüşümü kullanarak uygun veri türlerine dönüştürme yaparak bu tür işlemleri gerçekleştirebilirsiniz.

 Metodlar ve Fonksiyonlar:  Java’da metodlar ve fonksiyonlar belirli veri tiplerini parametre olarak bekleyebilir. Eğer beklenen veri tipiyle uyumsuz bir veriye sahipseniz, tip dönüşümü yaparak uygun veri tipini sağlayabilirsiniz.

 Veri Saklama ve Kullanma:  Farklı veri tipleri farklı miktarda bellek kullanır. Tip dönüşümü, veri tipini değiştirerek daha az bellek kullanımı sağlayabilir ve veri saklama ve kullanma verimliliğini arttırabilir.

 Çıktı Formatlama:  Bazı durumlarda, veriyi uygun bir formatta göstermek veya yazdırmak isteyebilirsiniz. Tip dönüşümü, veriyi belirli bir veri tipine dönüştürerek, daha uygun bir çıktı formatı elde etmenizi sağlar.

Ancak, tip dönüşümü kullanırken dikkatli olmanız gereken bazı noktalar vardır. Veri kaybı, veri aralığı aşımı ve hatalı dönüşümler gibi sorunlarla karşılaşabilirsiniz. Bu nedenle, uygun veri doğrulaması ve hata kontrolü yapmanız önemlidir. Ayrıca, gereksiz dönüşümlerden kaçınmak ve veri türü uyumluluğunu sağlamak için iyi bir tasarım ve programlama yaklaşımı benimsemek önemlidir.

Bu bilgilerden sonra tip dönüşümlerinin nasıl yapıldığına göz atabiliriz.

Otomatik Tip Dönüşümü (Implicit Casting) Nedir?

Otomatik dönüşüm, bir veri tipinin daha geniş bir veri tipine dönüştürülmesidir. Bu dönüşüm Java tarafından otomatik olarak gerçekleştirilir ve ek bir kod yazmanıza gerek yoktur. Java, veri kaybı olmayacak şekilde daha küçük bir veri tipini daha büyük bir veri tipine dönüştürebilir. Örneğin, int veri tipini long veri tipine dönüştürelim.

Yukarıdaki örnekde int olarak tanımladığım number adlı bir değişkenim var. İkinci satırda ise long veri tipinde tanımladığım bigNumber adlı değişkenimi “=” operatörü kullanarak number adlı değişkenin değerine atadım.

Bu durumda Java, int değerini otomatik olarak long değerine dönüştürdü çünkü long, int’ten daha büyük bir veri tipidir. Buna otomatik değişim diyoruz.

Açık Tip Dönüşümü (Explicit Casting) Nedir?

Açık dönüşüm, bir veri tipinin daha küçük bir veri tipine dönüştürülmesidir. Bu dönüşümü gerçekleştirmek için dönüşüm operatörü olan parantez içinde hedef veri tipini belirtmeniz gerekmektedir. Ancak, bu dönüşümde bilgi kaybı olabilir ve hatalar ortaya çıkabilir. Örneğin, bir long veri tipini int veri tipine dönüştürelim.

Bu durumda, bigNumber değerini int’e dönüştürmek için açık bir dönüşüm kullandık. Ancak, burada dikkat etmemiz gereken bir nokta, long veri tipinin int’in aralığını aşmamasıdır. Aksi takdirde, beklenmedik sonuçlar elde edebiliriz.

Bu şekilde, Java’da veri tipleri arasında dönüşüm yapabilirsiniz. Ancak, dönüşüm yaparken, veri türlerinin uyumluluklarını ve aralıklarını dikkate almanız önemlidir. Uygun olmayan bir dönüşüm yapmaya çalışırsanız, beklenmedik sonuçlar elde edebilir veya hatalar alabilirsiniz.

Dikkat ederseniz yukarıda yaptığımız dönüşümler sadece sayısal değerler arasında yapılan dönüşümlerdi.

Peki String veri tipi ve sayısal bir veri tipi arasında dönüşüm yapmamız gerekirse?

String ve Sayısal Tipler Arasında Dönüşüm

Java’da bir String verisini sayısal veri tipine dönüştürmek için bir kaç farklı yöntem var. İlk önce int ve String arasındaki dönüşüm metodlarını daha sonra ise String ve diğer sayısal veri tipleri arasındaki değişim metodlarını göstereceğim.

String Veri Tipini int Veri Tipine Dönüştürme  

Integer.ParseInt()  veya Integer.ValueOf() metodunu kullanabilirsiniz.

İşte her iki yöntemin kullanımı:

 Integer.ParseInt() yöntemi :  Bu yöntem bir String’i int’e dönüştürmek için kullanılır. Dönüştürme işlemi gerçekleştikten sonra elde edilen int değeri döndürülür. Ancak, dönüştürülen String ifadesi tamamen sayısal bir değer içermelidir; aksi takdirde NumberFormatException hatası alırsınız.

Örneğin;

 Integer.ValueOf() yöntemi :  Bu yöntem de bir String’i int’e dönüştürmek için kullanılır. Integer.ValueOf() metodu, bir String’i Integer nesnesine dönüştürür ve sonuç olarak Integer nesnesini döndürür. Daha sonra, elde edilen Integer nesnesini intValue() metoduyla int veri tipine dönüştürebilirsiniz.

Örneğin;

Her iki yöntem de String ifadesini int’e dönüştürmenize olanak sağlar. Ancak, Integer.parseInt() daha sık kullanılan bir yöntemdir. Dönüştürme işlemi sırasında dikkat etmeniz gereken nokta, dönüştürülen String ifadesinin tamamen sayısal bir değer içermesi ve NumberFormatException hatasını önlemek için gerekli giriş doğrulamasını yapmanızdır.

Int Veri Tipini String Veri Tipine Dönüştürme 

 String.valueOf() yöntemi:  Bu yöntem, herhangi bir veri tipini String’e dönüştürmek için kullanılabilir. Bir int değerini String’e dönüştürmek için String.ValueOf() yöntemini kullanabilirsiniz.

Örneğin;

 String concatenation (String birleştirme):  String birleştirme operatörü (+) kullanarak bir int değerini bir String ile birleştirerek dönüşüm yapabilirsiniz. Bu durumda, Java otomatik olarak int’i String’e dönüştürür.

Örneğin;

String ve Byte, Float, Double, Short, Long Arasındaki Dönüşümler

Bu dönüşümler yukarıda anlatılanlarla oldukça paralel. Fark sadece parse, valueOf() ve toString()  işlemlerinde kullanacağımız veri tipini yazmak olacak. İsterseniz hepsini örneklendirelim.

 String’i byte, float, double, short ve long’a dönüştürmek: 

 byte, float, double, short ve long ’u Stringe dönüştürmek: 

Bu dersimde Java tip dönüşümleri konusunu ele aldım. Eğer sizde bu yazıyı ve önceki yazıları iyi anladığınızı düşünüyorsanız bir sonraki yazıya geçmeye hazırsınız.

Eğer anlamadığınız bir yer olduysa yada önceki yazılardan okumadıklarınız varsa Java DeğişkenlerJava Comment LineJava Veri Tipleri yazılarını okumanızı tavsiye ederim.

Umarım sizler için faydalı bir yazı olmuştur.

Happy Coding!

2 Yorum

  1. blank emre Temmuz 10, 2023 Cevapla
    • blank admin Temmuz 10, 2023

Yorum Yazın