Java基础之i++和++i
i++
- 先赋值再运算
- 设置一个临时存储变量 temp (需要在内存中多分配一块内存,结束操作后再释放内存) 存储 i 的值,再对 i 执行+1的操作
int res = i ++ ; res = i ; 再运算 i = i + 1; res = 1 ;
- 等价于
int temp = i ; i = temp + 1;
++i
-
先运算再赋值
-
不需要设置一个临时存储变量 temp 来存储 i 的值,再对 i 执行+1的操作
-
等价于
int res = ++ i ; 先运算 i = i + 1; 再赋值 res = i ;res = 2 ;
for循环中的使用
- 作用一样
- 效率不一样,
++i 效率更高
代码示例
public static void main(String[] args) {
int i=1,a;
a=++i;
System.out.println("a=++i-->"+a);
int j=1,b=0;
b=j++;
System.out.println("b=j++-->"+b);
}
//运行结果
a=++i-->2
b=j++-->1