自增自减运算符
i++ 跟++i 的区别
int i = 20
int i2 = i++
那么也就是说i2 =20,之后在++,也就是i=i+1;所以i=21 ,i2=20
i++:先给i2赋值,之后在自增 。(i2=20,i=21)
public class day01 {
public static void main(String[] args) {
int i = 20;
System.out.println(i);//20
//i=20没有问题
int i2 = i++;
System.out.println(i2);//20
//i2=i++,i2=20 i=i+1; 要先赋值给i2 然后再++ 也就是+1 得i=21
System.out.println(i);//21
System.out.println(i2);//20
}
}
int a = 20
int b = ++i
++i:先自增,之后在赋值给b。(b=21,a=21)
int a =10;
System.out.println(a);//10
//a=10是没有问题的
int b =++a;
System.out.println(b);//11
//b=1+a;先a+1也就是说先自增,在给b赋值
System.out.println(a);//11
System.out.println(b);//11
i-- 跟--i 的区别
int i = 20
int i2 = i--
那么也就是说i2 =20,之后在++,也就是i=i-1;所以i=19 ,i2=20
i--:先给i2赋值,之后在自增 。(i2=20,i=19)
int i = 20;
System.out.println(i);//20
//i=20,在这里是没有问题的
int i2 = i--;
System.out.println(i2);//20
//i2 在这里是先把i=20,赋值给i2,之后在进行--操作的。 得出i之前等于20,由于先赋值给i2 所以i2就等20.
//得出i=i-1;得19,所以i=19
System.out.println(i);//19
System.out.println(i2);//20
int a = 20;
int b =--a;
--a:先自减,之后在赋值给b。(b=19,a=19)
//--i的逻辑,在这里我把i换成了a,防止记混。
int a = 20;
System.out.println(a);//20
//a=20,在这里是没有问题的
int b = --a;
System.out.println(b);//19
//同++i的道理一样,这边也是先自减,之后在赋值,所以a=a-1得19,之后在赋值给b,b=19
//此时a是把值赋给的b得19,那么a也是19
System.out.println(a);//19
System.out.println(b);//19
总结代码+逻辑
package JiChuLianXi;
public class day01 {
public static void main(String[] args) {
//i++ 跟 ++i 的区别
//i++的思路代码
/**
* int i = 20;
* System.out.println(i);//20
* //i=20没有问题
*
*
* int i2 = i++;
* System.out.println(i2);//20
* //i2=i++,i2=20 i=i+1; 要先i赋值给i2 然后再++ 也就是+1 得i=21
*
*
* System.out.println(i);//21
* System.out.println(i2);//20
* */
//++i的思路 在这里我把i换成了a,防止记混。
/**
* int a =10;
* System.out.println(a);//10
* //a=10是没有问题的
*
* int b =++a;
* System.out.println(b);//11
* //b=1+a;先a+1也就是说先自增,在给b赋值
*
*
* System.out.println(a);//11
* System.out.println(b);//11
* */
//i--跟--i的区别
//i--的逻辑
/**
* int i = 20;
* System.out.println(i);//20
* //i=20,在这里是没有问题的
*
* int i2 = i--;
* System.out.println(i2);//20
* //i2 在这里是先把i=20,赋值给i2,之后在进行--操作的。 得出i之前等于20,由于先赋值给i2 所以i2就等20.
* //得出i=i-1;得19,所以i=19
*
*
* System.out.println(i);//19
* System.out.println(i2);//20
*
* */
//--i的逻辑,在这里我把i换成了a,防止记混。
int a = 20;
System.out.println(a);//20
//a=20,在这里是没有问题的
int b = --a;
System.out.println(b);//19
//同++i的道理一样,这边也是先自减,之后在赋值,所以a=a-1得19,之后在赋值给b,b=19
//此时a是把值赋给的b得19,那么a也是19
System.out.println(a);//19
System.out.println(b);//19
}
}

浙公网安备 33010602011771号