Java基础-Java常量和常量值

作者:码农洞见 时间:2023-08-03 03:49:03 

1 常量定义

在程序中存在大量的数据来代表程序的状态,其中有些数据在程序运行过程中值不能发生改变,这些数据在程序中被叫做常量。

2 常量语法命名

Java常量的语法格式如下:

final 数据类型 常量名称 = 值;

示例代码如下:

//声明双精度型常量PI并赋值
final double PI = 3.14;

Java常量命名规则如下:

规则一:所有单词的字母都是大写,如果有多个单词,那么使用下划线链接即可。

//声明整型常量年龄AGE_OF_PERSON
public static final int AGE_OF_PERSON = 18;

规则二: 不允许任何魔法值(即未经定义的常量)直接出现在代码中。

//声明CONTENT字符串型,age未定义
final String CONTENT ="name" + age;

long 或者 Long 初始赋值时,必须使用大写的 L,不能是小写的 l,小写容易跟数字1 混淆,造成误解。

//生命长整型COUNT,是数字91,还是Long型9?
final Long COUNT = 9l;?

3 常量值

常量值又称为字面常量,它是通过数据直接表示的,因此有很多种数据类型,像整型和字符串型等。

在这里要注意常量和常量值是不同的概念,常量值是常量的具体和直观的表现形式,常量是形式化的表现。通常在程序中既可以直接使用常量值,也可以使用常量。

3.1 整型常量值

整型(int)常量默认在内存中占 32 位,是具有整数类型的值,当运算过程中所需值超过 32 位长度时,可以把它表示为长整型(long)数值。长整型类型则要在数字后面加 L 或 1, 如 678L,表示一个长整型数,它在内存中占 64 位。

3.2 浮点数常量值

Java 浮点数常量默认在内存中占 64 位,是具有双精度型(double)的值。如果考虑到需要节省运行时的系统资源,而运算时的数据值取值范围并不大且运算精度要求不太高的情况,可以把它表示为单精度型(float)的数值。

3.3 布尔常量值

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

3.4 字符型常量值

Java 的字符型常量值是用单引号引起来的一个字符,如 ‘a’、‘A’。

3.5 字符串常量值

双引号用来表示字符串,像 “11”、“d” 等都是表示单个字符的字符串。

4 码农来洞见

4.1 注意事项

当常量被设定后,一般情况下不允许再进行更改,如果更改其值将提示错误。

public static void main(String[] args) {
? ? //常量AGE赋值
?? ?final int AGE = 18;
? ? //修改常量AGE,程序报错
? ? AGE = 23;
}

4.2 常量作用

常量在程序运行过程中主要有2个作用:

1、代表常数,便于程序的修改(例如:圆周率的值);

final double PI = 3.14;

2、增强程序的可读性(例如:常量UP、DOWN分别代表上下,其数值分别是1、2)

final int UP = 1;
final int DOWN = 2;

4.3 常量声明位置

在项目中,一般都有很多常量,常量往往由于访问效率比较高。它们的通常会在如下位置声明:

  • 1、放到Interface,因为 Java interface中声明的字段在编译时会自动加上static final的修饰符,即声明为常量。

  • 2、放到文件,如Properties文件。

  • 3、放到Class,使用final String 。

来源:https://blog.csdn.net/pangpengshuai/article/details/122101025

标签:Java,常量,常量值
0
投稿

猜你喜欢

  • Android常用的AlertDialog对话框及自定义对话框

    2021-05-31 05:09:51
  • Android实现百度地图两点画弧线

    2022-08-17 14:52:03
  • Spring Security使用中Preflight请求和跨域问题详解

    2021-06-12 11:04:15
  • JSON各种转换问题(json转List,json转对象等)

    2021-09-28 08:53:45
  • 解决Android webview设置cookie和cookie丢失的问题

    2021-09-12 21:55:52
  • 基于SpringBoot+Redis实现分布式锁

    2023-10-16 11:44:31
  • Android RIL使用详解

    2021-09-30 18:06:45
  • Android通过XListView实现上拉加载下拉刷新功能

    2023-02-26 23:30:03
  • 详解Java递归实现树形结构的两种方式

    2023-02-18 07:24:47
  • Java初学之继承与多态

    2022-11-29 15:13:04
  • Java中常见死锁与活锁的实例详解

    2023-06-26 13:17:00
  • 关于Java8新特性Optional类的详细解读

    2023-12-06 00:38:53
  • Android应用中仿今日头条App制作ViewPager指示器

    2023-02-01 15:45:24
  • Android App中自定义View视图的实例教程

    2021-08-16 16:54:35
  • java中申请不定长度数组ArrayList的方法

    2023-02-24 17:37:37
  • UnityShader使用Plane实现翻书效果

    2022-05-19 14:46:14
  • SpringBoot+SpringCloud用户信息微服务传递实现解析

    2022-12-08 13:51:42
  • Android设计模式之单例模式详解

    2022-03-12 16:51:47
  • 详解Java七大阻塞队列之SynchronousQueue

    2023-12-16 04:21:30
  • Android界面 NotificationManager使用Bitmap做图标

    2023-06-13 11:59:42
  • asp之家 软件编程 m.aspxhome.com