Java中的变量,你知道多少?小白必看

Java中的变量,你知道多少?


本期和大家聊一聊Java中的变量,如有不足请补充,勿喷!!!

一、变量

先说一下内存,内存是一个物理设备 计算机使用内存来记忆大量运算时需要的数据,类似于人类的大脑。

数据存入内存的过程就是就是根据数据的类型为它在内存中分配一个合适的房间,然后数据就可以存放进这块空间中。通常根据地址就可以找到这块内存空间的位置,也就找到了存储的数据。但是内存地址不方便记忆,因此,我们给这块内存中的空间起一个别名,通过使用别名找到对用空间存储的数据。变量是一个数据存储空间的表示。
变量是村出数据的一个基本单元,通过变量名可以简单快速的找到它存储的数据。将数据指定给变量就是讲数据存储到以变量名命名的空间。而调用变量就是将那个房间中的数据取出来使用。
以下表格举例描述变量与房间的对应关系:

变量房间
变量名房间名称
变量类型房间类型
变量的值入住客人

二、变量的声明以及使用

在程序设计中变量的使用是十分重要的环节。定义一个变量就要告诉编译器这个变量的数据类型,这样编译器会根据数据类型配置相应的空间给它,以及它可以存放什么样的数据;在程序运行的过程中,空间的值是变化的,这个内存空间就称为变量;为了操作方便需要给这个空间起一个名字,称为变量名,内存空间的值就是变量值。在声明变量的时候可以是没有赋值,也可以直接赋给初始值。将数值通过变量加以存储,以便程序随时使用。
整体步骤如下:

1)根据数据的类型在内存中分配一个合适的空间并给它命名,即“变量名”
2)将数据存到这个空间中
3)可通过变量名从这这个空间中取出数据来使用。

对于变量的命名并不是任意的,应该遵循以下几条规则:
1.变量名必须是一个有效的标识符
2.变量名不可以使用Java中的关键字
3.变量名不能重复
4.应该选择有意义的单词或者单词组合作为变量名
5.允许使用汉字或者其他语言的文字作为变量名,在程序运行红不会出现错误,但是尽量不要使用这些语言文字作为变量名
6.变量名必须以字母、下划线和“$”美元符号开头
7.变量名可以包括数字,但是不能以数字开头
8.变量名除了下划线和美元符号以外,不能包含任何特殊字符
9.变量名的程度没有限制
注意:
由于Java语言严格区分大小写,所以Money和money是两个完全不同的变量

声明变量,实例代码如下:

int age;			//声明一个int类型的变量age
int money = 100;	//声明一个int类型的变量money并且给它赋值

下面用图解的方式将上述程序代码在内存中的情况表示出来
直接上图:
在这里插入图片描述
系统中的内存大略可分为三个部分,如上图所示:系统区(OS区),程序区(Program区),数据区(Data)。当程序执行时程序代码会加载到Program区,数据暂时存储在Data区中。加入上述中的两个变量定义在方法体中,则程序加载到Program区,当执行此程序代码时,会在Data区配置空间给出这两个变量。


三、变量的有效范围

由于变量变量被定义在内存中,等到程序执行到某一个带你,干变量就会被释放,也就是说变量有它的声明周期。因此变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域则在编译过程中出现错误。
在程序中,一般会根据变量的“有效范围”将变量分为“成员变量”和“局部变量”

1.成员变量

在类体重所定义的变量被称为成员变量,成员变量在整个类中都有效。累的成员变量由可分为两种,即静态变量和示例变量
声明静态变量和实例变量,实例代码如下:

public class var{
	int x = 50;
	static int y = 100;
}

其中X为实例变量,y为静态变量(也称为类变量)。如果在成员变量的前面加上关键字“static”,这样的成员变量称为静态变量。静态变量的有效范围可以跨类,甚至可以达到整个应用程序之内对于静态变量,除了能在定义它的类内存取,还可以直接以“类名.静态变量”的方式在其他类内使用。

2.局部变量

在类的方法体中定义的变量称为局部变量,局部变量只在当前面的代码块中有效。

在类的方法中声明的变量,包括方法的参数,都属于局部变量。局部变量只在当前面的代码块中有效。不能用于类的其他方法中。局部变量的声明周期取决于方法,当方法被调用时,Java的虚拟机为方法中的局部变量分配内存空间,当该方法的调用结束后则会释放方法中局部变量占用的内存空间,局部变量也会被销毁。
局部变量可以与成员变量的名字相同此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效。
啰嗦个差不多了,可以上图了。
在这里插入图片描述
代码在这里!!!

public class Val {
    static int money = 50;
	public static void main(String[] args) {
		int money = 100;
		System.out.println("times的值为:" + money);
	}
}

运行结果如下:

在这里插入图片描述


本期就到这里,希望有所帮助
关注我,持续更新。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

7旅病娘

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

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

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

打赏作者

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

抵扣说明:

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

余额充值