Java中的变量、常量与字面量
什么是变量(variable)?
程序语言大多数时候都是在处理不同的数据,比如整型数据int,字符型数据char等。
这些不同的数据需要放在适合自己的不同容器中,这些容器就相当于是java中的变量variable。
容器的类型和大小决定了可以存放什么样的物品以及存放多少等。
举个具体的例子,比如书包是一个容器、鱼缸也是一个容器,书包里面就适合放书本类型的物品,如果往书包里面放鱼就不合适了;鱼缸里面就适合放鱼之类的生物,往鱼缸里放书也就不太合适了。
同时鱼缸还分大小,养小鱼就用小鱼缸,养大鱼就得用大鱼缸。
变量的定义
和上面容器的道理一样,Java中声明变量的时候首先要声明变量的类型,这样我们就能知道这个变量中可以存放什么类型的数据,数据的范围是多少了。
例:int i=10;
声明了一个名称为“i”,类型为int的变量,这样变量“i”里面就是存放int类型的数据,int类型的数据范围就是-2,147,483,648 to 2,147,483,647。
变量的特点
变量的一大特点就是变量的值在程序中是可以改变的,像书包中可以放不同的书,鱼缸中可以养不同的鱼一样。
例如如果我们写 int i = 18;
i = 20;
这样“i”变量的值就由初始值18,变更为了20。
什么是常量(constant)?
常量和变量类似,但是常量中保存的值在整个程序中都是不变的。
在真实世界中有很多值是固定不变的情况,比如一个正方体永远是6个面,一天永远是24小时,圆周率PI值一直是3.142等。
在程序中也存在相同的情况,有些变量的值在整个程序中是固定不变的,在程序中把这些特殊的变量叫做常量constant。
常量的定义:
在Java中使用final关键字来定义常量,常量的名称通常使用大写字母,例:定义一个投票年龄常量VOTING_AGE:
final int VOTING_AGE = 18;
常量的特点:
与变量不同,常量的值不可更改,接上例如果继续为常量赋值,例VOTING_AGE = 20; 程序就会报错!
使用常量的好处:
常量的名称一般用的是有意义的名称,方便理解
比如if(age>VOTING_AGE)比if(age > 18) 包含的意义更明确。
而且在程序中如果常量的值因为某些原因改变了,比如上面的投票年龄由18改成了20,使用常量的话,只需要到定义的部分改一个地方就可以了。否则的话,要去到程序中所有使用了18这个数字的地方去更改。
什么是字面量(Literal)?
很多地方都翻译成字面量,但有点奇怪。
其实Literal就是一个具体的数值或字符及字符串,如Constant例子中的VOTING_AGE是常量,18就是Literal字面量,是具体的数值本身。
希望本篇文章能让大家对Java中的变量、常量及字面量有一定的了解。