黑马程序员技术交流社区
标题:
++a直接输出为何与a++不同?
[打印本页]
作者:
赵新培
时间:
2015-12-14 22:53
标题:
++a直接输出为何与a++不同?
如题,直接System.out.println(++a)与System.out.println(a++)
作者:
MRguo
时间:
2015-12-14 23:14
给你举个例子:你去嫖娼,你嫖了没给钱就走,就是a++;你先给钱后嫖再走就是++a.
作者:
songjianzaina
时间:
2015-12-14 23:19
答案请参阅该贴
http://bbs.itheima.com/forum.php ... p;page=1#pid2029319
作者:
木易延
时间:
2015-12-14 23:40
(++a)打印出来的是(a+1)的值,而(a++)打印出来的是(a)的值
作者:
隔壁老猫
时间:
2015-12-14 23:49
一个是先++再输出, 一个是先输出再++
作者:
意念痴心灬戒贪
时间:
2015-12-14 23:53
输出结构结果是不一样的,输出结果后a的值+1
作者:
星晴。
时间:
2015-12-15 00:17
有些知识点没必要去纠结为什么,记住结果就好,就像1+1为什么等于2
作者:
xingchen5645
时间:
2015-12-15 01:08
class Test1 {
public static void main(String[] args) {
int a = 3;
System.out.println(a++);
System.out.println(++a);
}
}
输出值为:3,5。第一个输出a++,此行值不变,下一行+1,变为4,++a就不用多说了。
作者:
王帅---
时间:
2015-12-15 01:14
因为写的不一样
作者:
洋葱头头
时间:
2015-12-15 12:25
结果是一样的 但是参与到算式上 就不一样了
作者:
Mr.zhao
时间:
2015-12-15 18:08
一楼话糙理不糙,哎
作者:
Zrz_K
时间:
2015-12-15 21:05
a++符号后置的底层原理:
操作时候先提取a的值,后拷贝一个副本,再将a值自增1,并且将副本值返回。
例:int a = 10;
a = a++;
此时a的值仍为10。(先自增后被副本的返回值赋值)
作者:
汐枫wait
时间:
2015-12-15 22:50
++a是先自增1后再打印,,a++是先打印了后在自增
作者:
牧羊人
时间:
2015-12-15 22:54
++在前先产生副作用,然后才取变量值,++在后则是先取变量值,然后才产生副作用。
作者:
赵新培
时间:
2015-12-15 23:08
谢了,已经知道了
作者:
金金金小天
时间:
2015-12-15 23:14
++a 是先进行a+1 运算在进行赋值
a++ 先进行赋值 完了才进行a+1 运算
作者:
秋alin
时间:
2015-12-15 23:35
就是先付费和后付费的问题,++a就是先付费,a++就是先用着在考虑付不付费的问题。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2