您的位置:首页 > 编程语言 > Java开发

Java中的变量

2016-02-22 23:12 253 查看
首先,我们介绍一下栈空间和堆空间。

计算机存储数据可用寄存器、栈空间和堆空间,其中Java不能对寄存器直接操作,Java可以直接处理栈空间和堆空间。JVM为每个Java程序都分配一个栈空间和堆空间。我们通过下面的表格来对比一下栈空间和堆空间。

栈空间堆空间
1)存储效率较高,仅次于寄存器。

2)以先进后出的方式处理数据。存储空间小,不能存放大量的数据。

3)基本类型的数据(基本类型的变量和它的引用变量)都存放在栈空间中。

4)栈主要用来执行程序的。
1)堆空间中存储效率低。

2)堆空间数据的位置是随机分配。存储空间大,可以存储大容量的数据。

3)堆空间用于存放new创建的对象和数组。堆占用的内存,由Java虚拟机自动垃圾回收器来管理。

4)堆主要是用来存放对象的。
下面,我们定义变量,顾名思义,变量就是值可以改变的量。变量的作用是用于管理内存中存储的数据。

变量管理基本类型数据,如果int a=1;那么假如给这个变量分配的内存块地址是0xff01,这个内存块中存储的数据是1,给这个内存块起了一个名字叫做a。

如果int str = “abc”;那么如果系统给这个变量str分配的首地址为0xaa01,从0xaa01开始存储了a、b、c,那么这几个内存块,合在一起起了一个名字叫做str。

变量管理引用类型数据,如果&int b = a;那么就是说一个变量名为b的变量,它存储的数据是0xff01(a的地址),b引用的是a的数据;

如果&int S = str;那么如果系统给这个变量str分配的首地址为0xaa01,就是说一个名为S的变量,存储了str的首地址0xaa01,S引用的是str的数据。

值得一提的是,我们通过这两种方式,既能管理栈空间的数据,也能管理堆空间的数据。变量管理基本类型数据,直接管理栈空间的数据;变量管理引用类型数据,我们通过变量引用的方式,管理堆空间中的数据,因为引用变量是存储在栈空间的(系统规定的),而被引用的对象可能是数组,字符串等非基本类型的数据,是存储在堆空间的,这种数据通过引用的方式被管理起来。

Java中变量的命名规则:

1)只能以字母、下划线或者$符号作为变量名的开头。
2)变量中可以包含数字,但是不能以数字为开头。
3)除了下划线和$符号以外,变量中不能包含其他特殊字符。
4)不能用class、int、public、static等java关键字作为变量名。
5)在Java中变量名严格区分大小写。
一般来讲,我们以有意义的英文单词作为变量名,如果变量名由两个以上的单词组成,第一个单词首字母小写,其他单词首字母大写。

Java中变量的定义以及初始化:

每个变量必须属于一个数据类型,格式:

类型 变量名1,变量名2,...,变量名n;

变量的初始化:

变量定义后需要初始化,即给变量赋值,格式:

变量名=值(该值可以是变量名的数据类型的值,也可以是该数据类型的值的运算);

变量的作用域:

Java中用一对大括号作为语句块的范围,称为作用域。作用域中的变量不能重复定义。一旦离开作用域,变量所分配的内存空间将被JVM回收。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: