1、Java字面量(Java直接量)
int i=1;把整数1赋值给int型变量i,整数1就是Java字面量,
同样,String s="abc";中的abc也是字面量。
举例:
int i1 = 123; // 十进制123int i2 = +0b101; // 二进制101int i3 = -0123; // 八进制123int i4 = 0xA9E3F; // 十六进制A9E3F long l1 = 123456789l;long l2 = 0b101L;long l3 = +0123L;long l4 = -0xA9E3FL; float f1 = 3.14f;float f2 = -3e-5f;float f3 = +.5F; // float型数 正0.5 double d1 = 3.0;double d2 = +314e-2;double d3 = -.5; // double型数 负0.5 boolean b = true; char c1 = 'a';char c2 = '中';char c3 = ''; // 转义字符,最终的字符是反斜杠char c4 = '123'; // +三位八进制数char c5 = 'u000f'; // Unicode 000f String s1 = "abc";String s2 = "中国";String s3 = "nr"; // 转义字符串,最终的字符串是换行回车 Object o = null;String s = null; // 因为String是引用类型,所以可以赋null
错误的字面量
比int的最大值还要大1的直接量2147483648是错误的,因为超过int表示的范围,应该使用2147483648L表示。
比long的最大值大1的直接量9223372036854775808L是错误的,因为超过long表示的范围,应该使用BigInteger类来表示:BigInteger b=new BigInteger("9223372036854775808");
下面四个字面量是错误的:
一个单引号:'''
一个反斜杠:''
带有"引号的字符串:"abc"xyz"
带有反斜杠的字符串:"abcxyz"
正确的写法是转义:
'''''"abc"xyz""abcxyz"
说明
整数直接量的四种表示:十进制、二进制(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。
对于数字直接量,需要根据直接量类型以及各类型的取值范围来规范赋值,不能将高取值范围的直接量赋值给低取值范围的类型,如:
float f1 = 3.14; // 错误,3.14是double型,float型取值范围小于doublefloat f2 = 3.14f; // 正确double d1 = 3.14; // 正确double d2 = 12; // 正确,直接量12是int型,而double型取值范围大于int,d2的值将变成12.0
笔者认为还有一种字面量,叫数组字面量,如{元素1,...,元素N},它只能赋给数组。
JDK1.7新增特性
二进制表示数字:以数字0和字母B(或b)组合开头的整数;
下划线分割符:int one_million=1_000_000;
以上就是长沙一度软件培训java培训机构的小编针对“Java基础:Java布尔字面量”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。