2.2 常量

2.2 常量
在程序的整个运行过程中,其值保持不变的量称为常量。我们要注意常量和常量值是不同的概念。常量值是常量的具体和直观的表现形式;常量是形式化的表现。在程序中我们既可以直接使用常量值也可以使用常量。我们已经知道存放在计算机内的数据有不同的数据类型,因此在Java程序设计语言中,常量也有多种数据类型。我们先看一下常量值的不同表示形式。

2.2.1 整型常量值
Java的整型常量值有三种形式:
1)十进制数形式,如54,-67,0。
2)八进制数形式,Java中的八进制常数的表示以0开头,如0125表示十进制数85,-013表示十进制数-11。
3)十六进制数形式,Java中的十六进制常数的表示以0x或0X开头,如0x100表示十进制数256,-0X16表示十进制数-22。
整型(int)常量默认在内存中占32位,具有整数类型的值,当运算过程中所需值超过32位长度时,可以把它表示为“长整型(long)”数值,长整型类型则要在数字后面加L或l,如697L,表示一个长型整数,它在内存中占64位。

2.2.2 实型常量值
Java的实型常量值有两种形式:
1)十进制数形式,由数字和小数点组成,且必须有小数点,如12.34,-98.0。
2)科学计数法形式,如:1.75e5或326E3,其中e或E之前必须有数字,且e或E之后的数字必须为整数。
Java实型常量默认在内存中占64位,是具有“双精度型”(double)类型的值。如果考虑到需要节省运行时的系统资源、而运算时的数据值取值范围并不大且运算精度要求也并不太高的情况下,可以把它表示为“单精度型”(float)类型的数值,单精度型数值一般要在该常数后面加F或f,如69.7f,表示一个float型实数,它在内存中占32位(这取决于系统的版本高低)。

2.2.3 字符型和字符串常量值
Java的字符型常量值是用单引号引起来的一个字符,如′e′、′E′,需要特别注意的是,单引号和双引号在此不可混用,双引号是用来表示字符串的,″H″、″d″等都是表示单个字符的字符串。除了以上所述形式的字符常量值之外,Java还允许使用一种特殊形式的字符常量值来表示一些难以用一般字符来表示的字符,这种特殊形式的字符是以一个“\”开头的字符序列,称为转义字符。注意:以上用来表示字符和字符串的单引号和双引号都必须是英语输入环境下输入的符号。表2ˉ2列出了Java中常用的转义字符及其所表示的意义。

 2.2.4 布尔型常量值
Java的布尔型常量只有两个值:false(假)和true(真)。

2.2.5 常量的定义和使用

常量不同于常量值,它可以在程序中用符号来代替常量值使用。因此在使用前必须先定义,定义常量的格式如下:
f inal type<常量名>=<常量值>[,<常量名>[=<常量值>]]
其中type是数据类型名,可以参照表2ˉ1。常量名的命名规则就是标识符的命名规则。
如果是同种数据类型的常量可以同时定义,常量与常量之间用逗号分割。“[......]”表示该项可选。常量命名约定:一般常量名都用大写字母表示,如果有多个单词组成常量名,单词之间用下划线连接。约定与定义是不同的,约定是广大使用者通过大量的实践所约定俗成的形式,不遵守是不会影响程序的运行,但会影响与别人的交流,影响程序的可读性。而定义则不然,会直接影响程序的运行。要成为一个合格的程序员,大家要熟悉这些约定。
下面通过一个利用已知圆半径值(R)计算圆面积(S=πR 2 )的例题向大家介绍一下常量的使用。
例2.2.1 常量的使用。

从上例可以看到:程序中常数“3.14”是把它作为常量值使用;而半径值“3”则被定义成常量(R)来使用。“\n”是转义字符,指示程序运行至该处时,将内容换行后继续输出。在计算机进行数学处理的过程中,如果一个数超出了计算机的表达范围,称为“溢出”;如果超过最大值,称为“上溢”,如果超过最小值,称为“下溢”。
Java语言在简单数据类型包装类中提供了四个特殊符号常量,用来表示整型的最大值和最小值常量,如表2ˉ3所示。

浮点数在操作过程中不会因溢出而导致异常处理,如果下溢,则结果为0.0;如果上溢,结果为正或负无穷大。表2ˉ4列出了Java简单数据类型包装类中提供的几个表示最大值、最小值的实型常量以及其他几个溢出的实型特殊符号常量。 


你可能感兴趣的:(java,变量)