`
isiqi
  • 浏览: 16053230 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

有关inspect/watch的一个疑问

阅读更多

当代码中出现i++,然后我用inspect监测或者watch到expression中后,就会发现i++被当作程序中的代码执行了;

也就是说i开始如果为0的话,则程序执行了多少次,i+1就执行了多少次,此时i值就变了!

eg:

package charpter06;

public class Testi {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i1=0,i2=0,i3=0,i4=0,i5=0,i6=0,i7=0,i8=0,i9=0,i10=0,i11,i12=0;
int k2,k5,k9,k10;
for(int j=0;j<5;j++){
/*
* int i = 0;
i=i++;
这个效果如下:
int temp = i++;//this : temp = 0; i =1(that's:i+1);
i = temp;//this: i =0;
因此: i=i++; 相当于什么都没有做,在有的IDE里,它会告诉你这个代码是废代码! */
i1 =i1++;// * means:int temp= i1; i1=i1+1;i1=temp;
k2 =i2++; //means: int k2 =i2;i2=i2+1;
i3++;//means: int temp = i3; i3 = i3 +1;
++i4;//means:i4 = i4+1; int temp = i4;
k5 =++i5;//means:i5=i5+1; int k5= i5
i6--;//means:int temp=i6;i6=i6-1;
--i7;//means:i7=i7-1;int temp =i7;
i8=i8--;// * means:int temp=i8;i8=i8-1;i8=temp
k9=i9--;//means:int k9=i9;i9=i9-1;
k10=--i10;//means: i10=i10-1; int k10=i10;

System.out.println(" j = "+j);
System.out.println(" i1="+i1);
System.out.println(" i3 ="+i3);
System.out.println(" i4 ="+i4);
System.out.println(" i2 ="+i2+" k2="+k2);
System.out.println(" i5 ="+i5+" k5="+k5);
System.out.println(" i6 ="+i6+" i7="+i7);
System.out.println(" i8 ="+i8);
System.out.println(" i9 ="+i9+" k9="+k9);
System.out.println(" i10 ="+i10+" k10="+k10);
}

}

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics