java基础

来源:互联网 发布:淘宝手机店 编辑:程序博客网 时间:2024/06/15 10:46

一、i++和++i的区别

我们来举个简单的例子来区分这二者之间的不同:

如果有表达式 a = i++  它等价于 a = i ; i = i + 1;

如果有表达式 a = ++i  它等价于   i = i + 1; a = i;


两者的区别是:前者是先赋值,然后再自增;后者是先自增,后赋值。

我们简单看下实战
[java] view plain copy

  1. public class test {  
  1.     public static void main(String[] args) {  
  1.         int i = 0;  
  1.         for (int j = 0; j < 10; j++) {  
  1.             i=i++;  
  1.         }  
  1.         System.out.println("i的最后结果"+i);  
  1.     }  
  1.       
  1. }  
  1. </span>  

大家可以一眼看出结果,结果是多少?是10吗?

相信还是有不少朋友第一眼看去,觉得答案是10,正确答案是:0;

刚开始学习的C,java的时候讲过自增形式:即:i++和++i;

其实区别在于,i=i++是先赋值在自增,所以无论循环多少次,左边的i始终是0,最后结果就是0.改成i=++i,是可以达到效果的,++i是先自增在赋值。


原创粉丝点击