【java】i++和++i的相同和区别

1. 只是从应用层面来讨论,i++或者++i都是指 i = i+1。

public class MyClass {
    public static void main(String args[]) {
      int i=0,j=0;
      i++;
      ++j;
      System.out.println("i="+ i +" "+ "j=" + j);
    }
}

从上面代码可以看到无论是i++还是++j,最后打印结果 i=1 j=1。

2. 但是二者又是有区别的,当作为变量参与到代码运算中,i++是先赋值再加1,++i是先加1再赋值。

public class MyClass {
    public static void main(String args[]) {
      int i = 0;
      int j = i++;
      int k = ++i;
      System.out.println("j=" + j + " " + "k=" + k);
        
    }
}

上面代码运行结果 j=0 k=2,因为i初始化为0,赋值给j后再加的1,所以打印j为0,当执行到 k = ++i时,i是先加1得到2,再赋值给k的,所以k=2

3. 在for循环和while循环里面是用i++还是++i呢?

循环里 i++和++i都是可以的,不影响结果。但是注意如下代码细节:

(1)打印结果为0 ~4

public class MyClass {
    public static void main(String args[]) {
     int i = 0;
     while( i<5){ 
         System.out.println(i++);
     }
    }
}

(2)打印结果为1~5

public class MyClass {
    public static void main(String args[]) {
     int i = 0;
     while( i<5){ 
         System.out.println(++i);
     }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值