Java 数据类型

在 Java 中,类型可以分为两大类:原始类型(Primitive Types) 和 引用类型(Reference Types)。原始类型是 Java 的基本数据类型,它们不是对象,并且直接存储值。引用类型则是指那些基于类的对象、数组等,它们存储的是指向实际对象的引用。

原始类型(Primitive Types)

Java 提供了八种原始类型,每一种都有固定的大小和含义。这些类型不是类,因此它们不具备面向对象的特性,如继承或方法调用。以下是这八种原始类型及其特点:

1. boolean

•用于表示真或假,只有两个可能的值:true 和 false。

•不可以直接与整数进行转换。

2. byte

•8 位有符号二进制补码整数。

•范围从 -128 到 127。

3. short

•16 位有符号二进制补码整数。

•范围从 -32,768 到 32,767。

4. int

•32 位有符号二进制补码整数。

•范围从 -2^31 到 2^31 - 1(即 -2,147,483,648 到 2,147,483,647)。

5. long

•64 位有符号二进制补码整数。•范围从 -2^63 到 2^63 - 1。

6. float

•32 位 IEEE 754 标准的单精度浮点数。

•适用于需要小数点后一位或两位精度的情况,但不推荐用于精确计算。

7. double

•64 位 IEEE 754 标准的双精度浮点数。

•默认的浮点数类型,提供更高的精度和更大的范围。

8. char

•16 位 Unicode 字符。•表示一个字符,使用单引号括起来,例如 'A'。

引用类型(Reference Types)

除了原始类型外,所有的其他类型都是引用类型,包括:

•类(Class):由用户定义的数据结构,可以包含字段(变量)和方法(函数)。

•接口(Interface):定义了一组抽象方法,实现该接口的类必须提供这些方法的具体实现。

•数组(Array):存储相同类型的多个元素,既可以是原始类型也可以是引用类型。

•枚举(Enum):一组命名的常量集合。

•注解(Annotation):提供了元数据信息,可以应用于包、类、方法、参数等。

包装类(Wrapper Classes)

对于每一个原始类型,Java 都提供了一个对应的包装类,允许将原始类型视为对象处理。这些包装类位于 java.lang 包中,它们包括:

•Boolean 对应 boolean

•Byte 对应 byte

•Short 对应 short

•Integer 对应 int

•Long 对应 long

•Float 对应 float

•Double 对应 double

•Character 对应 char

包装类提供了许多有用的静态方法来操作相应的原始类型,比如解析字符串为数值、格式化输出等。此外,自 Java 5 开始引入的自动装箱(Autoboxing)和拆箱(Unboxing)机制使得原始类型和其对应的包装类之间的转换更加方便。

示例代码

下面是一些关于原始类型和包装类使用的例子:

public class PrimitiveAndWrapperExample {
    public static void main(String[] args) {
        // 原始类型
        int age = 25;
        double salary = 5000.50;
        char grade = 'A';
        boolean isEmployed = true;

        // 包装类
        Integer ageObject = Integer.valueOf(age); // 或者简单地写成 new Integer(age)
        Double salaryObject = salary; // 自动装箱
        Character gradeObject = Character.valueOf(grade);
        Boolean isEmployedObject = isEmployed;

        // 输出原始类型和包装类的值
        System.out.println("Age (primitive): " + age);
        System.out.println("Salary (primitive): " + salary);
        System.out.println("Grade (primitive): " + grade);
        System.out.println("Is Employed (primitive): " + isEmployed);

        System.out.println("Age (wrapper): " + ageObject);
        System.out.println("Salary (wrapper): " + salaryObject);
        System.out.println("Grade (wrapper): " + gradeObject);
        System.out.println("Is Employed (wrapper): " + isEmployedObject);

        // 使用包装类的方法
        String numberAsString = "123";
        int number = Integer.parseInt(numberAsString);
        System.out.println("Parsed number: " + number);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值