授课语音

Java的字面量

字面量是代码中直接表示数据值的固定值。字面量代表了不同类型的数据,包括整数、浮点数、字符、字符串和布尔值等。我们在代码中直接写出的这些数值或字符,称为字面量。Java 提供了丰富的字面量类型,以满足不同数据的需求。

1. 整数字面量

整数字面量表示整数值,可以使用不同的进制来表示,包括十进制、八进制、十六进制和二进制。

代码示例:

public class LiteralExample {
    public static void main(String[] args) {
        // 十进制字面量
        int decimal = 100; // 十进制表示的整数
        System.out.println("十进制字面量: " + decimal);

        // 八进制字面量,以0开头
        int octal = 0144; // 八进制表示,0144等于十进制的100
        System.out.println("八进制字面量: " + octal);

        // 十六进制字面量,以0x开头
        int hex = 0x64; // 十六进制表示,0x64等于十进制的100
        System.out.println("十六进制字面量: " + hex);

        // 二进制字面量,以0b开头
        int binary = 0b1100100; // 二进制表示,0b1100100等于十进制的100
        System.out.println("二进制字面量: " + binary);
    }
}

说明:

  • 十进制数:直接写数字即可,如100
  • 八进制数:以0开头,比如0144表示十进制的100
  • 十六进制数:以0x0X开头,比如0x64表示十进制的100
  • 二进制数:以0b0B开头,比如0b1100100表示十进制的100

2. 浮点数字面量

浮点数字面量表示带小数的数值,可以表示单精度和双精度浮点数。

代码示例:

public class FloatLiteralExample {
    public static void main(String[] args) {
        // 双精度浮点数,默认类型为double
        double doubleLiteral = 3.14;
        System.out.println("双精度浮点字面量: " + doubleLiteral);

        // 单精度浮点数,以f或F结尾
        float floatLiteral = 3.14f;
        System.out.println("单精度浮点字面量: " + floatLiteral);
    }
}

说明:

  • 默认情况下,浮点数字面量是双精度double类型,赋值给float类型时需添加fF后缀。
  • 双精度浮点字面量可以直接写小数值,比如3.14
  • 单精度浮点字面量需要在数值后加fF后缀,比如3.14f

3. 字符字面量

字符字面量表示单个字符,用单引号括起来,支持普通字符和转义字符。

代码示例:

public class CharLiteralExample {
    public static void main(String[] args) {
        // 普通字符字面量
        char letter = 'A';
        System.out.println("普通字符字面量: " + letter);

        // 转义字符字面量
        char newline = '\n';
        System.out.println("转义字符字面量: 换行符 " + newline + "新的一行");
    }
}

说明:

  • 普通字符字面量:直接用单引号包含字符,例如'A'
  • 转义字符字面量:用反斜杠'\'加特定字母表示,比如'\n'表示换行,'\t'表示制表符等。

4. 字符串字面量

字符串字面量表示一串字符的组合,使用双引号括起来。

代码示例:

public class StringLiteralExample {
    public static void main(String[] args) {
        // 字符串字面量
        String greeting = "Hello, Java!";
        System.out.println("字符串字面量: " + greeting);
    }
}

说明:

  • 字符串字面量:用双引号包含一串字符,例如"Hello, Java!"
  • 字符串可以包含多个字符,与字符字面量不同的是它可以表示多字符的内容。

5. 布尔字面量

布尔字面量表示布尔值,只有truefalse两个取值。

代码示例:

public class BooleanLiteralExample {
    public static void main(String[] args) {
        // 布尔字面量 true
        boolean isJavaFun = true;
        System.out.println("布尔字面量true: " + isJavaFun);

        // 布尔字面量 false
        boolean isJavaHard = false;
        System.out.println("布尔字面量false: " + isJavaHard);
    }
}

说明:

  • 布尔字面量表示真或假,只有true(真)和false(假)两个取值。
  • 布尔字面量常用于条件判断中,控制程序的执行流程。

6. 特殊字面量 null

null字面量表示一个空值或不存在的对象引用。常用于初始化对象引用变量,表示该变量当前不引用任何对象。

代码示例:

public class NullLiteralExample {
    public static void main(String[] args) {
        // 声明一个字符串变量,并赋值为null
        String name = null; // 当前name变量未指向任何实际对象
        System.out.println("null字面量: " + name);
    }
}

说明:

  • null字面量表示一个空引用,用于对象变量不指向任何实际对象时的初始化。
  • 直接将变量赋值为null表示该变量未初始化指向任何对象。

通过对 Java 各种类型字面量的理解,我们可以更有效地编写代码。字面量是编程的基础,能够帮助我们直观地表达数值、字符和布尔等各种数据内容。

去1:1私密咨询

系列课程: