以下例子是已经知道 i++ 和 ++i 的区别,但是面试运算时还会出错 的例子讲解分析。
例子分析:
int i = 1 ;
i = ++i; //2 从上到下运算
int j = i++; // j = 2 别漏了每一条运算中的变量 比如这里还有 i = 3
int k = i + ++i * i++; // 3 + 4 * 4 i = 5 /*重点:由这可得 首先先算每项i的值,
i 的值是从左往右运算(分前+1,和后加1),每一项都试着去sout(输出)一下(比如这里的等号右边有3项),各项i再参加做k 的运算符运算。*/
System.out.println(i); //5
System.out.println(j); //2
System.out.println(k); //19
再举例子
int a = 1;
a = a++; // 输出这里的a = 1
b = a + ++a; // 1 + 2
System.out.println(b); //3
注意:如果
int a = 1;
b = a++ + ++a; //1 + 3 = 4 就是每一项都试着去输出一下(比如这里的等号右边有两项),再参加做b 的运算符运算。
System.out.println(b); //4
输出指脑海中输出。。。。