search
Giriş
Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
3.5k gösterim
Type casting nedir?
Type conversion nedir?
Bu ikisinin arasındaki fark nedir?
Genel Kavramlar kategorisinde 6.2k puan
yeniden etikenlendirildi

1 cevap

0 oy
Basit anlamda;

Type Casting: Bir tipin doğal olarak uyumlu olduğu diğer bir tip olarak kullanımı. Örneğin, float bir sayıdır, int de sayıdır. Double da sayıdır.  Elimizdeki bir int değişkeni/değeri float ya da double olarak kullanabilmemize casting diyoruz. Peki float değeri int olarak alabilir miyiz? Cevap evet. Yalnızca bir küçük "fakat" koşulu var. float kesirli bir sayı olduğundan 17,1 değeri varsa int kullanımda 0,1 değerini kaybediyoruz. Bu 0,1 direk kesiliyor. Aşağı ya da yukarı yuvarlamak için ceil, round gibi komutlar kullanılabilir. Casting kullanabileceğimiz diğer bir alan ise inheritance. Upcasting ve downcasting yapabiliriz. Upcasting ve downcasting için başka bir sorumuz zaten vardı onun linkinden bakabilirsiniz.

http://hasscript.com/38/upcasting-ve-downcasting-nedir

Type conversion: Programlamaya aşina arkadaşlar zaten string ile int farkını biliyordur.Ama bilmeyenler için küçük bir bilgi geçeyim. Elimizde değeri 50 olan iki değişken olsun birisi string birisi integer. Farkları nedir?

int i = 50;
String s = "50";

Farkları şudur. Int 50 dediğimiz değer sayı olarak 50 dir yani i + 5 dersek sonuç 55 çıkar. Matematiksel olarak normal.
String 50 dediğimiz değer ise 5 ve 0 harflerinin yanyana gelmiş halidir. Yani 50 değeri için iki karakter vardır. s + 5 dediğimiz zaman sonuç 55 değil 505 çıkacaktır. Keza 5, 0 değerlerinin yanına bir tane daha 5 geldi. Burdan anlayacağımız matematiksel işlemler için string 50 kullanamayacağız. Aynı şekilde metin işlemleri için de int 50 kullanamayız. Bunları birbirine cast etmek istersek bunların birbiri yerine kullanılamayacağına dair bir hata mesajı alırız.Bu yüzden bu değerleri birbirine dönüştürmemiz gerekir. Yani type conversion. Java için Integer.parseInt("50") dediğimiz zaman bize int bir değer dönderir bu da matematiksel olarak 50 olacaktır.

Kısaca, birbiri yerine kullanılabilen değişkenleri/değerleri kullanabilmek için yaptığımız işlem casting. Birbirinin yerine direk olarak kullanılamayan değerleri kullanılabilir hale getirdiğimiz işleme ise conversion diyoruz. Dikkat edilecek sorun "55a" yazan değer bir sayı değildir, bunu conversion işleminden geçirirsek yine hata alacağız.

İyi çalışmalar.
6.2k puan

İlgili sorular

0 oy
1 cevap 417 gösterim
417 gösterim
Bu döngülerin ne farkı vardır neden kullanmam gerekir?
27 Ekim 2016 Genel Kavramlar kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 1.4K gösterim
1.4K gösterim
Selamlar, Mysql veri tabanını zaten kullanıyorum. Mongo ile mysql arasındaki fark nedir?
22 Kasım 2016 Veri Tabanı kategorisinde commandito 110 puan sordu
0 oy
1 cevap 791 gösterim
791 gösterim
Dynamic ve static olarak
3 Kasım 2019 Genel Kavramlar kategorisinde begum22 116 puan sordu
0 oy
1 cevap 785 gösterim
785 gösterim
Programlamaya yeni başlayan arkadaşlardan bazen böyle bir soru geliyor. Özellikle konu anlaşılması için bir soru-cevap yazmak mantıklı geldi. Sorumuz, if döngüsü ile for döngüsünün ne farkı vardır?
26 Ekim 2016 Genel Kavramlar kategorisinde kenan 6.2k puan sordu
0 oy
1 cevap 1.4K gösterim
1.4K gösterim
Elimde bir yazılım projesi var, java ile geliştirilmiş. Bu projeyi VCS kullanarak arkadaşlarımla paylaşmak istiyorum. Repo ve proje diye iki tane kavram var. Konuya henüz yeni giren birisi olarak repo ve proje kavramlarının arasındaki fark nedir?
16 Aralık 2020 Genel Kavramlar kategorisinde kenan 6.2k puan sordu