Java基础-Java常量和常量值

 更新时间:2022年01月17日 11:32:25   作者:码农洞见  
这篇文章主要介绍了Java基础-Java常量和常量值,在程序中存在大量的数据来代表程序的状态,其中有些数据在程序运行过程中值不能发生改变,这些数据在程序中被叫做常量,下面文章对Java常量和常量值的详细内容,需要的小伙伴可以参考一下

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 。

到此这篇关于Java基础-Java常量和常量值的文章就介绍到这了,更多相关 Java常量和常量值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mybatis-Plus实现自定义SQL具体方法

    Mybatis-Plus实现自定义SQL具体方法

    Mybatis-Plus是Mybatis的一个增强工具,它可以优化我们的开发效率,这篇文章主要介绍了Mybatis-Plus实现自定义SQL,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • SpringBoot常用计量与bean属性校验和进制数据转换规则全面分析

    SpringBoot常用计量与bean属性校验和进制数据转换规则全面分析

    这篇文章主要介绍了SpringBoot常用计量、bean属性校验与进制数据转换规则,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-10-10
  • SpringBoot集成ShedLock实现分布式定时任务流程详解

    SpringBoot集成ShedLock实现分布式定时任务流程详解

    ShedLock是一个锁,官方解释是他永远只是一个锁,并非是一个分布式任务调度器。一般shedLock被使用的场景是,你有个任务,你只希望他在单个节点执行,而不希望他并行执行,而且这个任务是支持重复执行的
    2023-02-02
  • 详解SpringBoot和SpringBatch 使用

    详解SpringBoot和SpringBatch 使用

    Spring Batch 是一个轻量级的、完善的批处理框架,旨在帮助企业建立健壮、高效的批处理应用。这篇文章主要介绍了详解SpringBoot和SpringBatch 使用,需要的朋友可以参考下
    2018-07-07
  • 详解Spring整合mybatis--Spring中的事务管理(xml形式)

    详解Spring整合mybatis--Spring中的事务管理(xml形式)

    这篇文章主要介绍了Spring整合mybatis--Spring中的事务管理(xml形式),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-11-11
  • Maven是什么?Maven的概念+作用+仓库的介绍+常用命令的详解

    Maven是什么?Maven的概念+作用+仓库的介绍+常用命令的详解

    Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑.,本文给大家介绍Maven的概念+作用+仓库的介绍+常用命令,感兴趣的的朋友跟随小编一起看看吧
    2020-09-09
  • 认识Java中的Stub与StubQueue

    认识Java中的Stub与StubQueue

    StubQueue是用来保存生成的本地代码的Stub队列,队列每一个元素对应一个InterpreterCodelet对象,InterpreterCodelet对象继承自抽象基类Stub,下面我们介绍一下StubQueue类及相关类Stub、InterpreterCodelet类和CodeletMark类。需要的的下伙伴可以参考下面文字内容
    2021-09-09
  • 学习Java中的List集合

    学习Java中的List集合

    这篇文章主要介绍了学习Java中的List集合,List是一个有序集合, 说是集合,其实只是只是Collection接口的一个子接口,下面关于List的相关资料 需要的小伙伴可以参考一下,希望对你有所帮助
    2022-02-02
  • 解决gateway报netty堆外内存溢出io.netty.util.internal.OutOfDirectMemoryError

    解决gateway报netty堆外内存溢出io.netty.util.internal.OutOfDirectMemor

    这篇文章主要介绍了解决gateway报netty堆外内存溢出io.netty.util.internal.OutOfDirectMemoryError,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Spring BeanFactory和FactoryBean区别解析

    Spring BeanFactory和FactoryBean区别解析

    这篇文章主要介绍了Spring BeanFactory和FactoryBean区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03

最新评论