常量
概念:
在程序运行过程中,其值不可以发生改变的量,称为常量
常量分类:
- 字面值常量
- 自定义常量(面向对象部分讲解)
字面值常量:
字符串常量
用双引号括起来的多个字符(可以包含0个、一个或多个)
例如:“”、“a”、“abc”、"中国"等
整数常量
整数值,例如:-10、0、88等
小数常量
小数值,例如:-5.5、1.0、88.88等
字符常量
用单引号括起来的一个字符
例如:‘a’、‘5’、‘B’、'中’等
布尔常量
布尔值,表示真假,只有两个值:
true、false
空常量
一个特殊的值,空值:
null
注意事项:
除空常量外,其他常量均可使用输出语句直接输出
大家可以好好揣摩下
字面值常量
这个词,这个字面值是固定、不可改变的,即常量值
案例展示:
package com.briup.chap02;
public class Test04_Constant {
//输出各种类型的常量值
public static void main(String[] args) {
System.out.println(10); // 输出整数常量
System.out.println(5.5); // 输出小数常量
System.out.println('a'); // 输出字符常量
System.out.println(true); // 输出boolean常量值true
System.out.println("欢迎来到杰普软件"); // 输出字符串常量
}
}
常量补充内容
观察下面案例,思考案例中常量的数据类型
//输出各种常量值
public static void main(String[] args) {
System.out.println(10); // int
System.out.println(0b0110); // ?
System.out.println(026); // ?
System.out.println(0x1c); // ?
System.out.println(5.5); // double
System.out.println('a'); // char
System.out.println(true); // boolean
System.out.println("欢迎来到杰普软件"); // String
}
注意:整形字面值,不论是二进制、八进制还是十进制、十六进制,默认都是int类型常量。
思考:long、float等类型的常量,该如何书写?
整形数后面加’L’或’l’,就表示long类型字面值常量
小数后面加’F’或’f’,就表示float类型字面值常量
//输出各种常量值
public static void main(String[] args) {
System.out.println(10); // int
//整形数后面加'L'或'l',就表示long类型字面值常量
System.out.println(0x1cl); //long
System.out.println(10L); //long
System.out.println(5.5); // double
//小数后面加'F'或'f',就表示float类型字面值常量
System.out.println(3.14F); //float
System.out.println(-2.0f); //float
//下面用double类型常量值给f1赋值,编译报错,为什么?
//float f1 = 5.5;
float f2 = 5.5F;
int num = 20;
//下面给num赋值编译报错,为什么?
//num = 1000000000000L;
System.out.println(num);
//下面给count赋值编译运行正常,为什么?
long count = 1000000000000L;
System.out.println(count);
}
扩展内容:思考下面代码中的为什么编译报错
package com.briup.chap02;
public class Test07_Extend {
//输出各种常量值
public static void main(String[] args) {
//1.为什么下面用double类型常量值给f1赋值,会编译报错?
//float f1 = 5.5;
float f2 = 5.5F;
int num = 20;
//2.为什么下面给num赋值,会编译报错?
//num = 1000000000000L;
System.out.println(num);
//3.为什么下面给count赋值,编译运行正常?
long count = 1000000000000L;
System.out.println(count);
}
}