2.2.1 变量的定义
一、什么是变量
我们先来看这个例子:
a=a+1
如果是初次接触编程的同学,看到这个等式,肯定会觉得这个等式很荒谬,按数学的逻辑来说, a 怎么可能等于 a+1 ?
但是这不是数学,这是程序,在程序中这个表达式的意思是将变量 a 的值加上 1,得到的结果再存储回变量 a 里去。
这里有一个与数学明显很不一样的概念,在程序中,所谓的 变量,其实更类似于一个专门存储数据的地方,内存中的某一个存储单元,计算机将这个存储单元取个名字,就是 变量名 ,然后往这个存储单元里存入一个数据,就是 变量的值。
在计算机内存中,这样的存储单元有非常非常多,比如上面这个图,内存就像一个旅馆,分隔成若干的房间,每一个房间都可以放进一个数据,每一个房间都有原始的编号,类似于房间号,例如 F567、F568、F569、F73A,这叫做 物理地址。
但是计算机的内存是非常大的,所以给房间编号时会导致每个房间的房间号非常非常长,根据这个原始编号来访问房间太麻烦了。
于是我们在使用这些房间时,给这个房间另外取个简单好记的名字(门上挂个门牌),就可以根据 名字 来访问房间里的数据了,房间名就是变量名,这就比原始编号更方便好记。
我们在编程时只需要关心变量名,并不用去关心物理地址。
二、变量的定义
变量是Java的基本存储单元。在Java中,使用变量之前需要先声明变量。变量声明通常包括3部分,变量类型、变量名和初始值。其中变量的初始值是可选的,声明变量的语法格式如下:
数据类型 变量名;
或
数据类型 变量名 = 变量的值;
例如:
int a=22;
表示定义了一个整型变量 a ,初始值为 22 。 int 表示整型,在内存中占 4 个字节。 a 就是变量名,22 就是变量 a 的值。
同时定义多个变量,也可以,例如:
int m=44,n=55;
表示定义了两个整形变量 m 和 n 。m 的值为44,n 的值为55。
**注意:**后面会学习变量又分为类的成员变量(也叫属性)、局部变量,成员变量可以不用赋初值,java会自动赋默认的初值,例如整型变量默认初值为0。但是局部变量必须赋初值才能使用,如果不赋初值就使用,程序会报错。