并不是所有数据类型都可以指定直接量,通常只有三种类型可以指定。具体而言,java支持8种类型的直接量
   int:在程序中直接给出的整型数值,可分为二进制(0b或0B开头),十进制,八进制(0开头),十六进制(0x或0X开头)4种
   long:整型数值后添加l或L就变成long类型的直接量,例如3L,0X12L
  float:浮点数值后添加f或F就变成float类型的直接量,这个浮点数可以为标准的小数形式,也可以科学计数法形式,例如           5.34f,3.14E5f
  double:程序中直接给出标准小数形式或科学记数法形式的的浮点数就是double类型的直接量,例如5.34,3.14E5
  boolean:直接量只有true和false,boolean类型的变量不能赋给其他类型
  char:char类型的直接量有三种形式,分别是单引号括起来的字符,转义字符和Unicode值标识的字符。例如’a’,’\n’,’\u0061′
  String:直接量是双引号括起来的字符序列。java使用常量池(constant pool)缓存字符串直接量,
         java会确保字符串的常量只有一个,不会产生多个副本,编译时确定
 

public static void main(String[] args) {
        int a = 5;
        char c = 'a';
        boolean b = true;
        float f = 5.12f;
        double d = 5.12;
        String author = "yumiaoxia";
        String book = null;
        
        String s0 = "hello";
        String s1 = "hello";
        String s2 = "he"+"llo";
        System.out.println(s0==s1);
        System.out.println(s0==s2);
    }

输出:

true
true

null:只有一个值null,而且这个直接量可以赋给引用类型变量,表示这个引用类型保存的地址为空,即还未指向任何有效对象

版权声明:本文为yumiaoxia原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yumiaoxia/p/8846856.html