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),--亦然。

标签: none

添加新评论