【新手提问】高手来帮我看看,好简单好奇怪的代码!!!

coolhty 2008-01-08 12:48:50
[code=Java]
public class Demo {
public Demo() {
}
public static void main(String[] args){
char c='a';
int i=c;//这个怎么变成98了????
float f=i++;
byte b=(byte)(f+1);
System.out.println (c+","+i+","+f+","+b);
}
}[code]

输出的结果为什么是:a,98,97.0,98
i为什么变成了98啊???
i++不是在i初始化的后面吗???

疑问..谢谢高手指教..
...全文
84 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
restartrr 2008-01-08
  • 打赏
  • 举报
回复
上面我写误了
ASCII码 'a' ---> 97
coolhty 2008-01-08
  • 打赏
  • 举报
回复
晕..我看晕了..终于明白为什么了..
呵呵.i++赋给f的时候也自加了一下...呵呵..没注意.
谢谢...
restartrr 2008-01-08
  • 打赏
  • 举报
回复
c是char 打印 a
小写'a'转int,查看ASCII码,--->98
打印i 是在 i++之后,赋值给f是在i++之前,所以打印的时候,f 97.0 i为98

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧