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编程实现非对称加密的方法。分享给大家供大家参考,具体如下:对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算
- 在之前的文章中已经为大家介绍了java并发编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQue
- 本文主要讲解Android浏览器的开发实例,有三部分内容:启动Android默认浏览器、指定浏览器进行访问以及打开本地的htm
- 一、实验目的1. 掌握输入输出流的总体结构;2. 掌握流的概念;3. 掌握FileInputStream类、FileOutputStream
- JNA(Java Native Access):建立在JNI之上的Java开源框架,SUN主导开发,用来调用C、C++代码,尤其是底层库文件
- java7增强的try语句关闭资源传统的关闭资源方式import java.io.FileInputStream;import java.i
- 做了2,3年的java-web,始终木有逃离所谓基础业务,增删改查这些一成不变的东西写起来浪费大量时间,于是做了个简单的代码生成器快速生成代
- 注解定义: 注解是一种注释机制,它可以注释包、类、方法、变量、参数,在编译器生成类文件时,标注可以被嵌入到字节码中。注解的分类:内置注解Ov
- 目录重入锁1. 实现重进入2. 公平与非公平获取锁的区别读写锁1. 接口示例2. 读写状态的设计3. 写锁的获取与释放4. 读锁的获取与释放
- 1.如下图中的检测值存到数据库是科学计数法2 经过代码处理后3 只需要对你读到的字符串进行如下操作BigDecimal bd = new B
- 线上出现了如上的 crash,第一解决反应是在 show dialog 之前做个 isFinish 和 isDestroyed 判断,当我翻
- 在项目中引入springcloud中的gateway时报以下错误Description:Parameter 0 of method modi
- 本文实例讲述了Android开发之ListView列表刷新和加载更多实现方法。分享给大家供大家参考。具体如下:上下拉实现刷新和加载更多的Li
- 对一个集合中的对象进行排序,根据对象的某个指标的大小进行升序或降序排序。代码如下:进行降序排列 进行降序排列 Co
- 记录单击、双击实现过程,进行简单的封装,便于复用,包括常用的软件双击退出。双击实现:记录第一次点击时间,在设定时间内再次点击,则返回监听事件
- 一、信号量(Semaphore)信号量(Semaphore)是由内核对象维护的int变量,当信号量为0时,在信号量上等待的线程会堵塞,信号量
- 上周工作中遇到一个奇怪的问题,解决之后想想还是写出来和大家分享一下。故障描述:在A程序中使用Process.Start方法调用一个B.exe
- 一、问题场景使用Logger.error方法时只能打印出异常类型,无法打印出详细的堆栈信息,使得定位问题变得困难和不方便。二、先放出结论Lo
- android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析。android的程序基于java开发,当我们接上调试器
- iText下载页面: http://sourceforge.net/projects/itext/files/1.创建简单的PDF文件pac