后缀自增法(a++): 先进行表达式运算,再进行自增运算。
前缀自增法(++a): 先进行自增运算,再进行表达式运算。
举例1如下:
public class Operation {
public static void main(String[] args) {
int a = 5;
/**
* int b 相当于:5 + 6 + 7 = 18
* 执行完a++[运算]后a进行自增,不是执行完此条完整语句后a才自增,而且在同一条语句中a++以后的a都是自增以后的值 */
*/
int b = a++ + a++ + a;
// a经过两次自增,所以它的值是7
System.out.println("a=" + a);
System.out.println("b=" + b);
}}
举例2如下:
public class Operation {
public static void main(String[] args) {
int a = 5;
/**
* int b 相当于:6 + 7 + 7 = 20
* 执行++a[运算]时a先进行自增.而且在同一条语句中++a以后的a都是自增以后的值
*/
int b = ++a + ++a + a;
// a经过两次自增,所以它的值是7
System.out.println("a=" + a);
System.out.println("b=" + b);
}
}
结合程序来看一下
int i = 0;
System.out.println(+i+","); //这里一个+号是连接i的意思,输出0,
System.out.println(++i+",");//这里的两个++i是把i先++,之后再连接, 输出1,
System.out.println(","++i); //这里字符串,在前,这样JVM就会把后面的也当成字符串,报错