Java 数据类型全解析:基本类型、引用类型与类型转换

Java 数据类型全解析:基本类型、引用类型与类型转换

在 Java 编程世界里,数据类型是构建程序的基石。它们决定了数据的存储方式、操作方法以及程序的性能表现。本文将深入探讨 Java 的各种数据类型,包括基本数据类型、引用数据类型,以及它们之间的转换方式。

一、数据类型总览

Java 的数据类型分为两大类:基本数据类型与引用数据类型。其中,基本数据类型又被称为值类型。

  1. 基本数据类型:包括 6 种数字类型(byte、short、int、long、float、double)、1 种字符型(char)和 1 种布尔型(boolean)。这些类型只能存储自身类型的值,不具备其他额外功能。
  2. 引用数据类型:涵盖类(Class)、接口(Interface)和数组(Array)。在参数传递时,引用数据类型以拷贝引用地址的方式传递给接收变量,而非复制整个数据本体。除八大基本数据类型外,其他所有数据类型均为引用数据类型,其默认值为 null。
  3. 其他相关数据类型:例如字符串类型 String、枚举类型 Enum,它们是基于引用数据类型实现的。

为实现基本数据类型与引用数据类型的相互转换,充分利用彼此特性,Java 为每种基本数据类型提供了对应的包装类。包装类属于引用类型,对基本数据类型进行了封装,赋予了丰富的功能,是基本类型的拓展。包装类与基本数据类型一一对应,也有 8 种,分别为 Byte、Short、Integer、Long、Float、Double、Character、Boolean。

二、基本数据类型详解

2.1 类型概述

基本数据类型包括 :

  • 6 种数字类型

    • 4 种为整数型(byte、short、int、long)

    • 2 种为浮点型(float、double)

  • 1 种字符类型(char)

  • 1 种布尔型(boolean)。

2.2 基本数据类型详解

基本类型 存储大小 初始化默认值 取值范围 包装类型
byte 1 字节(8 位) 0 -128 ~ 127 Byte
short 2 字节(16 位) 0 -32768 ~ 32767 Short
int 4 字节(32 位) 0 -2^31 ~ 2^31 - 1 Integer
long 8 字节(64 位) 0L(“L” 建议大写,以防与数字 “1” 混淆) -2^63 ~ 2^63 - 1 Long
float 4 字节(32 位) 0.0f 符合 IEEE754 标准的浮点数,1.4E - 45 ~ 3.4028235E38 Float
double 8 字节(64 位) 0.0d 符合 IEEE754 标准的浮点数,4.9E - 324 ~ 1.7976931348623157E308 Double
char 2 字节(16 位) ‘\u0000’ \u0000 ~ \uffff(十进制等效值为 0 ~ 65535,本质也是数值) Character
boolean 1 字节(8 位)/4 字节(32 位) false true / false Boolean

需要注意的是,float 和 double 不能用于表示精确值,运算可能不精确,如需精确计算,可使用 BigDecimal。

char 类型可存储任何字符。

对于数值类型的取值范围,无需强行记忆,其值已以常量形式定义在对应的包装类中,例如:

public class DataTypeInfo {
   
    public static void main(String[] args) {
   
        // long
        System.out.println("基本类型:long 二进制位数:" + Long.SIZE);
        System.out.println("包装类:java.lang.Long");
        System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);
        System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);
        System.out.println();

        // double
        System.out.println("基本类型:double 二进制位数:" + Double.SIZE);
        System.out.println("包装类:java.lang.Double");
        System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);
        System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);
        System.out.println();

        // byte
        System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
        System.out.println("包装类:java.lang.Byte");
        System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
        System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
        System.out.println();

        // short
        System.out.println("基本类型:short 二进制位数:" + Short.SIZE);
        System.out.println("包装类:java.lang.Short");
        System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);
        System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);
        System.out.println();

        // int
        System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);
        System.out.println("包装类:java.lang.Integer");
        System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);
        System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);
        System.out.println();

        // float
        System.out.println("基本类型:float 二进制位数:" + Float.SIZE);
        System.out.println("包装类:java.lang.Float");
        System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);
        System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);
        System.out.println();

        // char
        System.out.println("基本类型:char 二进制位数:" + Character.SIZE);
        System.out
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值