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

下面我们来系统地认识一下Java中的常量值,以及定义常量的方法。

一、常量值

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

1. 整型常量值

Java 的整型常量值主要有如下 3 种形式。

十进制数形式:如 54、-67、0。

八进制数形式:Java 中的八进制常数的表示以 0 开头,如 0125 表示十进制数 85,-013 表示十进制数 -11。

十六进制数形式:Java 中的十六进制常数的表示以 0x 或 0X 开头,如 0x100 表示十进制数 256,-0x16 表示十进制数 -22。

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

2. 实型常量值

Java 的实型常量值主要有如下两种形式。

十进制数形式:由数字和小数点组成,且必须有小数点,如 12.34、-98.0。

科学记数法形式:如 1.75e5 或 32E3,其中e或E之前必须有数字,且e或 E之后的数字必须为整数。

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

单精度型数值一般要在该常数后面加 F 或 f,如 69.7f,表示一个 float 型实数,它在内存中占 32 位(取决于系统的版本高低)。

3. 布尔型常量值

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

4. 字符型和字符串常量值

Java 的字符型常量值是用单引号引起来的一个字符,如 'e'、E'。需要注意的是,Java 字符串常量值中的单引号和双引号不可混用。双引号用来表示字符串,像 "11"、"d" 等都是表示单个字符的字符串。这一点上,Java与C语言完全一致!注意:这里表示字符和字符串的单引号和双引号都必须是英语输入环境下输入的符号。

除了以上所述形式的字符常量值之外,Java 还允许使用一种特殊形式的字符常量值来表示一些难以用一般字符表示的字符,这种特殊形式的字符是以 \ 开头的字符序列,称为转义字符。下表列出了 Java 中常用的转义字符及其表示的意义:

转义字符 说明

\ddd 1~3 位八进制数所表示的字符

\uxxxx 1~4 位十六进制数所表示的字符

\' 单引号字符

\" 双引号字符

\\ 双斜杠字符

\r 回车

\n 换行

\b 退格

\t 横向跳格

总结:在Java中,常量有五种类型,包括整型常量(int)、浮点型常量(float or double)、布尔常量(boolean)、字符常量(char)和字符串常量(String)。

首先是整型常量,整型常量和我们在自然数学中理解的整数差不多,区别是在Java中,整型常量分为八进制、十进制和十六进制。用前缀0x表示十六进制,前缀0表示八进制、不带前缀就表示十进制,同时整型变量也有它的范围,常规整型占四个字节,也就是三十二位。

浮点常量包括整数部分、小数点、小数部分和指数部分,可以用小数形式或者指数形式e或者E来表示浮点常量。当使用小数形式表示时,必须包含整数部分、小数部分,或同时包含两者,并且在Java中,由于默认使用双精度类型浮点常量,如果要使用浮点常量,需要在数据后面加上后缀f以区分。不加后缀则是双精度类型,占八个字节。例如51.2f是浮点量51.2,而51.2是双精度浮点51.2。

在Java中,布尔常量有两个,true和false,true代表程序为真、false代表程序为假,在循环语句和判断语句中会经常使用到布尔常量。

字符常量要括在单引号中,可以是一个普通的字符,例如'a',也可以是一个转义字符,例如'\t',也可以是一个通用字符。例如'\u02C0'。字符串常量则是括在双引号中,如果字符过长,也可以使用"+"号分成两个字符串,如("hello,world")和("hello,"+"world")效果是相同的。

二、定义常量

常量不同于常量值,它可以在程序中用符号来代替常量值使用,因此在使用前必须先定义。常量与变量类似也需要初始化,即在声明常量的同时要赋予一个初始值。常量一旦初始化就不可以被修改。它的声明格式为:

Java 语言使用 final 关键字来定义一个常量,其语法如下所示:

final dataType variableName = value

其中,final 是定义常量的关键字,dataType 指明常量的数据类型,variableName 是变量的名称,value 是初始值。

final 关键字表示最终的,它可以修改很多元素,修饰变量就变成了常量。例如以下代码使用 final 关键字声明常量:

public class HelloWorld {

    // 静态常量

       public static final double PI = 3.14;

    // 声明成员常量

       final int y = 10;

    public static void main(String[] args) {

        // 声明局部常量

        final double x = 3.3;

    }

}

常量有三种类型:静态常量、成员常量和局部常量。

代码第 3 行的是声明静态常量,使用在 final 之前加上 public static进行修饰。public static 修饰的常量作用域是全局的,不需要创建对象就可以访问它,在类外部访问形式为 HelloWorld. PI。这种常量在编程中使用很多。

代码第 5 行声明成员常量,作用域类似于成员变量,但不能修改。代码第 8行声明局部常量,作用域类似于局部变量,但不能修改。

在定义常量时,需要注意如下内容:

1. 在定义常量时就需要对该常量进行初始化。

2. final 关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。

3. 为了与变量区别,常量取名一般都用大写字符。

当常量被设定后,一般情况下不允许再进行更改,如果更改其值将提示错误。例如,如下图中定义常量 AGE 并赋予初值,如果更改 AGE 的值,那么在编译时将提示不能重合赋值错误。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:04月19日

热门专题

APP开发|app开发_app开发公司_app软件开发_专业app开发_云南app开发公司_app定制_原生app开发定制
APP开发
弥勒综合高中|弥勒综合高中
弥勒综合高中
昆明网站建设|昆明网站建设,昆明网站开发,昆明网站建设公司,昆明网站建设价格,昆明网站设计,昆明网站制作,网页设计,高端网站建设,高端网站设计
昆明网站建设
大理科技管理学校|大理科技管理学校,大理科技,大理科技中等职业技术学校,大理科技管理中等职业技术学校,大理科技学校
大理科技管理学校
综合高中|云南综合高中,昆明综合高中,综合高中能考本一吗,综合高中和普通高中的区别,综合高中是什么意思,综合高中能参加全国统一高考吗,综合高中可以考哪些大学,综合高中的学籍是什么
综合高中
云南综合高中|云南综合高中
云南综合高中
昆明综合高中|昆明综合高中
昆明综合高中
安徽开放大学|安徽开放大学报名,安徽开放大学报考,安徽开放大学,什么是安徽开放大学,安徽开放大学学历,安徽开放大学学费,安徽开放大学报名条件,安徽开放大学报名时间,安徽开放大学学历,安徽开放大学专业
安徽开放大学

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部