黑马程序员技术交流社区
标题:
这个问题转不过弯来了。。。
[打印本页]
作者:
窦超
时间:
2011-12-18 21:13
标题:
这个问题转不过弯来了。。。
本帖最后由 窦超 于 2011-12-18 21:30 编辑
class OperateDemo1
{
public static void main(String[] args)
{
int x= 3,y;
y = (x>2)?100:200;
System.out.println('y'+y);
}
}
这段代码编译打印之后出来的数字是221,我对照ascii码表验证了好久也没弄明白他是输出了什么。。。太悲催了,转不过弯来了。求解
作者:
余松霖
时间:
2011-12-18 21:24
本帖最后由 余松霖 于 2011-12-18 21:27 编辑
你可以再查下ASCII码表. 字符"y"对应的ASCII码值是121 y=100 "y"+y就是221了.
作者:
应国炎
时间:
2011-12-18 21:27
小y字符对应的数字是121,变量y的值是100。所以121+100=221
作者:
窦超
时间:
2011-12-18 21:30
呵呵。。。解决了。。。谢谢群里的兄弟们。。。是自己太马虎了。。。
作者:
胡遇潮
时间:
2011-12-18 21:35
'y'+y = (int)'y' + y ;
char类型自动提升成了int
字符y对应的asci码是121
int n= (int)'y';
System.out.println(n);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2