常量就是在程序中固定不变的值,是不能改变的数据。例如数字1,字符‘a’等。在java中常量包括整型常量、浮点型常量、布尔型常量以及字符常量等。
1.整型常量
整型常量是整数类型的数据,有二进制、八进制、十进制和十六进制4种表示形式。
二进制:由数字0和1组成的数字序列。在JDK 7以后,允许使用二进制字面值来表示整数,此时二进制数值前面要以0b或0B开头,目的是为了和十进制进行区分,如 0b01101100、0B10110101。
八进制:以0开头并且其后由0、7(包括0和7)的整数组成的数字序列,如0342。
十进制:由数字0、9(包括0和9)的整数组成的数字序列,如198。
十六进制:以0x或者0X开头,并且其后由0、9、A、F(包括0和9、A和F)组成的字符序列,如0x25AF0。
需要注意的是,在程序中为了标明不同的进制,数据都有特定的标识,八进制必须以0 开头,如0711、0123;十六进制必须以0x或0X开头,如0xaf3、0Xff;整数以十进制表示时,第一位不能是0,0本身除外。例如十进制的127,用二进制表示为01111111,用八进制表示为0177,用十六进制表示为0x7F或者0X7F。
2.浮点数常量
浮点数常量就是在数学中用到的小数,分float单精度浮点数和double双精度浮点数两种类型。其中,单精度浮点数后面以F或f结尾。双精度浮点数则以D或d结尾。例如:
单精度浮点数常量:2e3f、0F、5.022e+23f
双精度浮点数常量:3.6d、3.89D
3.字符常量
字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号' '引起来,它可以是英文字母、数字、标点符号以及转义序列来表示的特殊字符。具体如下:
'a'、 '2'、 '&'、 '\r'
4.字符串常量
字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号" "引起来,例如:
"HelloWorld!"、 "I love java"、"Welcome \n XXX" 、" "
一个字符常量可以包含一个字符或多个字符,也可以不包含任何字符,即长度为零。
5.布尔常量
布尔常量即布尔类型的两个值true和false,该常量用于区分一个条件的真假。
6.null常量
null常量只有一个值null,表示对象的引用为空。
而Java中的常量,其实就是特殊的变量,是固定不变的量,有且只能进行一次赋值。 Java中定义常量的语法非常简单,只需要在定义变量的语法基础上加上一个final关键字修饰即可,其语法格式如下:
final 常量类型 变量名 [=初始值];
上述定义Java常量的语法格式与定义J ava变量的语法格式基本相同。同样,定义Java常量需要声明定义常量类型、常量名,并可以对该常量进行初始化赋值,也可以后续赋值。唯一不同的是,定义Java常量时必须用final关键字修饰,来声明是一个不可改变的量。其具体使用示例如下:
final int a=0,b; //定义一个int类型的常量a和b,并为常量a初始化赋值0
b=1; //后续为常量b赋值
小试牛刀:
试着在——处补全代码并运行输出结果:
public class HelloWorld{
public static void main(String[] args) {
————— String male="男";
final —————— female="女";
System.out.println(male);
System.out.println(female);
}
}
运行结果:
男
女
答案见下期尾部!
上期答案:
答案是 b = b1 + b2; 这句
因为在Java语言中整数在进行运算时都会默认int类型的变量进行运算,所以这句编译失败。