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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 人生充满期待 中级黑马   /  2015-5-11 17:29  /  14379 人查看  /  31 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

不都是加1重新赋值么?这两个有什么区别

31 个回复

正序浏览
二楼正解
回复 使用道具 举报
n++可以用来赋值,比如sum=n++;
n+=1则不行
回复 使用道具 举报
一个是变量一个是表达式  最终n的值都是加1
回复 使用道具 举报
a++是先等,后加
a+=1是先加后等
回复 使用道具 举报
n++是一元运算符 n+=1是二元的
回复 使用道具 举报
没有区别
回复 使用道具 举报
学习了,,,,
回复 使用道具 举报
学习学习!
回复 使用道具 举报
~缘~ 中级黑马 2015-5-15 15:21:23
22#
好像理解了
回复 使用道具 举报
Emma 中级黑马 2015-5-15 15:14:05
21#
n++好像只能用在整数?
回复 使用道具 举报
我的理解是:n++的话是个变量,在不参于运算的时候值是会+1的,在参于运算的时候,n的值在参于运算后才自身+1.而n+=1;呢,首先它是个表达式,不区分参不参于运算,因 为它本身就是n=n+1;  新手,理解有限,还望各位批评指教。
回复 使用道具 举报
gamyc 中级黑马 2015-5-14 23:54:09
19#
n++ 可以用成一个变量,(先用做n,再n加1),而 n+=1是一个表达式
回复 使用道具 举报
平常逛逛论坛 能学好多
回复 使用道具 举报
楼上说得对
回复 使用道具 举报
区别大了n++是自增加一,n+=1相当于n=n+1
回复 使用道具 举报
却别很大,n++是先复制在进行运算,这样就会带来很大的问题,这是一个测试代码你看看
        private static int a ;
        private static int n ;
       
        public static void main(String[] args) {
                // TODO Auto-generated method stub
       

                test1();
        }
        private static void test1(){
                //先赋值 ,在计算 ,先将n等于零赋值 在做n++;
                a = n++;
                System.out.println("我的a的值是多少:"+a);
                // 在这里在进行一次计算,仔细看
                System.out.println("--------------------------------------------");
                //先计算 ,在赋值 ,先将++n等于1赋值 ;
            a = ++n;
            System.out.println("最后的结果是:"+a);
        }
       

aq.png (145.24 KB, 下载次数: 68)

aq.png

ba.png (36.76 KB, 下载次数: 68)

ba.png
回复 使用道具 举报
可见 n++ 和n+=1都是可以用来赋值的,只是一个是先赋值一个是后赋值,n+=1应该是和++n用法一样

点评

楼主正解  发表于 2015-5-13 13:03
回复 使用道具 举报
不多说,看图吧

QQ图片20150513125101.png (12.8 KB, 下载次数: 63)

QQ图片20150513125101.png
回复 使用道具 举报
n+=1就等于n=n+1,就是这么简单
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马