Java-003 字面量(直接量)
直接量的类型:
并不是所有的数据类型都可以制定直接量,能制定直接来那个的通常只有三种类型:基本类型,字符串类型和null类型。具体而言,Java支持如下8种类型的直接量。
1)int类型
在程序种直接给出的整型数值,可分为二进制,十进制,八进制和十六进制4种,其中中二进制需要以0B或0b开头,八进制需要以0开头,十六进制需要以0x或0X开头。例如:123,012(对应十进制的10).0x12(对应十进制的18)等。
2)long类型的直接量
在整形竖直后添加l或L后就变成long类型的直接量。例如3l,0x12L(对应十进制的18L)
3)float类型的直接量
在一个浮点数后添加f或F就变成了float类型的直接量,这个浮点数可以是标准小数形式,也可以是科学技术法形式。例如5.34F,3.14E5f。
4)double类型的直接量
直接给出一个表准小数形式或者科学计数法形式的浮点数就是double类型的直接量。例如5.34,3.14E5。
5)boolean类型的直接量
这个类型的直接量只有true和false。
6)char类型的直接量
char类型的直接来那个由三种形式,分别是用单引号括起来的字符,转义字符和Uniconde值表示的字符。例如'a','\n'和'\u0061\'。
7)String类型的直接量
一个用双引号括起来的字符序列就是String类型的直接量。
在大多数其他语言中,包括C/C++,字符串座位字符的数组被实现。然而,在Java对字符串是座位对象实现的,因此,它由广泛的字符串处理能力,而且功能既强又好用。
8)null类型的直接量
这个类型的直接量只有一个值,即null。
在上面的8中类型的直接量中,null累心是一种特殊类型,它只有一个值:null。而且这个直接量可以赋给任何引用类型的变量,用以表示这个应用类型变量中保存的地址为空,即还未指向任何有效对象。
提示:
由于String类是一个类型的不可变类,因此String对象创建出来的就不可能改变,因此无需单行共享String对象会导致混乱。
常量池(constant pool)制定的是在编译期被确定,并被保存在已编译的.class文件中的一些数据,它包括关于类,方法,接口中的常量,也包括字符串直接量。