有关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);
           }
           
 }
 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值