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使用poi操作excel的具体代码,供大家参考,具体内容如下依赖poi的jar包,pom.xml配置如下:<
- execution (常用,方法级别的匹配)语法:execution(modifiers-pattern? ret-type-pattern
- MainActivity如下: package cn.testjavascript; import java.util.StringToke
- 首先我们发现现在我们所用的android智能手机大部分都有当你在打电话时按power键来挂断电话,一般都是在设置中。 我主要是在原生源码中添
- 前言项目使用了SpringBoot构建项目。下面对动态调整日志的级别进行记录。从版本 1.5.1 之后就提供了基于 spring-boot-
- 缓存是现代应用服务器中非常常用的组件。除了第三方缓存以外,我们通常也需要在java中构建内部使用的缓存。那么怎么才能构建一个高效的缓存呢?
- 学习app对excel的读写控制1.界面设计<?xml version="1.0" encoding="
- 首先给一个简单的Builder设计模式的例子:主实现类代码如下:/** * 实体类 包含一个静态内部类 Builder */public c
- 针对实例化过程中会做什么的分析,其中主要的是怎么推断出构造方法,怎么进行匹配【1】前言实例化这一步便是在doCreateBean方法的 in
- 本文实例讲述了c#使用Dataset读取XML文件动态生成菜单的方法。分享给大家供大家参考。具体实现方法如下:Step 1:Form1 上添
- 在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现的不规范代码。所以,我把它们整理成了一个列表出来分享给
- 本文实例为大家分享了WPF实现3D翻牌式倒计时的具体代码,供大家参考,具体内容如下实现效果如下:思路:使用自定义控件,设置一个背板 MyCa
- 本文实例为大家分享了Android SQLite数据库连接实现登录功能的具体代码,供大家参考,具体内容如下布局文件border.xml<
- c++回调之利用函数指针示例#include <iostream>using namespace std;/**********
- 本文实例讲述了C# linq查询之动态OrderBy用法。分享给大家供大家参考。具体分析如下:groupList是原始数据集合,List&l
- 一、一级缓存二级缓存的概念解释(1)一级缓存就是Session级别的缓存,一个Session做了一个查询操作,它会把这个操作的结果放在一级缓
- 本文实例讲述了C#.net实现在Winform中从internet下载文件的方法。分享给大家供大家参考。具体如下:自己做了一个通用的软件自动
- 文件数据流在java语言中,进行文件输入和输出时,经常会使用到FileIntputStream和FileOutputStream两个文件数据
- 摘要:最近在做任务管理,任务可以无限派生子任务且没有数量限制,前端采用Easyui的Treegrid树形展示控件。一、遇到的问题获取全部任务
- 本文实例讲述了Android开发之OpenGL绘制2D图形的方法。分享给大家供大家参考,具体如下:Android为OpenGL ES支持提供