Java常量就是在程序中固定不变的值,是不能改变的数据,下面详解Java常量的定义与6种类型的详细用法。
一、 Java常量的定义
Java常量的定义是:用final修饰的量称为常量,并且在类编译时期载入类的常量池中。
常量举例:
final int COUNT=10;
二、Java定义常量的方法
1.Interface定义常量
采用接口(Interface)的中变量默认为static final的特性,示例如下:
public interface ConstantInterface { String SUNDAY = "SUNDAY"; String MONDAY = "MONDAY"; String TUESDAY = "TUESDAY"; String WEDNESDAY = "WEDNESDAY"; String THURSDAY = "THURSDAY"; String FRIDAY = "FRIDAY"; String SATURDAY = "SATURDAY"; }
2.普通类定义常量
public class ConstantClassField { public static final String SUNDAY = "SUNDAY"; public static final String MONDAY = "MONDAY"; public static final String TUESDAY = "TUESDAY"; public static final String WEDNESDAY = "WEDNESDAY"; public static final String THURSDAY = "THURSDAY"; public static final String FRIDAY = "FRIDAY"; public static final String SATURDAY = "SATURDAY"; }
3.Enum定义常量
enum ConstantEnum { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
三、 Java常量的6种类型
Java常量有如下6种表现形式:
1.整数常量值
整型常量是整数类型的数据,有二进制、八进制、十进制和十六进制4种表示形式。
具体的表现形式如下:
二进制:由0、1组成,以0b开头 八进制:由0,1,....7组成,以0开头 十进制:由0,1,......9组成,整数默认是十进制 十六进制:由0,1,....9,a,b,c,d,e,f(大小写均可)组成,以0x开头
备注:在程序中为了标明不同的进制,数据都有特定的标识。
- 1.二进制——以0b或0B开头
- 2.八进制——必须以0开头
- 3.十进制——常用的进制
- 4.十六进加粗样式制——以0x或0X开头,0-9,A-F(a-f)
具体示例如下:
class Binarytest{ public static void main(String[] args){ int num1 = 123; int num2 = 0b1110; int num3 = 0x138; int num4 = 077; System.out.println(num1,num2,num3,num4); } }
2.字符串常量值
凡是用双引号引起来的部分,叫做字符串的常量。
具体示例如下:
"mikechen的互联网架构"
3.字符常量值
凡是用单引号引起来的单个字符,就叫做字符常量。
具体示例如下:
'陈' 、 '睿'、'm'、'i'、'k'、'e'
4.浮点数常量
浮点数常量,通俗来讲就是数学中用到的小数。
Java浮点数常量分为foat单精度浮点数和double双精度浮点数两种类型:
- float类型称作单精度类型,尾数可以精确到7位有效数字;
- double 精度约是float类型的两倍,称为双精度类型;
当然,在使用浮点数时也可以在结尾处不加任何的后缀,此时虚拟机会默认为double双精度浮点数,浮点数常量还可以通过指数形式来表示。
具体示例如下:
2e3f 3.6d 0f 3.84d 5.022e+23f
备注:浮点数不精确不能用于比较,如果要运算和比较浮点数要用java.math包下的BigInteger实现任意精度的整数运算,BigDecimal实现任意精度浮点运算。
5.布尔常量
布尔常量即布尔型的两个值true和false。
6.空常量值
空常量值,null,代表没有任何数据。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》