标题:小弟有一题不解?
只看楼主
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
得分:0 
以下是引用limaoyuan在2007-2-7 17:57:43的发言:

那是因为I的值在i++后输出的 才是98
public class dd
{


public static void main(String [] aa)
{
char c='a';
System.out.println((int)c);
int i=c;
System.out.println(i); // 这里为什么i=98?? 如果写成System.out.println((int)c);这样打出的是97.............等高人来指点一下
float f=i++;
byte b=(byte)(f+1);

System.out.print(c+","+i+","+f+","+b);

}
}
你这样在输出一下 应该就知道了


羊肉串 葡萄干 哈密瓜!!
2007-02-07 18:28
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
得分:0 
哎..知道了....

我在说's blog   http://www..cn
2007-02-07 18:35
yeyao2
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-2-9
得分:0 
“=”在java里不是赋值,是赋地址的,就是c根i两个变量指向相同。
2007-02-09 15:48
chufanggang
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-1-23
得分:0 

看来高手还是有的 我看懂了大家的评论
是的
i++ 和 ++i 是两种不同的效果 i++是先副值 后加加 而++i是先加加后赋值
所以大家分析的很对

2007-04-05 10:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-119975-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.472476 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved