7. Java中,基本数据类型

37 阅读3分钟

7. Java中,基本数据类型

基本数据类型(基元类型)

Java 中,变量必须先声明再使用。声明变量时,必须指定其类型和名称,类型决定了变量可以存储的数据种类。Java 支持八种原始数据类型,这些数据类型在语言中是预定义的,并且由关键字表示。它们分别是:

  1. byte

    • 8 位有符号整数。
    • 最小值:-128,最大值:127
    • 适用于内存非常有限且对范围要求较小的场合,例如处理大数组时节省内存。
    byte b = 100;
    
  2. short

    • 16 位有符号整数。
    • 最小值:-32,768,最大值:32,767
    • byte 类似,适合内存紧张的情况下使用。
    short s = 1000;
    
  3. int

    • 默认的整数类型,32 位有符号整数。
    • 最小值:-2,147,483,648,最大值:2,147,483,647
    int i = 1000;
    
  4. long

    • 64 位有符号整数。
    • 最小值:-9,223,372,036,854,775,808,最大值:9,223,372,036,854,775,807
    • 用于需要表示大数值的情况。
    long l = 100000L;  // 使用 L 表示 long 类型
    
  5. float

    • 单精度32IEEE 754 浮点数。
    • 用于表示具有小数的数值,但精度较低,通常用于内存敏感的情况。
    float f = 10.5f;  // 使用 f 后缀表示 float 类型
    
  6. double

    • 双精度 64IEEE 754 浮点数。
    • 通常用于表示精度要求较高的浮点数,尤其是涉及大范围或精确计算时。
    double d = 100.99;
    
  7. boolean

    • 只有两个值:truefalse
    • 用于逻辑条件和标志值。
    boolean isTrue = true;
    
  8. char

    • 16Unicode 字符,用于存储单一字符。
    • 最小值:\u0000 (0),最大值:\uffff (65,535)。
    char c = 'A';
    

字符串(String)

Java 中还有一个特殊的数据类型 String,虽然技术上它并不是一个基本数据类型,但由于 Java 对它有特别支持,它在实际编程中常被当作基本数据类型来使用。String 是不可变的,即创建后无法改变其内容。字符串可以用双引号表示:

String str = "Hello, Java!";

基本数据类型的特点

  • 存储方式:基本数据类型的变量直接存储数据本身,而对象类型(如 String)的变量则存储对实际数据的引用。

  • 默认值:如果变量没有显式初始化,Java 会为其分配一个默认值:

    • 数值类型(byte, short, int, long, float, double)的默认值为 0
    • boolean 类型的默认值为 false
    • char 的默认值为 '\u0000',即空字符。
    • String 类型的默认值为 null

使用示例

public class DataTypesExample {
    public static void main(String[] args) {
        byte b = 100;
        short s = 2000;
        int i = 5000;
        long l = 100000000L;  // long 类型
        float f = 10.5f;      // float 类型
        double d = 99.99;     // double 类型
        boolean isTrue = true;
        char c = 'A';
        String str = "Hello, Java!";

        // 输出所有变量的值
        System.out.println("byte: " + b);
        System.out.println("short: " + s);
        System.out.println("int: " + i);
        System.out.println("long: " + l);
        System.out.println("float: " + f);
        System.out.println("double: " + d);
        System.out.println("boolean: " + isTrue);
        System.out.println("char: " + c);
        System.out.println("String: " + str);
    }
}

总结

  • 基元类型是 Java 提供的基础数据类型,包括 byteshortintlongfloatdoublebooleanchar
  • String 是 Java 特别支持的类型,尽管它不是基元类型,但通常也被视为一种基础类型来处理。
  • 基本数据类型是静态类型的,意味着在使用前必须声明并初始化变量。
  • 这些数据类型具有各自的存储范围和用途,选择合适的数据类型可以提高程序的效率和精度。

🎯 使用最佳实践

整数优先用 int,浮点数优先用 double(默认类型) ✅ 货币计算用 BigDecimal,避免浮点误差 ✅ char 可以存储 Unicode,支持多语言如果变量的范围小于 int,可以用 byteshort 以节省内存