for循环中i++ 和 ++i的区别
for 循环中的i++ 和 ++i有什么区别?下面我就以下面这个简单的代码为例来说说吧!
public class For{
public static void main(String[] args){
for(int i = 0;i < 10; i++){
System.out.println(i);
}
System.out.println("-------------------- ");
for(int i = 0;i < 10; ++i){
System.out.println(i);
}
System.out.println("================== ");
}
}
但从输出结果都一样,但实际上,i++ 和++i是有区别的!只是这样的区别我们暂时无法观察。当然试用调试可以观察变量是在变化的!
简单点说,++i与i++的区别是:
++i是先执行 i=i+1在使用i的值
而i++是先使用i的值再执行i=i+1。
例如:i的原值是5,则
对于 j=++i,j的值为6;
对于 j=i++,j的值为5,然后j的值变为6。
在for循环中是一样的,但很多地方是不一样的,比如:
int j;
int m;
j=++i;
m=i++;
这时m与j的值是不一样的
++把它的值自增1,--把它的值自减1。这两个运算符既可以出现在操作数之前(前缀),也可以出现在操作数之后(后缀)。前缀++i是先自增1然后将其赋值(自增在前赋值在后;若i=5 ++i i即为6),后缀i++是先赋值再进行自增1运算(赋值在前,自增在后;若i=5 i++ i即为5,然后i为6),--亦然。