Java之Java基础五(变量和常量)

一、常量

1.常量命名

  • 变量名必须是合法的标识符
  • 约定俗成:常量名一般使用全大写,如果是多个单词,用下划线连接

2.常量定义

  • 常量用final关键字修饰,只能被赋值一次,不能修改 

//常量也分全局常量和局部常量,存放在方法区
public final int NUM=10;  

 3.地址访问规则

  • 普通常量不能被静态方法访问
  • 静态方法只能访问静态常量
  • 非静态方法既能访问非静态常量,又能访问静态常量

 4.全局常量和局部常量

  • 全局常量没有默认值,且常量只有一次赋值机会,所以必须初始化
  • 局部常量可以不初始化,在使用前必须赋值

二、变量

1.变量命名

  •  变量名**必须是合法的标识符
  • 合法的标识符由字母数字或下滑线组成,以字母或下划线开头,(大小写敏感)

2.变量初始化

  • 变量初始化(第一次赋值)的实质:
  •  使变量拥有自己的内存空间,即只是声明变量并不会开辟内存空间

3. 局部变量和全局变量

变量分为局部变量和全局变量

  • 在方法中或者块作用域({}中的变量)定义的变量叫局部变量
//块作用域(可以用于类里任何地方)【例如:if语句等】
{
    int a=10;
 }
  •  不在任何方法中定义的变量叫全局变量
 //全局变量两种表现形式:对象属性,类属性
//对象可以访问对象属性和类属性,类只能访问类属性
int a=10;        //对象属性(需要多份,【独立空间】)
static int b=10;  //类属性 (只有一份就足够了,大家公共使用,新的值会覆盖旧的值【共享空
间】)
  •  在相同作用域下不能重名,即不能声明相同的变量
  • 全局变量有默认值,所以可以不用初始化   整形默认为0,字符串默认为空,浮点型默认为0.0,布尔型默认为false,引用类型为null
  • 局部变量没有默认值,使用前必须先初始化,即先赋值
  • 局部变量是在栈区开辟空间的,全局变量是在堆区(对象属性)或静态常量池(【方法区】类属性) 中开辟空间的

 栈区内容在方法执行结束之后自动清除,堆区清除要根据gc清除机制(长时间不用清除)

Person p1=new Person();
 p1=null;   
//等待gc回收机制释放空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值