日期:2014-05-20  浏览次数:20758 次

请教下byte和char的这2个为什么是相等的
byte sxt = 0x02;和char sxt = 0x02


想问下为什么这2个值是想等的..


顺便问下
int i = 97; char c = 'a'; System.out.println(i==c);

这2个值为什么也相等...

------解决方案--------------------
char类型与int类型比较式,char类型自动转成int类型。而char转成int是转成对应的ASCII值,而a对应的ASCII值是97。所以,那两个值相等。
------解决方案--------------------
byte 一个字节,该字节对应的ASCII码,char 一个字符,普通字符占一个字节,可以表示为单引号或者数值(其单引号字符对应的ASCII码)。所以第一个问题,相等。
第二个,见1楼。