java中1++与++1有什么区别
答案:4 悬赏:10 手机版
解决时间 2021-12-31 17:47
- 提问者网友:wodetian
- 2021-12-31 13:59
java中1++与++1有什么区别
最佳答案
- 五星知识达人网友:夜风逐马
- 2021-12-31 15:33
都是 自加语句,执行后 i值自加1
++i 在执行运算时 i值先自加1,椅子加后的值进行运算
i++ 在执行运算时,先进行运算,运算完后 i值加1
例:
i=1;
System.out.println(i++); 输出的是 1
System.out.println(++i); 输出的是 2
++i 在执行运算时 i值先自加1,椅子加后的值进行运算
i++ 在执行运算时,先进行运算,运算完后 i值加1
例:
i=1;
System.out.println(i++); 输出的是 1
System.out.println(++i); 输出的是 2
全部回答
- 1楼网友:不如潦草
- 2021-12-31 17:57
一个是先取值使用,再加1(i++)
另一个是先加1,再取值使用(++i).
大概意思,不是很准确的描述。
- 2楼网友:深街酒徒
- 2021-12-31 16:26
当a是int 类型时a=a+1 和a+=1 就这两个是没有区别的。当a是double就有区别了。
还有+=的执行效率会稍微高一点,结果一样。
区别的举例如下:
a+=b --> a=(a.type)(a+b);//返回的是a类型
a=a+b --> a=a+b;//返回类型是a类型与b类型中的最高类型
- 3楼网友:雾月
- 2021-12-31 16:12
你想问的应该是i++与++i有什么区别吧,否则的话1++与++1根本没区别
如果i++与++i是单独地语句,比如i++;,那么i++与++i没有区别,都是i的值加1
如果i++与++i是放在表达式中,比如i = i ++; 。
i = i ++; 的执行顺序是(设i的初值为0)
1.将=右边int i = 0的值赋给左边的i--->i = 0
2.右边的i执行自加,但并没有把1值赋给左边的i(也就是说实际中虽然i的值为1,但并没有赋给内存中的i。
3.如果你将i = i ++; 改成i = ++i; 就是1
总之,在表达式中,++i 是i先加上1 ,后再赋值
i++是先赋值,i的值再加1
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯