Java Puzzle 06 – Multicast

Merhaba arkadaslar ,

Ornek kodumuzu inceleyelim ;

Multicast.java

package _06.multicast;

public class Multicast {
	public static void main(String[] args) {
		System.out.println((int) (char) (byte) -1);
	}
}

Ornegimizi calistirdigimizda ;

65535

Kodu inceledigimizde -1 (bir) literali int tipindedir. -1 ‘i byte tipine cast ediyoruz , sonra char sonra da int tipine cast ediyoruz.
int tipi 32 bit’tir , byte tipi 8 bittir. Bununla birlikte -1 degeri byte siniri icerisindedir dolayisiyla bu casting islemi problem teskil etmez.
char veri tipi 16 bit unsigned’tir , unsigned isaretsiz demektir bunun anlami char veritipi negatif deger alamaz.
char veri tipi icin alabilecegi degerler [0 , 2^16-1 yani 65535]
-1 degeri , char veri tipi sinifi disindadir ,

-1 -> 65535
-2 -> 65534
-3 -> 65533

seklinde cast edilir. Sonrasinda int tipine casting yapilir/widening burada char tipinden int tipine casting yapilir , bu durum herhangi bir problem teskil etmez.

Yazimi burada sonlandiriyorum.
Herkese bol Javali gunler dilerim.
Be an oracle man , import java.*;
Levent Erguder
OCP, Java SE 6 Programmer
OCE, Java EE 6 Web Component Developer

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *