黑马程序员技术交流社区
标题:
大家帮忙看一下这个强转
[打印本页]
作者:
刚刚...
时间:
2014-10-11 09:57
标题:
大家帮忙看一下这个强转
class Test1
{
static int x;
public static void main(String [] args)
{
System.out.println("Please enter :");
try{ x=System.in.read();}
catch(Exception e) {System.out.println(e.getMessage());}
while(x!='w')
{
System.out.println((char)x);//这里为什么x要用强制转化?
try{ x=System.in.read();}
catch(Exception e)//会抛出异常{System.out.println(e.getMessage());}
}
}
}
这里为什么要用强制转换,不转打印出什么??System.in.read()到底是怎么用的?
作者:
weitz
时间:
2014-10-11 10:08
System.in.read() 从键盘读取一个字符
x=System.in.read(); 将一个字符赋给一个int,
如果不强转打印的是字符的ASCALL码
作者:
面具猴
时间:
2014-10-11 10:26
强制转换是为了把0~128内的int型数值转换为对应的ASCII码字符,如果不转输出的的就是int型数值,例如,键盘输入‘f’,如果不转输出的是数值102,转之后就是输出f.
System.in.read()从键盘读取到一个字符的输入,读取的值返回,如果接收返回值的变量是int型赋给他的是int型ASCII码值,如果接受的是char型就是键盘输入的字符
作者:
刚刚...
时间:
2014-10-11 10:29
面具猴 发表于 2014-10-11 10:26
强制转换是为了把0~128内的int型数值转换为对应的ASCII码字符,如果不转输出的的就是int型数值,例如,键盘 ...
大概了解了,刚做了下测试都打印了下,看了下码表!才搞明白码表是啥!! 谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2