字面量.常量和变量-Java基础四-初学者笔记

初学者

一.字面量(literal):

很多地方都翻译成字面量,但有点奇怪。

  在计算机科学中,是用于表达源代码中一个固定值的表示法(notation)。几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数、浮点数以及字符串;而有很多也对布尔类型和字符类型的值也支持字面量表示;还有一些甚至对枚举类型的元素以及像数组、记录和对象等复合类型的值也支持字面量表示法。

  其实Literal就是一个具体的数值或字符及字符串,如Constant例子中的VOTING_AGE是常量,18就是Literal字面量,是具体的数值本身。

字面量

二.常量:

  在程序运行时,不会被修改的量。换言之,常量虽然是为了硬件、软件、编程语言服务,但是它并不是因为硬件、软件、编程语言而引入。常量区分为不同的类型,如25、0、-8为整形常量,6.8、-7.89为实型常量,‘a’‘b’为字符常量。常量一般从其字面形式即可判断。这种常量称为字面常量或直接常量。

常量和变量类似,但是常量中保存的值在整个程序中都是不变的。

  在真实世界中有很多值是固定不变的情况,比如一个正方体永远是6个面,一天永远是24小时,圆周率PI值一直是3.142等。

  在程序中也存在相同的情况,有些变量的值在整个程序中是固定不变的,在程序中把这些特殊的变量叫做常量constant。

1.定义:

在Java中使用final关键字来定义常量,常量的名称通常使用大写字母,

例:定义一个投票年龄常量VOTING_AGE:

final int VOTING_AGE = 18;

2.特点:

与变量不同,常量的值不可更改,接上例如果继续为常量赋值,例VOTING_AGE = 30; 程序就会报错!

3.好处:

常量的名称一般用的是有意义的名称,方便理解

比如if(age>VOTING_AGE)比if(age > 18) 包含的意义更明确。

  而且在程序中如果常量的值因为某些原因改变了,比如上面的投票年龄由18改成了20,使用常量的话,只需要到定义的部分改一个地方就可以了。否则的话,要去到程序中所有使用了18这个数字的地方去更改。

三.变量:

  来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不变(immutable)的。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。

  程序语言大多数时候都是在处理不同的数据,比如整型数据int,字符型数据char等。这些不同的数据需要放在适合自己的不同容器中,这些容器就相当于是java中的变量variable。容器的类型和大小决定了可以存放什么样的物品以及存放多少等。

  举个具体的例子,比如书包是一个容器、鱼缸也是一个容器,书包里面就适合放书本类型的物品,如果往书包里面放鱼就不合适了;鱼缸里面就适合放鱼之类的生物,往鱼缸里放书也就不太合适了。

同时鱼缸还分大小,养小鱼就用小鱼缸,养大鱼就得用大鱼缸。

变量

1.定义:

  和上面容器的道理一样,Java中声明变量的时候首先要声明变量的类型,这样我们就能知道这个变量中可以存放什么类型的数据,数据的范围是多少了。

例:

int i=10;

  声明了一个名称为“i”,类型为int的变量,这样变量“i”里面就是存放int类型的数据,int类型的数据范围就是-2,147,483,648 to 2,147,483,647。

2.特点

变量的一大特点就是变量的值在程序中是可以改变的,像书包中可以放不同的书,鱼缸中可以养不同的鱼一样。

例如:如果我们写

int i = 18;
i = 20;

这样“i”变量的值就由初始值18,变更为了20。

你可能感兴趣的:(字面量.常量和变量-Java基础四-初学者笔记)