Java 中的常量列表

17 Mar 2025 | 6 分钟阅读

与其它编程语言一样,Java 也有一些 常量。在上一节中,我们讨论了 Java 常量以及如何声明它们。因此,在本节中,我们将只讨论 **Java 中的常量类型以及** 如何使用它们。

List of Constants in Java

常量

它是在赋值后不能更改的值。在 Java 中,常量值是通过使用 **final** 关键字定义的。final 关键字表示变量的值不能被更改。请注意,标识符名称必须是 **大写** 字母。我们也可以将常量定义为静态的。

语法

例如

注意事项

  • 将我们想要声明为常量的标识符名称用大写字母书写。例如,**PRICE=21000**。
  • 如果我们使用 **private** 访问修饰符放在常量名称之前,则该常量的值在该特定类中不能被更改。
  • 如果我们使用 **public** 访问修饰符放在常量名称之前,则该常量的值可以在程序中被更改。

常量类型

Java 中常量有以下几种类型:

  1. 数值常量
    • 整数常量
    • 实数常量
  2. 非数值常量
    • 字符常量
    • 字符串常量

让我们详细讨论一下。

数值常量

数值常量是包含数字的常量。它也可以有一个前导符号和小数点。

定义数值常量的规则

  • 必须至少包含一个数字。
  • 不应包含逗号、空格或其他特殊符号。
  • 可以包含正号或负号。如果前面没有符号,则假定常量为正。正号是可选的。

数值常量有两种类型:

整数常量

包含数字(0-9)且不带小数点的常量称为整数常量。默认情况下,它是 **int** 类型。整数常量有以下三种类型:

  • 十进制常量: 包含 0 到 9 的数字。请注意,不能以 0 开头。例如,**898, 67, 66**。
  • 八进制常量: 包含 0 到 7 的数字,必须以 0 开头。例如,**012, 032, 067**。
  • 十六进制常量: 包含 0 到 9 的数字以及字母 a 到 f(大写或小写均可)。必须以 0X 或 0x 开头。例如,**0x23, 0x76, 0X6A, 0XFF**。

实数常量

带有 **小数点** 的数值常量称为 **实数** 或 **浮点数** 常量。默认情况下,实数常量是 **double** 类型。我们可以通过在常量末尾附加字母 **f** 或 F 来显式地将浮点数常量指定为 float 类型。例如,45f, -0.14f, 5.6F。

实数常量可以以下两种形式书写:

  • 分数形式
  • 指数形式

分数形式

定义分数形式的规则

  1. 必须至少包含一个数字。
  2. 必须包含小数点。
  3. 可以包含正号或负号。默认是正号,并且是可选的。
  4. 不允许逗号、空格或任何其他符号。

例如,**3.14, -9.1, 0.67**。

指数形式

当数字太小或太大时,用于表示实数常量。

例如,0.00000149 可以表示为 1.49e-6。小数点前的数字部分称为 **尾数**,即 1.49,而小数点后的数字部分称为 **指数**,即 6。

定义指数形式的规则

  • 尾数和指数必须由 e 或 E 分隔。
  • 尾数可以是正数或负数,默认为正数。
  • 指数必须至少包含一个数字。
  • 指数可以是正数或负数,默认为正数。

例如,**100.34e4, -56E10, 0.233E10, -0.94e15**。

非数值常量

不包含数字的常量称为 **非数值** 常量。非数值常量有两种类型:

字符常量

字符常量是用单引号括起来的单个字母、数字或任何特殊符号。例如,**'Y', 'd', '6', '#', '&'**。

字符常量最大长度为 1 个字符。这意味着我们不能在单引号内放置多个字符。

正如我们可能已经知道的,计算机内存中的所有内容都以二进制形式存储。但字符常量是如何存储在内存中的呢?事实是,每个字符常量都有一个唯一的整数与之关联。**ASCII** 表表示用于表示英语语言中每个已知字符的十进制数字。

字符串常量

字符串常量是由零个或多个双引号("")括起来的字符组成的。在字符串的末尾,编译器会自动放置空字符 `\0`。例如,**"hello", " "(表示空格), "111"**。

注意:虽然字符串常量不是主要常量的一部分,但此处出于完整性考虑包含它们。字符串的数据类型是 String,它们存储为字符数组。

反斜杠字符常量

Java 也支持反斜杠字符常量。这些常量用于输出方法。它们也称为 **转义序列**。例如,\n, \t, \a 等。

  • 虽然它由两个字符组成,但它表示一个字符。
  • 每个转义序列都有 Unicode 值。
  • 每个组合都必须以反斜杠字符(\)开头。
  • 这些是不可打印字符。
  • 也可以用八进制数字或十六进制序列来表示。
  • 字符常量和字符串字面量中的转义序列将被其等效字符替换,然后连接相邻的字符串字面量。
  • 转义序列由预处理器预处理。

下表显示了 Java 中使用的反斜杠字符常量。

\b退格
\f来自进纸
\n新行
\r回车
\t水平制表符
\"双引号
\'单引号
\\反斜杠
\v垂直制表符
\a警报
\?问号
\N八进制常量
\xN十六进制常量

让我们在 Java 程序中使用这些常量。

ConstnatExample.java

输出

value of var1 : 23
value of var2 : -5
value of var3 : 9
value of var4 : -12
value of var5 : 120
value of var6 : -212
value of var7 : 90000
value of var8 : -12345
value of var9 : 14.78
value of var10 : -117.34
value of var11 : 70000.1234
value of var12 : -12345.111
value of var13 : false
value of var14 : true
value of var15 : a
value of var16 : p
javatpoint
80
Hexadecimal: 801, 2812
21300.0