黑马程序员技术交流社区
标题:
关于字符数组强制转换
[打印本页]
作者:
blackstones1
时间:
2014-7-2 21:51
标题:
关于字符数组强制转换
class aaa
{
public static void main(String[] args)
{
char[] str1 = {'0','1'};
str1[1] = (char)2;
char[] str2 = {'0','1'};
str2[1] = (char)(2+'0');
System.out.println(str1[1]);
System.out.println(str2[1]);
}
}
打印结果如下 求指点
QQ截图20140702214851.png
(727 Bytes, 下载次数: 25)
下载附件
2014-7-2 21:50 上传
作者:
钱途mo路
时间:
2014-7-2 22:04
不知楼主是哪里不明白?作这道题,你首先要知道数据类型取值范围以及强制类型转换之间的关系, str1[1] = (char)2;这一句实现的是把整型2转换为对应的字符型,也就是对应的assic码值为2的符号赋值给数组的第二个数,刚好2对应的字符为笑脸;str2[1] = (char)(2+'0');这句就是先运算后进行强制转换,"0"字符先自动转换为整型,对应的assic码值为48,48+2等于50,然后将50转化为字符型,就是得到50对应的字符型,为2,这就得出了结果!
作者:
blackstones1
时间:
2014-7-3 10:43
是这样啊 谢谢了{:3_57:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2