,i目前的值是2,++i的话先赋值,i变为3,,再将i=3压入栈中,i++先把i=3压入操作数栈,然后i++,i此时在局部变量表中等于4,运算是在操作数栈中运算完后再赋值给局部变量,此时k=2+3*3即...(传递的时具体数值)
形式参数如果是引用类型(数组,类,接口),形式参数的改变对实际参数有很大影响(传递的是地址)
实参是引用数据类型
传递地址值
特殊的类型:String、包装类等对象不可变性...,是会变化的
再看一个案例
形参为基本类型
当形式参数为基本类型时,传递过来的是一个值.方法在调用后,会在栈空间开辟一个空间,创建一个局部变量,然后将接受到的值复制到形式参数的变量上,然后对其进行操作....在方法结束时,创建的局部变量也会消失.同时其原始数据并没有收到影响....,传递过来的值是一个堆内存的地址.调用方法后,系统会在栈空间开辟一个空间,创建一个对象,当接收到地址值后,会将刚创建的对象指向地址,然后方法对引用类型的操作实际上操作的是在堆空间存放的原始数据.当方法结束后