***记录学习003(关于i++和++i的一些理解)***

关于我对i++和++i的一些理解

自增运算和自减运算是我们在写代码时用的比较多的一类运算,以下是我对此类运算的一些理解,如果有理解上的问题请大佬帮我指出来,互相学习进步。


关于i++

public class Studying {
    public static void main(String[] args) {
         int i = 2;			//定义局部变量i,赋值为2
         int a = i++;		//先将i的值赋给a,此时i = 2,a = 2,再将i的值自增1,此时i = 3
         System.out.println("a = "+ a + ",  i = " + i);

    }
}
//输出 	a = 2,  i = 3

关于++i

public class Studying {
    public static void main(String[] args) {
         int i = 2;			//定义局部变量i,赋值为2
         int a = ++i;		//先将i自增1,此时i = 3,再将自增后的i值赋给a,此时a = 3
         System.out.println("a = "+ a + ",  i = " + i);

    }
}
//输出    a = 3,  i = 3

同理就可知 --i和i–


综合用

public class Studying{
    public static void main(String[] args){
     	int i = 2;		//定义局部变量i,赋值为2
     	int a = i++;	//先将i的值赋给a,此时i = 2,a = 2,再将i的值自增1,此时i = 3
     	int c = ++i;	//先将i自增1,此时i = 4,再将自增后的i值赋给c,此时c = 4
        System.out.println("a = "+ a +",  c =" + c + ",  i = " + i);
  
    }
    
}
//输出 	a = 2,   c = 4,   i = 4

对比i++和++i


i++版

//求前100的正整数的和	
public class Studying {
    public static void main(String[] args) {
        int j = 100;
        int sum = 0;
        for (int i = 1; i <= j; i++) {
            sum += i;
        }
        System.out.println("sum = " + sum);

    }
}
//输出 	sum = 5050     

++i版

//求前100的正整数的和	
public class Studying {
    public static void main(String[] args) {
        int j = 100;
        int sum = 0;
        for (int i = 1; i <= j; ++i) {
            sum += i;
        }
        System.out.println("sum = " + sum);

    }
}
//输出 	sum = 5050     

总结

i++和++i在使用时没有什么区别。

i++在计算机中的操作是:1.读取i的值 2. i + 1 3. 存回i的值

++i在计算机中的操作是:1. i + 1 2. 存回i的值

++i在指令上少了一步,但我们实际上用的时候没有什么区别,因为计算机中的编译器已经帮我们把这个优化做了。

学习内容部分摘自b站狂神说Java

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值