在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
在初学者学习Java的时候,常常会碰到有关于常量的知识点。零基础的小白常常弄不清常量的学习内容。那么什么是常量呢?其实就是在程序中固定不变的值,是不能改变的数据。本文将带着大家梳理一遍常量的定义、分类和作用。

一、常量的定义:
“常量”的广义概念是:‘不变化的量’(例如:在计算机程序运行时,不会被程序修改的量;数学函数中的某一个量,例如每一个具体的圆的半径、直径数值;物理学中的靠近地面的重力加速度;真空中的光速数值;不同的微粒的各自的质量)换言之,常量,在计算机技术方面虽然是为了硬件、软件、编程语言服务,但是它并不是专门为硬件、软件、编程语言而引入的概念。常量可区分为不同的类型,如:25、0、-8为整型常量,6.8、-7.89为实型常量,‘a’、‘b’为字符常量。常量一般从其字面形式即可判断。这种常量称为字面常量或直接常量。
二、常量的分类:
1、整型常量
整型常量是整数类型的数据,有二进制、八进制、十进制和十六进制4种表示形式具体表示形式如下。
二进制:由数字0和1组成的数字序列。在JDK7.0中允许使用字面值来表示二进制数,前面要以0b或0B开头,目的是为了和十进制进行区分,比如0b01101100、0B10110101。
八进制:以0开头并且其后由0~7范围内(包括0和7)的整数组成的数字序列,如0342。
十进制:由数字0~9范围内(包括0和9)的整数组成的数字序列。如198。
十六进制:以0x或者0X开头并且其后由0~9、A~F(包括0和9、A和F)组成的数字序列,如0x25AF。
需要注意的是,在程序中为了标明不同的进制,数据都有特定的标识,八进制必须以0开头,如0711,0123;十六进制必须以0x或0X开头,如0xaf3、0Xff;整数以十进制表示时,第一位不能是0,0本身除外。例如十进制的127,用二进制表示为011111八进制表示为017,用十六进制表示为0x7F或者0X7F。
2、浮点数常量
浮点数常量就是在数学中用到的小数,分为foat单精度浮点数和double双精度浮点数两种类型。其中,单精度浮点数后面以F或f结尾,而双精度浮点数则以D或d结尾。当然,在使用浮点数时也可以在结尾处不加任何的后缀,此时虚拟机会默认为double双精度浮点数。浮点数常量还可以通过指数形式来表示。具体示例如下:
2e3f 3.6d 0f 3.84d 5.022e+23f
3、字符常量
字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引’’号引起来,它可以是英文字母、数字、标点符号以及由转义序列来表示的特殊字符。具体示例如下:
‘a’ ‘1’ ‘&’ ‘\r’ ‘\u0000’
上面的示例中,’\u00’表示一个空白字符,即在单引号之间没有任何字符。之所以能这样表示,是因为Java采用的是Unicode字符集,Unicode字符以\u开头,空白字符在Unicode码表中对应的值为’\u0000’。
4、字符串常量
字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号””引起来,具体示例如下:
“HelloWorld" “123" "We come \n XXX" "”
一个字符串可以包含一个字符或者多个字符,也可以不包括任何字符,即长度为零。
5、布尔常量
布尔常量即布尔型的两个值true和false,该常量用于区分一个事物的真与假。
6、null常量
null常量只有一个值null,表示对象的引用为空。
三、常量的作用:
1、常量用易于理解的清楚的名称替代了含义不明确的数字或字符串,使程序更易于阅读。
2、常量使程序更易于修改。例如,在C#程序中有一个SalesTax常量,该常量的值为6%。如果以后销售税率发生变化,把新值赋给这个常量,就可以改所有的税款计算结果,而不必查找整个程序,修改税率为0.06的每个项。
3、常量更容易避免程序出现错误。如果把一个值赋给程序中的一个常量,而该常量已经有一个值,编译器就回报告错误。
以上就是Java常量知识点的小结。相信大家看到这对常量的了解也差不多了,如果大家有任何在学习Java上的疑问,可以上博学谷官网学习哦!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
初学Java要安装什么软件比较好?
相信不少初学Java的同学,在学习的道路上一开始就遇到了这样的“拦路虎”:初学Java要安装什么软件比较好?工欲善其事必先利其器,Java程序员写代码也是如此。
9692
2019-07-05 10:48:07
线程基础知识Java并发编程
线程基础知识Java并发编程,进程和线程是操作系统内两个很基的概念,进程是操作系统中进行保护和资源分配的基本单位,操作系统分配资源以进程为基本单位。而线程是进程的组成部分代表了一条顺序的执行流。
5374
2020-04-10 14:46:44
Redis基础课程学什么?
缓存是目前企业级应用中的核心组成部分,当今主流的电商、生活服务、直播等领域都离不开缓存的使用。Redis作为当下主流的缓存技术,已成为互联网企业的不二首选,基于Redis集群的缓存结构设计已在同领域内占据半壁江山。本文主要为大家介绍Redis的基础课程,让大家清楚地了解Redis基础课程学什么,有学习需要的朋友不妨来了解一下。
5745
2020-04-24 16:22:40
新手如何开始学习Java
新手学入门学习Java应该如何开始?很多开始学习Java的同学认为,只要有一套视频、有一本书就可以开始Java技术学习。然而在学习的过程中,这部分同学往往是最先中断甚至放弃的那一部分。即使这部分同学学习完了整套的课程或者图书,却不知道如何开发程序,也没有信心去找工作。那产生这样问题的原因是什么呢?作为新手应该如何开始学习才是最好的方法呢?
5478
2020-07-24 16:21:13
Java开发中Netty线程模型原理解析
Netty是Java领域有名的开源网络库,具有高性能和高扩展性的特点,很多流行的框架都是基于它来构建。netty 线程模型不是一成不变的,取决于用户的启动参数配置。通过设置不同的启动参数Netty ,可同时支持 Reactor 单线程模型、多线程模型。
5790
2021-05-13 10:28:26
