Bir çok programlama dilinde olduğu gibi Java dilinde de verilerin türünü dönüştürmeye ihtiyaç duyarız. Örneğin bir JSON dosyasından string bir sayı değeri aldık. Bu değer üzerinde matematiksel işlem yapmak için öncelikli olarak sayı türlerinden birine dönüştürmemiz gerecektir. Aynı şekilde sayısal türde bir veriyi de String türüne dönüştürmeye ihtiyaç duyabiliriz. İşte bu yazıda int, double, String gibi verirleri bir birine nasıl dönüştüreceğimizi göstereceğim.
Tip Dönüşümü Nedir?
Bir veri türünün (int, float, double, vb.) değerini başka bir veri türüne dönüştürme işlemi, typecasting olarak bilinir.
Java’da 13 tür tür dönüştürme vardır. Ancak, bu yazıda yalnızca ana 2 türe odaklanacağız.
- Genişleyen Tipe Dönüşüm
- Daralan Tipe Dönüşüm
Genişleyen Tipe Dönüşüm
Genişleyen tipe dönüşüm, Java otomatik olarak bir veri tipini başka bir veri tipine dönüştürür.
int tipinden double tipine dönüştürme
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class Main { public static void main(String[] args) { // int tipinde değişken oluşturma int intSayi = 10; System.out.println("int tipinde değer: " + intSayi); // double tipine dönüşüm double doubleSayi = intSayi; System.out.println("double tipinde değer: " + doubleSayi); } } |
Çıktı:
1 2 3 4 | int tipinde değer: 10 double tipinde değer: 10.0 |
Yukarıdaki örnekte intSayi adından int tipinde bir değişken oluşturduk. Ardından double int tipine göre daha geniş bir aralığı temsil ettiği için doubleSayi adındaki değişkene intSayi değişkenini atadık.
Daralan Tipe Dönüşüm
Daralan Tipe Dönüşüm, parantez kullanarak bir veri tipini başka bir veri tipine çeviriyoruz.
double tipinden int tipine dönüşüm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class Main { public static void main(String[] args) { // double tipinde değişken oluşturma double doubleSayi = 10.5; System.out.println("double tipinde değer: " + doubleSayi); // int tipine dönüşüm int intSayi = (int) doubleSayi; System.out.println("int tipinde değer: " + intSayi); } } |
Çıktı:
1 2 3 4 | double tipinde değer: 10.5 int tipinde değer: 10 |
Daha büyük aralığı olan bir türden daha az aralığı dönüşüm yapılmıştır. Tabi burada double ondalıklı türden int tam sayı türüne dönüşüm yapıldığı için ondalık kısım çıkartıldı. Daha geniş türden daha dar türe dönüştürürken kayıp yaşanması olası bir durumdur. Aynı zamanda bu dönüşüme açık tip dönüşümü de denilmektedir.
(int) anahtar ifadesi double türünü int türüne çevirmek için kullanıldı.
Java’daki diğer tür dönüşümlerin bazı örneklerini görelim.
String türünden int türüne dönüştürme
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | class Main { public static void main(String[] args) { // string tipinde değer oluşturma String veri = "10"; System.out.println("String tipindeki değer: " + veri); // string tipini int tipine dönüştürme int sayi = Integer.parseInt(veri); System.out.println("Int tipindeki değer: " + sayi); } } |
Çıktı:
1 2 3 4 | String tipindeki değer: 10 Int tipindeki değer: 10 |
Yukarıdaki örnekte dönüşüm işleminin yapıldığı şu satıra dikkat edelim;
1 2 3 | int sayi = Integer.parseInt(veri); |
Integer
sınıfının statik parseInt
metodu String
türündeki değeri int
türüne çevirmektedir.
Integer türünden String türüne dönüştürme
1 2 3 4 5 6 7 8 9 10 11 12 13 | class Main { public static void main(String[] args) { // int int sayi = 10; System.out.println("int değer : " + sayi); // string türüne dönüşüm String veri = String.valueOf(sayi); System.out.println("String değer: " + veri); } } |
Çıktı:
1 2 3 4 | int değer : 10 String değer: 10 |
Tür dönüşümünün yapıldığı şu satıra dikkat edin;
1 2 3 | String veri = String.valueOf(sayi); |
String
sınıfının statik valueOf
metodu ile int türündeki değeri String türüne dönüştürdük.
Özet
Bu yazıda tip dönüşümünü için bir kaç yöntemi gördünüz. Bunlardan bazıları Integer ve String gibi sınıflar kullanılarak bazıları da açık tür dönüşümü yöntemleri kullanılarak yapıldı.
Yorum Yap