A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 执笔梦 金牌黑马   /  2013-11-28 16:19  /  904 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 执笔梦 于 2013-11-29 10:07 编辑

        void chang(final int c)//为什么在这个方法不可改变。
        {
                i++;
        }
        int chang2(final int d)//在这个方法却可改变。。
        {
                return i+1;
        }
这其中的原因还是不明白。

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

6 个回复

倒序浏览
o,我没说清楚,我说的是数据: i;
回复 使用道具 举报
两种表达式是不一样的 void chang(final int c)//为什么在这个方法不可改变。
        {
                i++;      //当然不会改变,因为 i 是先赋值,然后在自加的        }
        int chang2(final int d)//在这个方法却可改变。。
        {
                return i+1;    //return返回的是i+1的值        }

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
首先楼主的代码有问题:
1.两个方法中的i都没有数据类型
2.两个方法中的i都没有初值
然后就是
两个方法被final修饰的变量是c和d,被final修饰的变量是不能再改变的,这是肯定的,c和d不能再被操作
而i并未被final修饰,i还是普通变量,可以对其进行操作

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
楼主先得明白前++和后++的区别,i++是先使用i的值然后自加,++i是先自加然后再使用
回复 使用道具 举报
你的程序不对啊,变量都没声明。而且final是不能够修饰变量的。被final修饰的是不能够在改变的。
回复 使用道具 举报
楼主,你是对final疑惑,还是对i++和i+1不明白啊
如果是对i++和i+1不明白的话,为什么把标题写成final问题啊
i++:++ 一元运算符,自增,用法是先使用i的值,然后再让i的值加1
return i+1:返回的是i+1的结果
回复 使用道具 举报 2 0
您需要登录后才可以回帖 登录 | 加入黑马