Java 变量

JAVA中变量的存放位置

一、方法内部

        方法内部设置的变量叫局部变量,它的变量名和值都保存在栈中,而这个栈是跟随调用方法是一起生成的方法栈。栈会随着方法的结束而释放,而其中的变量也会随着销毁

二、方法外部

        方法内部设置的变量叫全局变量,保存在堆中。

变量分为两种:基本类型,引用类型。

        基本类型:变量名和值都会一起保存在堆或栈中。

        引用类型:它保存的是内存地址值,该地址会指向生成的对象,其是保存在堆中的。

型参和实参

形参 :就是形式参数,用于定义方法的时候使用的参数,接收调用者传递过来的参数。 形参只有在方法被调用的时候,虚拟机才会分配内存单元,在方法调用结束之后便会释放所分配的内存单元

实参 :就是实际参数,用于调用时传递给方法的参数。实参在传递给别的方法之前是要被预先赋值的

传递的参数一样有基本和引用俩种,型参会复制实参的值,方法内修改型参

public class Test {
    public static class A{
        int i = 1;
    }
    public static void main(String[] args) {
        int i = 1;
        update(i);
        System.out.println(i);
        A a = new A();
        update1(a);
        System.out.println(a.i);
    }
    public static void update(int i) {
        i++;
    }
    public static void update1(A a) {
        a.i++;
    }
}

输出结果为1 和 2

这个结果表示:方法内修改int类型的值不会改变原先的数据,而修改A类的数据后,原先的数据也改变了。

总结:这跟变量存放的地址有很大的关系,基本类型它会直接复制值,i->i1,修改i1,不会影响i。但引用类型它复制的时存储地址,他根据存储地址找到对象进行修改,其他所有引用这个地址的对象,取值时后对取到新值。

八大基本类型: byteshortintlongcharfloatdoubleboolean ;

引用类型包括: 类类型, 接口类型和 数组。

其中某些特殊的引用类型不符合这个结果,String, Integer, Float, Double, Short, Byte, Long, Character等基本包装类型类,虽然它本质还是引用传递,但是你可以认为他是值传递


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值