黑马程序员技术交流社区

标题: n++和n+=1有区别么? [打印本页]

作者: 人生充满期待    时间: 2015-5-11 17:29
标题: n++和n+=1有区别么?
不都是加1重新赋值么?这两个有什么区别
作者: Rdxer    时间: 2015-5-11 17:55
前者可以在语句里面,后者需要后分号 ;  也就是说,需要单独一行
作者: liu01230    时间: 2015-5-11 20:08
n++是用来赋值并给自己加1,n+=1则只是让n=n+1,不能用来赋值。比如说b=n++
作者: 我是小菜蛋    时间: 2015-5-11 20:10
学习了学习了

作者: wx_BZhrvVik    时间: 2015-5-11 22:14
一直觉得应该一样吧,用起来应该是没区别
作者: shao    时间: 2015-5-11 22:38
二楼清晰,透彻。。。。。。。。赞个
作者: ios专用    时间: 2015-5-11 23:10
一个可以赋值给其他变量,一个不可以,学习了
作者: 天之饺子    时间: 2015-5-11 23:24
...无语了  你们这样真的好吗?
拿个程序随便搞一搞就好了啊。。
总体来说都是n+1,
对赋值来说 假设n=3在弄个整型变量a
a=n++;打印出来的a就是3
而a=n+=1打印出来就是4

作者: 50mmf1.0    时间: 2015-5-12 03:55
n++是个变量,n+=1是个表达式。
作者: welfarezhang    时间: 2015-5-12 09:05
这个应该看情况的吧
作者: 天是蓝色的    时间: 2015-5-13 09:04
你是不是要问n++和++n的区别。例如n++是先赋值后计算:p=n++,n=1,p=0,运算一次后结果为p=1,n=2;
++n是先运算后赋值:p=++n,n=1,p=0,运算一次后结果为p=2,n=2;
作者: 15578797612    时间: 2015-5-13 11:31
n+=1就等于n=n+1,就是这么简单
作者: MadPawn    时间: 2015-5-13 12:51
不多说,看图吧

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

QQ图片20150513125101.png

作者: MadPawn    时间: 2015-5-13 12:54
可见 n++ 和n+=1都是可以用来赋值的,只是一个是先赋值一个是后赋值,n+=1应该是和++n用法一样
作者: guoqiangmailbox    时间: 2015-5-13 14:48
却别很大,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, 下载次数: 124)

aq.png

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

ba.png

作者: 彭越    时间: 2015-5-13 16:13
区别大了n++是自增加一,n+=1相当于n=n+1
作者: 我叫顺子    时间: 2015-5-13 16:47
楼上说得对
作者: 李闯    时间: 2015-5-13 16:54
平常逛逛论坛 能学好多
作者: gamyc    时间: 2015-5-14 23:54
n++ 可以用成一个变量,(先用做n,再n加1),而 n+=1是一个表达式
作者: 王二小。    时间: 2015-5-15 10:06
我的理解是:n++的话是个变量,在不参于运算的时候值是会+1的,在参于运算的时候,n的值在参于运算后才自身+1.而n+=1;呢,首先它是个表达式,不区分参不参于运算,因 为它本身就是n=n+1;  新手,理解有限,还望各位批评指教。
作者: Emma    时间: 2015-5-15 15:14
n++好像只能用在整数?
作者: ~缘~    时间: 2015-5-15 15:21
好像理解了
作者: 挑战    时间: 2015-5-15 19:50
学习了,,,,
作者: xiongmaoren518    时间: 2015-5-15 19:55
没有区别
作者: cui0wei0    时间: 2015-5-15 21:30
n++是一元运算符 n+=1是二元的
作者: wangvsv    时间: 2015-5-16 02:08
a++是先等,后加
a+=1是先加后等
作者: wr6524798    时间: 2015-5-16 22:15
一个是变量一个是表达式  最终n的值都是加1
作者: lyricdon    时间: 2015-5-16 22:44
n++可以用来赋值,比如sum=n++;
n+=1则不行
作者: wangguanyang    时间: 2015-5-18 07:41
二楼正解




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2