java基础中自增变量(个人笔记)

本文详细探讨了Java中自增变量的过程,涉及操作数栈和局部变量的交互。通过实例代码`int i = 1; i=i++; int j=i++; int k = i + ++i * i++;`解释了每一步的执行逻辑,最终得出i=4, j=1, k=11的结果。" 132809386,19694538,FANUC机器人R iB PROFINET IO通信板卡安装,"['机器人', '嵌入式', '服务器']
摘要由CSDN通过智能技术生成

自增变量的具体过程

自增变量的具体过程涉及到对栈的理解,如果没有对栈的基础知识可以看看别的博客,基础就好。
具体的过程我们使用一个问题来解答,这个问题也是Java面试的频繁题目。

public static void main(String[] args) {
		int i = 1;
		i = i++;	
		int j = i++;
		int k = i + ++i * i++;
		System.out.println(i);
		System.out.println(j);
		System.out.println(k);
	}

该代码的最终结果是
在这里插入图片描述
我们开始一步一步解释代码的含义。

int i = 1;

创建一个int类型的变量i,并且为i赋值等于1

i=i++;

这句开始就有点烧脑了,可以知道代码是先计算等号右边的会使用操作数栈来进行计算,也就是i++,下面开始逐步解释。
在这里插入图片描述此时i还未进行自增,要对 i 进行操作放入操作数栈当中,进行自增后局部变量i自增为2,可见下图

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值