Java Dilinde Casting, bir değişkenin başka bir türün değişkeni gibi davranması işlemidir. Bir sınıf başka bir sınıf veya arabirimle IS-A veya miras ilişkisini paylaşıyorsa, değişkenleri birbirlerinin türüne çevrilebilir.
Tip dönüşümü bir veri tipinin başka bir veri tipine dönüştürülmesidir.Örneğin elinizde String tipinde ifade var ve siz bu String tipinde ifade üzerinde matematiksel işlemler yapmak istiyorsunuz. Bunun için bu String ifadeyi int, float gibi matematiksel veri tiplerine dönüştürmeniz gerekiyor.
Ya da elinizde olan bir float tipinde değişkenin virgülden sonraki kısmını kullanmak istemediğiniz zaman int veri tipine çevirmeniz gerekecek.Java bir çok veri tipinde bu tür değişimlere olanak tanıyan fonksiyonlar ve kalıp kullanımlar mevcut.
C veya C++ Programlama dilinde bir değişken türünden değişkeni diğer değişken türünden değişkene direk olarak atama mümkündür. Java Programlama Dilinde de mümkündür .C veya C++ Programlama dilinde örneğin;
char a=’x’; int b=a;
tür değiştirme işlemi işlemi c++ da geçerli bir işlemdir. Java’da ise bu işlem hata verir. Fakat aynı tür değiştirme işlemi işlemi;
char a=’x’; int b=(int)a;
şeklinde gerçekleştirilebilir. (int) deyimi orijinal olarak char olarak tanımlanan a değişkeninin değerini int türüne dönüştürmüş sonra da int türünden b değişkenine yüklemiştir. Bu dönüşüm işlemlerini tüm değişken türleri için kullanabiliriz, yalnız burada programcının çok dikkatli olması ve değişken türlerini, ve sınırlarını iyi tanıması gerekmektedir. Değişken türlerini değiştirirken bazı bilgiler kaybolacağı gibi hiç istemediğimiz bir sonuca ulaşma olasılığımız da mevcuttur.
import javax.swing.*; class cast { public static void main(String arg[]) { char a=’x’;
int b=(int)a; String s=” a = “+a+” b = “+b; JOptionPane.showMessageDialog(null,s,”======cast işlemi======”,JOptionPane.PLAIN_MESSAGE); } }
Java Dilinde Casting Sayı Değil ve Sonsuz Sonuçları
Java Dilinde Casting gerçek sayı değişken türleri sayı değil (NaN) ve artı sonsuz (Pozitif infinity) ve eksi sonsuz(negative infinity) sonuçları verebilirler. Sayı değil (NaN) sonucu sıfır bölü sıfır, sıfır çarpı sonsuz gibi işlemlerden çıkar. sonsuz işlemi ise sayi bölü sıfır gibi işlemlerden çıkar. Bu işlemler sadece float ve double değişkenleri için tanımlıdır. Tamsayı değişkenler sıfıra bölünemezler.