一个直接量(字面量)是一个程序中直接出现的常量值
整数直接量
int number=10; //10就是直接量
double weight=10.0; //10.0就是直接量
默认情况下,整形直接量是一个十进制数,表示一个二进制直接量需要0b或0B开头(零B),表示一个八进制直接量需要0(零)开头,表示一个十六进制直接量需要0x或0X(零X)开头
整数型直接量默认为int类型,直接量不能超过数据类型的存储范围,当需要使用long类型时,需要在数字后加l(不是i)或L
int a=0b1;//二进制1
int b=05;//八进制5
int c=0xa;//十六进制a
long d=1L;//long类型1
浮点型直接量
浮点型直接量默认使用double类型,例如1.0被认为是double类型,二不是float类型,使用float类型需要在数字后加f或F
double a=1.0;
float b=1.0f;
float c=1.0;//错误1.0默认为double类型
浮点型默认为double类型,当需要为一个float类型的变量赋值是,必须使用float类型,不能使用double类型,不会发生数据类型提升
浮点型科学计数法
在Java中允许使用科学计数法表示一个浮点数
可以使用a*10^b的形式来表示一个浮点数例如
double a=1.234E-2;//E表示指数,可以大写也可以小写
Java允许在多个数字之间使用_分割,以提高程序的可读性,_只能出现在两个数字中间
int a =100_000;
表达式直接量
Java允许使用一个表达式作为直接量
int a = 1+1;
表达式1+1只存在于编译期,在.class文件中1+1会被代替为2