侧边栏壁纸
  • 累计撰写 28 篇文章
  • 累计创建 34 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Java 8大基础数据类型详解

16uni
2025-06-12 / 0 评论 / 0 点赞 / 24 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Java的基础数据类型是编程的"原子单位",就像乐高的基础积木块。它们直接存储数据值,不需要创建对象。

数据类型总结表

数据类型

关键字

大小

范围/示例

默认值

常见用途

字节型

byte

8位 (1字节)

-128 ~ 127

0

小范围整数、文件数据

短整型

short

16位 (2字节)

-32768 ~ 32767

0

中等范围整数

整型

int

32位 (4字节)

约 -21亿 ~ 21亿

0

最常用的整数类型

长整型

long

64位 (8字节)

约 -900亿亿 ~ 900亿亿

0L

极大整数、时间戳

单精度

float

32位 (4字节)

约6-7位小数

0.0f

一般精度小数

双精度

double

64位 (8字节)

约15位小数

0.0d

高精度小数、科学计算

字符型

char

16位 (2字节)

Unicode字符

'\u0000'

单个字符、符号

布尔型

boolean

1位 (理论)

true/false

false

逻辑判断、开关状态

一、整数类型(存放整数的类型)

1. byte(字节型)

  • 大小:8位(1字节)

  • 范围:-128 到 127

  • 通俗解释:像一个小型收纳盒,只能放很小的整数

  • 生活案例:冰箱里的鸡蛋数量(0-127个)

  • 代码示例

byte eggs = 12; // 冰箱里有12个鸡蛋
byte temperature = -5; // 零下5度
System.out.println("鸡蛋数量: " + eggs);
System.out.println("温度: " + temperature);
​
// 错误示范(超范围):
// byte tooBig = 200; // 编译错误,超出byte范围

2. short(短整型)

  • 大小:16位(2字节)

  • 范围:-32,768 到 32,767

  • 通俗解释:中等大小的储物箱,能放更多整数

  • 生活案例:学校的学生人数(0-3万人)

  • 代码示例

short students = 2500; // 学校有2500名学生
short buildingHeight = 100; // 楼高100米
System.out.println("学生人数: " + students);
System.out.println("楼高: " + buildingHeight + "米");

3. int(整型)

  • 大小:32位(4字节)

  • 范围:约 -21亿 到 21亿

  • 通俗解释:大型仓库,能存放非常大的整数

  • 生活案例:中国人口(14亿)

  • 代码示例

int chinaPopulation = 1_400_000_000; // 14亿(下划线增加可读性)
int secondsInDay = 24 * 60 * 60; // 一天86400秒
System.out.println("中国人口: " + chinaPopulation);
System.out.println("每天秒数: " + secondsInDay);

4. long(长整型)

  • 大小:64位(8字节)

  • 范围:非常大(约 -900亿亿 到 900亿亿)

  • 通俗解释:超级仓库,存放天文数字

  • 生活案例:地球到月球的距离(384,400公里)

  • 注意:赋值时数字后要加L

  • 代码示例

long moonDistance = 384_400_000L; // 地月距离(米)
long worldPopulation = 8_000_000_000L; // 80亿人口
System.out.println("地月距离: " + moonDistance + "米");
System.out.println("世界人口: " + worldPopulation);

二、浮点类型(存放小数的类型)

5. float(单精度浮点)

  • 大小:32位(4字节)

  • 精度:约6-7位小数

  • 通俗解释:普通卷尺,测量精度一般

  • 生活案例:身高测量(1.75米)

  • 注意:赋值时数字后要加f

  • 代码示例

float height = 1.75f; // 身高1.75米
float pi = 3.1415926f; // 圆周率
System.out.println("我的身高: " + height + "米");
System.out.println("圆周率: " + pi); // 输出3.1415925(精度损失)

6. double(双精度浮点)

  • 大小:64位(8字节)

  • 精度:约15位小数

  • 通俗解释:精密游标卡尺,测量精度高

  • 生活案例:科学计算(更精确的圆周率)

  • 代码示例

double precisePi = 3.141592653589793; // 更精确的圆周率
double atomSize = 0.0000000001; // 原子大小
System.out.println("精确圆周率: " + precisePi);
System.out.println("氢原子直径: " + atomSize + "米");

三、字符类型(存放单个字符)

7. char(字符型)

  • 大小:16位(2字节)

  • 范围:Unicode字符(0-65535)

  • 通俗解释:字母盒子,存放单个字符

  • 生活案例:成绩等级(A/B/C)、性别(男/女)

  • 注意:用单引号''表示

  • 代码示例

char grade = 'A'; // 成绩等级
char gender = '男'; // 性别
char copyright = '\u00A9'; // ©符号(Unicode表示)
System.out.println("成绩等级: " + grade);
System.out.println("性别: " + gender);
System.out.println("版权符号: " + copyright);

四、布尔类型(表示真假)

8. boolean(布尔型)

  • 大小:无明确规定(通常1位)

  • 取值:true 或 false

  • 通俗解释:开关,只有开/关两种状态

  • 生活案例:电灯开关(开=true,关=false)

  • 代码示例

boolean isRaining = true; // 正在下雨
isRaining = false; // 修改为没下雨
boolean hasPassed = (score >= 60); // 考试是否通过
​
System.out.println("是否在下雨: " + isRaining);
System.out.println("考试通过: " + hasPassed);

重要注意事项

1. 默认值规则

  • 类成员变量:有默认值(0/false等)

  • 局部变量:必须手动初始化

public class DataTypeDemo {
    int classVar; // 类变量,默认值0
    
    public static void main(String[] args) {
        // 局部变量必须初始化
        int localVar = 10; 
        
        DataTypeDemo demo = new DataTypeDemo();
        System.out.println(demo.classVar); // 输出0
        System.out.println(localVar);      // 输出10
    }
}

2. 类型转换

  • 自动转换(小范围→大范围):

    int a = 100;
    long b = a; // 自动转换
  • 强制转换(大范围→小范围,可能丢失数据):

    double pi = 3.14159;
    int intPi = (int) pi; // 强制转换,值变为3

3. 浮点数精度问题

浮点数在计算机中无法精确表示,会出现精度误差:

System.out.println(0.1 + 0.2); // 输出0.30000000000000004

4. 字符与整数的关系

字符实际存储的是Unicode编码值:

char letter = 'A';
System.out.println(letter);       // 输出A
System.out.println((int)letter);  // 输出65(ASCII值)

实战练习:温度转换器

public class TemperatureConverter {
    public static void main(String[] args) {
        // 摄氏温度
        float celsius = 36.8f; 
        
        // 转换为华氏温度 (F = C × 1.8 + 32)
        float fahrenheit = celsius * 1.8f + 32;
        
        // 结果保留1位小数
        System.out.printf("摄氏%.1f度 = 华氏%.1f度", celsius, fahrenheit);
    }
}

输出:摄氏36.8度 = 华氏98.2度

选择数据类型的小技巧

  1. 整数选择

    • 优先用int(最常用)

    • 极大数用long

    • 特殊场景(文件处理)用byte

  2. 小数选择

    • 优先用double(精度更高)

    • 内存紧张时用float

  3. 简单原则

    // 整数用int,小数用double
    int count = 100;     // 数量
    double price = 19.99; // 价格
    ​
    // 布尔值直接用boolean
    boolean isAvailable = true;

Java的基础数据类型就像不同容量的容器,选择合适的容器能让你的程序更高效!

0

评论区