Java中的常量和变量

java程序中的数据是用常量和变量来表示的。

1,常量

常量是指程序执行过程中始终不变的量。

常量有字面常量和符号常量两种。

2,变量

变量则是根据执行的情况,可以改变值的量。

根据作用域范围的不同分为:成员变量、局部变量、方法参数变量、异常处理参数变量4种。

(1)成员变量:

在类中声明,在方法之外,作用域范围是整个类

 成员变量的声明

       [变量修饰符] 数据类型 变量名 [=初始值];        

       例:String name = "小白";           

成员变量的引用

在同一个类中引用

        引用同一个类中的成员变量,可以直接通过变量名引用。

        如果存在同名的局部变量、方法参数变量或异常处理参数变量,则需要在成员变量前加上关键字this。例如:this.age=age 

       如果不存在同名的局部变量、方法参数变量或异常处理参数变量,那么这时引用的仍是成员变量本事,这时语句this.age=age没有任何实际效果

       局部变量、方法参数变量或异常处理参数变量之间不能同名。因此同名变量只可能出现在成员变量与 这3种变量之间。 

在类的外部引用

引用另一个类中的成员变量,需通过类或对象来引用

成员变量根据是否被static修饰分为  静态变量/类变量和实例变量 ,静态变量/类变量

被static修饰的成员变量称为 静态变量或类变量

 特点

        类变量被类的所有实例共享,保存在类的公共存储空间中,一个类不管有多少实例,他们引用的都是这个公共存储空间里的值,即只有一个变量值。

        类变量是属于类的,不依赖于某个对象,因此除了可通过创建的对象来访问外,还可以直接通过类名来访问,并且这是建议使用的方法。

 注意

    static只能修饰成员变量,而不能修饰局部变量、方法参数变量或异常处理参数变量   

 实例变量

    没有被static修饰的成员变量称为实例变量   

特点

    每个实例都有自己的实例变量值,有多少个实例就有多少个实例变量值。

    实例变量是属于实例的,因此只能通过实例来引用,而不能直接通过类型直接引用

 (2)局部变量    

在语句块内声明,作用域范围是从声明处直到该语句块的结束

方法参数变量 ,作用域范围是在整个方法中

异常处理参数变量 ,作用域范围是在异常处理语句块中     

成员变量与局部变量的区别     

功能不同   成员变量体现的是类的属性,而局部变量只是临时保存变量的值。
声明的位置不同成员变量是声明在方法的外面和类的内部,而局部变量是声明在方法的内部
作用域范围不同成员变量的作用域范围是整个类,不论成员变量声明在方法的前面还是后面,而局部变量的作用域范围是从声明开始处直到语句块的结束
修饰符不同        成员变量的修饰符可用public、private、protected、default、static、final等等,而局部变量只有一个修饰符final,其他的修饰符都不可用
默认值不同   成员变量声明后被自动初始化(基本数据类型被初始化为默认值,引用数据类型被初始化为null),而局部变量声明后不被初始化。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱编程的小白L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值