黑马程序员技术交流社区

标题: 关于IO流中FileReader [打印本页]

作者: xufei5789651    时间: 2015-4-11 10:27
标题: 关于IO流中FileReader



  1. FileReader fr = new FileReader("tempfile\\u8cn.txt");
  2.                 int ch = (char)fr.read();//这里int 能直接接受char??????
  3.                 System.out.println((char)ch);
复制代码





作者: 机智的黄图哥    时间: 2015-4-11 10:33
那不是能接受char   是你在赋值之前给强转成char了
作者: 小栀子    时间: 2015-4-11 11:32
可以通过编译但不能运行,你可以试试,因为语法并没有错。
作者: xufei5789651    时间: 2015-4-11 16:33
小栀子 发表于 2015-4-11 11:32
可以通过编译但不能运行,你可以试试,因为语法并没有错。

可以运行成功,int和char可以自由转换,但是还是谢谢啦
作者: xufei5789651    时间: 2015-4-11 16:35
机智的黄图哥 发表于 2015-4-11 10:33
那不是能接受char   是你在赋值之前给强转成char了

可以运行成功,int和char可以自由转换,但是还是谢谢啦
作者: 小栀子    时间: 2015-4-11 23:47
xufei5789651 发表于 2015-4-11 16:35
可以运行成功,int和char可以自由转换,但是还是谢谢啦

恩,当时没考虑清楚,其实char字符在计算机中是以ASCII码存储的,是0-255之间的数。所以你得到的int是字符的ASCII码。你可以试试看这样的代码。char a = 65;system.out.print(a)。你会明白的
作者: xufei5789651    时间: 2015-4-12 08:35
小栀子 发表于 2015-4-11 23:47
恩,当时没考虑清楚,其实char字符在计算机中是以ASCII码存储的,是0-255之间的数。所以你得到的int是字 ...

恩恩,确实是




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2