Java中的常量

本文详细介绍了Java中的各种常量类型,包括整型、浮点数、布尔、字符及字符串常量,并解释了每种常量的表示方法及其注意事项。

 

Java 中的常量


常量就是程序里持续不变的值,它是不能改变的数据。 Java 中的常量包含整型常量、浮点数常量、布尔常量等,下面来看一下它们是如何表示的:

  1. 整型常量

整型常量可以分为十进制十六进制八进制

十进制

0 1 2 3 4 5 6 7 8 9

注意 :以十进制表示时,第一位不能是 0 (数字 0 除外)。

 

十六进制

0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

注意 :以十六进制表示时,需以 0x 0X 开头,如:

0x8a 0Xff 0X9A 0x12

 

八进制

0 1 2 3 4 5 6 7

注意 :八进制必须以 0 开头。如:

0123 0458 0987 0321

 

长整型

注意 :长整型必须以 L 做结尾,如:

9L 123L 654L

 

  1. 浮点数常量

浮点数常量有 float 32 位)和 double 64 位)两种类型,分别叫做单精度浮点数双精度浮点数 ,表示浮点数时,要在后面加上 f F )或者 d D ),用指数表示也可以。

注意 :由于小数常量的默认类型为 double 型,所以 float 类型的后面一定要加 f F ),用以区分。

如: 2e3f 3.6d 0f 3.85d 5.02e+23f 都是合法的。

 

  1. 布尔常量

布尔常量用于区分一个事物的正反两面,不是真就是假。

其值只有两种: true false

 

  1. 字符常量

字符常量是由英文字母、数字、转义序列、特殊字符等的字符所表示,它的值就是字符本身,字符常量要用两个单引号括起来。 Java 中的字符占用两个字节,是用 Unicode 码表示的,也可以是使用 Unicode 码值加上“ /u ”来表示对应的字符。

如: ’a’  ‘8’  ‘/t’  ‘/u0027’

 

  1. 字符串常量

字符串常量和字符型常量的区别就是,前者是用双引号括起来的常量,用于表示一连串的字符。而后者是用单引号括起来的,用于表示单个字符。


 

### Java常量的定义和用法 在Java中,常量是通过`final`关键字来定义的。一旦被赋值,其值就不能再被修改。常量通常用于表示那些在整个程序运行期间不会发生变化的值,例如数学常数、配置参数等。 #### 1. 常量的基本定义方式 常量的定义需要使用`final`关键字,并且必须初始化一个值。以下是一个简单的例子[^2]: ```java public class Constants { public final double PI = 3.14159; } ``` #### 2. 常量的命名规范 为了提高代码的可读性和一致性,Java中的常量通常遵循全大写字母和下划线的命名约定。例如[^2]: ```java public class Configuration { public static final int MAX_CONNECTIONS = 100; public static final String DATABASE_NAME = "MY_DATABASE"; } ``` #### 3. 常量的可见性 常量的可见性可以通过访问修饰符(如`public`、`private`、`protected`)进行控制。如果常量需要在类外部访问,通常会将其声明为`public`和`static`,以便可以直接通过类名访问而无需创建实例[^4]: ```java public class MathConstants { public static final double E = 2.71828; } // 使用方式 double result = MathConstants.E * 10; ``` #### 4. 定义常量数组 在Java中也可以定义常量数组。这通常通过将数组声明为`final`来实现,但需要注意的是,虽然数组引用本身是不可变的,但数组的内容仍然是可以修改的。因此,如果需要确保数组内容也不可变,可以结合`Collections.unmodifiableList`等方法使用[^3]: ```java public class ConstantArrays { public static final String[] WEEKDAYS = {"MON", "TUE", "WED", "THU", "FRI"}; public static final List<String> UNMODIFIABLE_WEEKDAYS = Collections.unmodifiableList(Arrays.asList(WEEKDAYS)); } ``` #### 5. 注意事项 - 常量必须在声明时或第一次使用前初始化。 - 对于基本数据类型,`final`确保了值的不可变性;但对于引用类型,`final`仅确保引用本身不可变,但对象的内容仍可能改变。 - 如果希望防止其他类继承该类并覆盖常量,可以将类声明为`final`[^4]。 #### 6. 静态导入 为了简化常量的调用,可以使用静态导入机制,避免每次都通过类名访问常量[^4]: ```java import static Constants.PI; public class Main { public static void main(String[] args) { System.out.println(PI); // 直接使用PI,无需通过Constants类名访问 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值