黑马程序员技术交流社区
标题:
数值输出 不解
[打印本页]
作者:
cehkongfu
时间:
2012-10-8 12:32
标题:
数值输出 不解
public class Test
{
public static void main(String args[])
{
int n=11;
System.out.println(n-10+' ');
System.out.println(n-10+'A');
}
输出结果为什么分别是33,66
作者:
y510662669
时间:
2012-10-8 12:42
这个你看一下ascii码表就知道了,单引号内空格的值是32.所以第一个输出是33,第二个A的值是65,所以会输出66.
作者:
曾浩
时间:
2012-10-8 12:43
System.out.println('A') 输出的结果是65
System.out.println(n-10+'A'); 括号里面其实就是n-10+65
这其实就是ASCII 值的问题 当出现 n-10+'A' 时 'A'就自动换成 其ASCII 值进行计算了
而' ' 的ASCII 值就是32
作者:
葬天
时间:
2012-10-8 12:52
运算时有个 类型提升过程 n-10 为int型 ' '为char型
所有提升为int型 而 ' '的ASCII 值为32 'A'的ASCII 值为65
因此得出此结果
作者:
李兆宁
时间:
2012-10-8 13:04
这个就是类型转换问题了,不同类型在一起运算 byte short char转成int,具体数值就是按ASC码表了。。
作者:
陈俊来
时间:
2012-10-8 16:15
ascii码
中
'
'的值是32
'
A
'的值是65,
所以输出结果分别是33,66
作者:
徐传任
时间:
2012-10-9 00:16
看看..........顶
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2