您的位置:首页 > 编程语言 > Java开发

Java字面量(Java直接量)和符号引用

2015-03-09 10:50 267 查看


1、Java字面量(Java直接量)

int i = 1;把整数1赋值给int型变量i,整数1就是Java字面量,

同样,String s = "abc";中的abc也是字面量。
数据类型
直接量描述
举例
int
整数直接量(可用二、十、八、十六进制表示)
12

-12

+12

0b12

012

0x12
long
在整数直接量(也就是int型)后面,加上字母l或L
12l

-12L
float
在数字(包括整数和小数)后面,加上字母f或F
3f

-3.14F

3.14e5F

-3.14E-5f

.5f
double
1.浮点数直接量

2.科学计数法直接量

3.在数字(包括整数和小数)后面加上字母d或D
3d

3.14e-5

-.5
boolean
布尔直接量true、false
true

false
char
1.单引号内的单个字符

2.单引号内的转义字符
‘a’

‘中’

‘\n’

‘\u0000’
String
双引号内的字符序列
“abc”

“中国”
null
引用类型的空指向
null
举例:

?


错误的字面量

比int的最大值还要大1的直接量2147483648是错误的,因为超过int表示的范围,应该使用2147483648L表示。

比long的最大值大1的直接量9223372036854775808L是错误的,因为超过long表示的范围,应该使用 BigInteger类来表示:BigInteger b = new BigInteger("9223372036854775808");

下面四个字面量是错误的: 

         一个单引号:''' 

         一个反斜杠:'\' 

        带有"引号的字符串:"abc"xyz" 

        带有\反斜杠的字符串:"abc\xyz" 

正确的写法是转义: 

        '\'' 

        '\\' 

        "abc\"xyz"

        "abc\\xyz"


说明

整数直接量的四种表示:十进制、二进制(JDK7支持)、八进制、十六进制。

  八进制:以数字0开头的整数,如012,表示十进制的10;

  十六进制:以数字0和字母X(或x)组合开头的整数,如0x12,表示十进制的18。

  二进制:以数字0和字母B(或b)组合开头的整数,如0b11,表示十进制的3;

Java中,数字前多余的0,会自动去掉。如00.1表示0.1,0012表示八进制012。

Java中,小数可省略0.部分或.0部分,如.3表示0.3,3.表示3.0。

对于数字直接量,需要根据直接量类型以及各类型的取值范围来规范赋值,不能将高取值范围的直接量赋值给低取值范围的类型,如:

?
笔者认为还有一种字面量,叫数组字面量,如{元素1,...,元素N},它只能赋给数组。

JDK1.7新增特性

  二进制表示数字:以数字0和字母B(或b)组合开头的整数;

  下划线分割符:int one_million = 1_000_000;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: