"Ve şimdi en ilginç kısma gelelim. Size tip dönüştürmelerden bahsedeceğim. Değişkenler türlerini değiştiremezler ama türleri dönüştürebileceğiniz bir yer var. Orası bir atama işlemidir . "

"Birbirinize farklı türde değişkenler atayabilirsiniz. Bunu yaparken, (belirli bir türdeki) bir değişkenin değeri, diğer türdeki bir değere dönüştürülür ve diğer değişkene atanır. "

"İki tür dönüştürmeye işaret edebiliriz: ilkel dönüştürmeleri genişletmek ve ilkel dönüştürmeleri daraltmak. Genişletme , şeyleri küçük bir sepetten büyük bir sepete taşımak gibidir. ve daha küçük bir yere koymak.Bunu yaptığınızda yeterli alanınız olmayabilir, bir şeyleri atmak zorunda kalabilirsiniz. "

"'Sepet' boyutlarına göre sıralanan türler şunlardır:"

Tip dönüştürme

"Sadece birkaç yorum:

1. char 'ın sepeti, short'unkiyle aynı boyuttadır, ancak nesneleri birinden diğerine serbestçe hareket ettiremezsiniz. Değerleri short'tan char'a taşıdığınızda , 0'dan küçük değerler her zaman kaybolur. Değerleri karakterden kısaya taşıdığınızda, 32.000'den büyük değerler kaybolacaktır.

2. Tamsayıları kesirli sayılara dönüştürdüğünüzde, sayının en önemsiz basamakları atılabilir. Ancak, kesirli bir sayının amacı yaklaşık bir değer depolamak olduğundan bu kabul edilebilir."

" Daraltma dönüştürmeleri gerçekleştirirken, derleyiciye bir hata yapmadığımızı açıkça söylemeliyiz: sayının bir kısmını bilerek atıyoruz. Bunu yapmak için bir atama işleci ( yani tür adını parantez içinde ) kullanıyoruz ."

"Farklı türlerdeki değişkenleri şu şekilde atamalısınız:"

java kodu Tanım
byte a = 115;
int b = a;
Genişleyen ilkel dönüştürme. Her şey yolunda.
int c = 10000;
byte d = (byte) c;
Daralan ilkel dönüştürme . Fazla baytların atılması gerektiğini açıkça belirtmeliyiz.
int c = 10;
byte d = (byte) c;
Daralan ilkel dönüştürme. 0'a eşit olsalar bile fazladan baytların atılması gerektiğini açıkça belirtmeliyiz.
float f = 10000;
long l = (long) (f * f);
float f2 = l;
long l2 = (long) f2;
Bir kayan noktaya atama yapılırken, genişleyen bir ilkel dönüştürme gerçekleşir. Uzun bir kayan nokta atarken, daralan bir ilkel dönüşüm gerçekleşir. Bir döküm operatörü gereklidir.
double d = 1;
float f = (float) d;
long l = (long) f;
int i = (int) l;
short s = (short) i;
byte b = (byte) s;
İlk satır hariç tüm atama işlemlerinde daraltma dönüştürmeleri. Bu dönüştürmeler, tür dönüştürmeyi açıkça belirtmemizi gerektirir.
3
Görev
Java Syntax,  seviyeders
Kilitli
Code entry
Sometimes you don't need to think, you just need to hammer it out! As paradoxical as it may seem, sometimes your fingers will "remember" better than your conscious mind. That's why while training at the secret CodeGym center you will sometimes encounter tasks that require you to enter code. By entering code, you get used to the syntax and earn a little dark matter. What's more, you combat laziness.

" Bir sayının/değişkenin önüne, sayının herhangi bir bölümünün atılacağı veya daraltıcı bir ilkel dönüşüm gerçekleştiğinde bir atama işleci konulmalıdır. Atma işleci yalnızca onu doğrudan takip eden sayıyı/değişkeni etkiler. "

java kodu Tanım
float f = 10000;
long l = (long) f * f;
İki değişkenden yalnızca biri bir uzuna dönüştürülür: bir uzun ve bir kayan noktanın çarpımı bir kayan noktaya eşittir.
float f = 10000;
long l = (long) (f * f);
Tüm ifade bir uzuna dönüştürülür.

"Anlıyorum."