1 常量概述
在程序运行过程中,其值不可以发生改变的量。
Remark:常量和常量值是不同的概念,常量值(数值,如13)是常量(定义好的,如a)的具体和直观的表现形式,常量是形式化的表现
2 常量分类
常量类型 | 说明 | 例子 |
---|---|---|
整型常量 | 有十进制数、八进制数(以0开头)、十六进制(以0x或0X开头)三种形式。默认在内存中占 32 位。当运算过程中所需值超过 32 位长度时,可以把它表示为长整型(long)数值。长整型类型则要在数字后面加 L 或 1, 如 697L,表示一个长整型数,它在内存中占 64 位 | 十进制形式:54,八进制形式:0125,十六进制形式:-0x16 |
实型常量(浮点数) | 有十进制数形式和科学计数法形式(用e或E)。默认在内存中占 64 位,是具有双精度型(double)的值。单精度型数值一般要在该常数后面加 F 或 f,如 69.7f,表示一个 float 型实数,它在内存中占 32 位 | 十进制数形式:12.34,科学记数法形式:32E3 |
布尔型常量 | 表示真假 | 只有两个值,即 false(假)和 true(真) |
字符型常量 | 用单引号引起来的一个字符 | ‘e’,‘E’ |
字符串型常量 | 用双引号引起来的一串字符 | “HelloWorld” |
空常量 | 一个特殊的值,空值 | 值为:null(不能直接打印,要以字符串形式打印) |
3 转义字符(字符型常量延伸)
转义字符 | 说明 |
---|---|
\ddd | 1~3 位八进制数所表示的字符,例如:\007 |
\uxxxx | 1~4 位十六进制数所表示的字符,例如:\u0001 |
\' | 单引号字符 |
\" | 双引号字符 |
\\ | 反斜杠字符 |
\r | 回车 |
\n | 换行 |
\b | 退格,例如输出"1234\b56" 的结果是12356 |
\t | 横向跳格(在打印的时候,把前面字符串的长度补齐到8或8的整数倍。最少补1个空格,最多补8个空格) |
转义字符既可用单引号括起来,也可用双引号括起来。
4 定义常量
Java 语言使用 final 关键字来定义一个常量(final 关键字可以修饰很多元素,修饰变量就变成了常量):
final dataType variableName = value;
常量按作用域可分为静态常量、成员常量和局部常量三种。
public class HelloWorld {
// 声明静态常量
public static final double PI = 3.14;
// 声明成员常量
final int y = 10;
public static void main(String[] args) {
// 声明局部常量
final double x = 3.3;
}
}
第3行声明静态常量,在final
前用public static
修饰。public static
修饰的常量作用域是全局的,不需要创建对象就可以访问它,在类外部访问形式为HelloWorld. PI
。
第 5 行声明成员常量,作用域类似于成员变量,但不能修改。
第 9 行声明局部常量,作用域类似于局部变量,但不能修改。
Remark:
- 在定义常量时应该对该常量进行初始化
- 为了与变量区别,常量取名一般都用大写字符
- 当常量被设定后,一般情况下不允许再进行更改,否则会报错