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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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

31 个回复

倒序浏览
前者可以在语句里面,后者需要后分号 ;  也就是说,需要单独一行
回复 使用道具 举报
n++是用来赋值并给自己加1,n+=1则只是让n=n+1,不能用来赋值。比如说b=n++
回复 使用道具 举报 1 0
学习了学习了
回复 使用道具 举报
一直觉得应该一样吧,用起来应该是没区别

点评

a+=5, a++做不到  发表于 2015-5-15 22:11
回复 使用道具 举报
二楼清晰,透彻。。。。。。。。赞个
回复 使用道具 举报
一个可以赋值给其他变量,一个不可以,学习了
回复 使用道具 举报
...无语了  你们这样真的好吗?
拿个程序随便搞一搞就好了啊。。
总体来说都是n+1,
对赋值来说 假设n=3在弄个整型变量a
a=n++;打印出来的a就是3
而a=n+=1打印出来就是4
回复 使用道具 举报
n++是个变量,n+=1是个表达式。
回复 使用道具 举报
这个应该看情况的吧
回复 使用道具 举报
你是不是要问n++和++n的区别。例如n++是先赋值后计算:p=n++,n=1,p=0,运算一次后结果为p=1,n=2;
++n是先运算后赋值:p=++n,n=1,p=0,运算一次后结果为p=2,n=2;
回复 使用道具 举报
n+=1就等于n=n+1,就是这么简单
回复 使用道具 举报
不多说,看图吧

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

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

点评

楼主正解  发表于 2015-5-13 13:03
回复 使用道具 举报
却别很大,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, 下载次数: 71)

ba.png
回复 使用道具 举报
区别大了n++是自增加一,n+=1相当于n=n+1
回复 使用道具 举报
楼上说得对
回复 使用道具 举报
平常逛逛论坛 能学好多
回复 使用道具 举报
gamyc 中级黑马 2015-5-14 23:54:09
19#
n++ 可以用成一个变量,(先用做n,再n加1),而 n+=1是一个表达式
回复 使用道具 举报
我的理解是:n++的话是个变量,在不参于运算的时候值是会+1的,在参于运算的时候,n的值在参于运算后才自身+1.而n+=1;呢,首先它是个表达式,不区分参不参于运算,因 为它本身就是n=n+1;  新手,理解有限,还望各位批评指教。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马