您的位置:首页 > 职场人生

关于一个java "++" 语法的面试题的理解

2014-07-25 12:07 363 查看
问题:

    int i=0;j=0;

    i=(i++) + (++j) + (++i) + (i++);

    问:i 等于多少?

看到好多此类的问题帖子,我个人的基础也比较薄弱,所以想找一个比较妥的方法来应对这种面试题;虽然在实际的开发中不会有人这么去写,但是对于理解java基础是很有帮助的。

我是这么分析的:i=(i++) + (++j) + (++i) + (i++);和int f=(i++) + (++j) + (++i) + (i++)是等价的;但是后者更好理解一些;

    int f=(i++) + (++j) + (++i) + (i++);

    f=(i++);//f=0;i=1;

    f=f+(++j);//f=1;j=1;

    f=f+(++i);//f=3;i=2;

    f=f+(i++);//f=5;i=3

因此上面的题目i应该等于5;

这么理解不知道对不对,但是是一定能计算出正确答案的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 面试题