Java 原始数据类型

原始数据类型又叫基本数据类型,在本教程中,我们将借助示例了解 Java 中的所有 8 种原始数据类型。

在本教程中,我们将借助示例了解 Java 中的所有 8 种原始数据类型。

Java 数据类型

顾名思义,数据类型指定了可以存储在 Java 变量中数据的类型。

Java 是一种静态类型语言。所有变量必须先声明,然后才能使用。

int speed;

这里, speed 是一个变量,变量的数据类型是 intint 数据类型决定了 speed 变量只能包含整数。

Java 编程语言中预定义了 8 原始数据类型,包括:

  • boolean: 布尔型
  • byte: 字节型
  • short: 短整型
  • int: 整型
  • long: 长整型
  • double: 双精度浮点型
  • float: 单精度浮点型
  • char: 字符型

原始数据类型又叫基本数据类型,除了原始数据类型,还有引用类型(对象类型),本文逐一介绍这 8 种原始数据类型。

布尔型

  • 布尔型使用 boolean 关键字声明。
  • 布尔数据类型有两个可能的值: truefalse
  • 默认值: false
  • 它们通常用于 真/假 条件。

Java boolean 类型示例

public class Main {
  public static void main(String[] args) {

    boolean flag = true;
    System.out.println(flag);    // true
  }
}

字节型

  • 字节型使用 byte 关键字声明。
  • 字节型取值范围从 -128127 (8 位有符号二进制补码整数)。
  • 如果确定变量的值在 -128127 之间,请使用它代替 int 以节省内存。
  • 默认值:0

Java byte 类型示例

public class Main {
  public static void main(String[] args) {

    byte range;
    range = 124;
    System.out.println(range);    // 124
  }
}

短整形

  • 短整型使用 short 关键字声明。
  • short 数据类型取值范围从 -3276832767 的值(16 位有符号二进制补码整数)。
  • 如果确定变量的值在 -3276832767 之间,则使用它代替其他整数数据类型 ( int , long )。
  • 默认值:0

Java short 类型示例

public class Main {
  public static void main(String[] args) {

    short temperature;
    temperature = -200;
    System.out.println(temperature);  // -200
  }
}

整形

  • 整型使用 int 关键字声明。
  • int 数据类型取值范围是 -2^312^31 - 1 (32 位符号的二进制补码整数)。
  • 如果您使用的是 Java 8 或更高版本,可以使用无符号 32 位整数。无符号 32 位整数的取值范围是 02^32 - 1
  • 默认值:0

Java int 类型示例

public class Main {
  public static void main(String[] args) {

    int range = -4250000;
    System.out.println(range);  // -4250000
  }
}

长整形

  • 长整形使用 long 关键字声明。
  • long 数据类型可以具有从值 -2^632^63 - 1 (64 位符号的二进制补码整数)。
  • 如果您使用的是 Java 8 或更高版本,则可以使用最小值为 0 且最大值为 2^64 - 1 的无符号 64 位整数。
  • 默认值:0

Java long 类型示例

public class LongExample {
  public static void main(String[] args) {

    long range = -42332200000L;
    System.out.println(range);    // -42332200000
  }
}

请注意,在 -42332200000 后使用字符 L。这表示它是该 long 类型的整数。

双精度浮点型

  • 双精度浮点型使用 double 关键字声明。
  • double 数据类型是一个双精度 64 位浮点数。
  • double 数据类型不应该用于货币金额等精确的值。
  • 默认值:0.0 (0.0d)

Java double 类型示例

public class Main {
  public static void main(String[] args) {

    double number = -42.3;
    System.out.println(number);  // -42.3
  }
}

单精度浮点型

  • 单精度浮点型使用 float 关键字声明。
  • float 数据类型是单精度 32 位浮点数。
  • float 数据类型不应该用于货币金额等精确的值。
  • 默认值:0.0 (0.0f)

Java float 类型示例

public class Main {
  public static void main(String[] args) {

    float number = -42.3f;
    System.out.println(number);  // -42.3
  }
}

请注意,我们在上面的程序中使用了 -42.3f 代替 -42.3 。因为 -42.3double 字面意思,而 float 类型的字面量需要用 fF 字符结尾。

字符类型

  • 字符类型使用 char 关键字声明。
  • char 数据类型是一个 16 位 Unicode 字符。
  • char 数据类型的最小值为 '\u0000' (0),最大值为 '\uffff'
  • 默认值: '\u0000'

Java char 类型示例

public class Main {
  public static void main(String[] args) {

    char letter = '\u0051';
    System.out.println(letter); // Q
  }
}

输出Q

这里的 \u0051 是字符 Q 的 Unicode 值。因此,我们程序输出了 Q 字符。

再看另一个例子:

public class Main {
  public static void main(String[] args) {

    char letter1 = '9';
    System.out.println(letter1); // 9

    char letter2 = 65;
    System.out.println(letter2); // A
  }
}

输出

9
A

在这里,我们为变量 letter1 分配的是一个字符 '9' (由单引号指定),为变量 letter2 分配的是一个整数 65 (没有单引号)。

因为 Java 将字符视为整数类型,当为 char 类型赋值数字时,则代表了字符的 ASCII 码值。 数字 65A 的 ASCII 码值,因此会打印 A

字符串类型

Java 还通过 java.lang.String 类提供对字符串的支持。Java 中的字符串不是原始类型。相反,它们是对象。例如,

String myString = "Java 编程";

这里, myStringString 类的对象。要了解更多信息,请访问Java 字符串章节。