小北自学编程教你快速的理解java中的a++与++a的区别
什么是a++(a–)
变量a先进行运算后再自身加1;同理变量a先进行运算后再自身-1。
什么是++a(–a)
a先自身加1后再进行运算;同理变量a先自身减1后再进行运算。
话不多说,直接给代码
package com.unit4.test;
public class Test5 {
public static void main(String[] args) {
//自增自减运算理解
int a=1;
System.out.println(a);//此是a的值是1.
int b=++a;
System.out.println(a);//此时a自身加1,即a=a+1=2,注意这一步的a是上一步已经赋予的初始值;
System.out.println(b);//将现在的a=2赋值给b,所以b等于2.
int c=a++;
System.out.println(a);//上一步的a=2,在此基础上将a赋值给c,此时a要增加1,所以a=3.
System.out.println(c);//c=2。
int z=a+b;
System.out.println(a);//这里的a便是上一步自增后的a,此时a=3.
System.out.println(b);//这里的b没有变化,所以b=2.
System.out.println(z);//a=3,b=2,所以z=5.
}
}
答案:
小结
这里只给出了a++和++a的理解,因为a–和--a的理解一致,所以不再赘述。我们会发现在以上代码中,代码的运行是按由上自下的顺序执行的,所以会发现a从一开始赋的初始值1变成了最后的新值3,是一个累加的过程。.
在上一段代码中补充下面代码以作思考:
int q ;
q=a++;
int y=c+q;
int z=c+a;
System.out.println(q);
System.out.println(a);
System.out.println(c);
System.out.println(y);
System.out.println(z);
请问现在的q、a、c、y、z的值是多少?
答案: