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

我是一个女生,刚学习JAVA.就不懂数据类型转换了.
byte   b;
int   i   =   266;
b   =(byte)   i;
System.out.println(b);
不懂结果怎么算?谁能详细告诉我.

------解决方案--------------------
楼妇应该学习的是张效详的 java培训教程吧。第33页的例题
这里266=256+10,他的二进制是 0000 0000 0000 0000 0000 0001 0000 0101
10在低位字节里面,因为int是4个字节的,byte是1个字节的,所以强制转换的时候就变成
0000 0101了所以结果就是0101,再转换成10进制后就是10

我也在学习,不过我发现张孝详有很多地方讲的不是很仔细
比如51页下面的那个地方他写其中的原因难以明白,其实很好明白