Java中的变量
了解变量的入门知识,包括命名规范、在内存中的存储位置以及占用的空间大小。
简介
变量就像是程序执行过程中用来存放值的容器。
一个变量是一个存储位置,与一个相关的符号名称(标识符)配对,该名称包含某个已知或未知的信息量,称为值。
Java 中的变量是强类型的,因此它们都必须为其标识符声明一个数据类型。在本课程中,我们将讨论标识符。
命名变量
就像每个人都有一个名字来标识自己一样,每个变量也有一个关联的名字。为了给变量命名,必须遵循一些命名规范。这个名称被称为变量的标识符。变量名应根据其声明所存储的数据项具有描述性。
创建标识符有三条规则:
- 可以使用 A 到 Z 的字母及其小写形式。
- 可以使用数字 0-9。
- 允许使用的特殊字符是 $(美元符号)和 _(下划线)。
注意:
- 变量不能以数字开头
- 标识符中不能包含空格
虽然你可以给变量任意命名,但标识符必须能描述或与其中存储的数据相关联。就像一本书的名字应该反映书中的故事或人物一样,标识符也应与它所代表的数据相关。
可以这样想:一本关于巫师和魔法的书被命名为 “现代世界的事实与数据”,这显然不合理。而如果命名为 “一次神奇的旅程”,则更加贴切。以下是几个符合规范的标识符示例:
假设我们有一本书,它包含多个信息——书名、出版数量、作者和出版社。如果我们将这些信息的标识符分别命名为 'a'、'b'、'c' 和 'd',那会非常混乱。现在我们按照上述命名规范为它们赋予合适的标识符:
1// 在 Java 中声明变量 2char author_name; 3char book_name; 4char publishing$company; 5int copies_published_number;
如果写成 Book name,这将不是一个合法的标识符,因为名称中包含了空格。同样地,#OfCopies 也不合法,因为它使用了不允许的特殊字符。而 1_BookName 也不行,因为它以数字开头。
变量存储在哪里?
变量在程序中声明后,会被分配内存空间。内存本身被组织成一连串连续的字节。这些字节按顺序编号,编号即为对应位置的内存地址。通常使用十六进制数来表示内存地址。
某个变量的值被存储在某个内存位置中。直接通过地址访问数据非常繁琐,因此编程语言提供了抽象机制,允许用变量名来引用每段数据。
现在变量已经存入机器内存,我们可以问一个问题:它占用了多少空间?
变量的大小?
一个变量所占用的内存位置数量决定了它的内存大小。例如,“Hello!” 这样的短文本比 “Hello world!” 这样的长文本占用更少的内存。Java 程序有不同的数据类型,它们定义了变量所占的空间大小。变量所能占据的最小空间是一种叫做 byte 的数据类型,它占用 1 字节。