Java常量(Java常量的定义与6种类型详解)

Java常量(Java常量的定义与6种类型详解)-mikechen

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面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法