9.基本数据类型
分类: Java 专栏: 【带小白】java基础速成 标签: 基本数据类型
2025-11-04 16:29:00 112浏览
字面量和数据类型的区别
1. 为什么看起来“种类一样”?
- 字面量是代码里直接写出的“值”,比如 123、"Hello"、true。
- 数据类型是这些值的“分类标签”,比如 int、String、boolean。
- 编译器/解释器看到字面量时,会自动给它贴上对应的类型标签。
- 例如:123 会被推断为 int 类型,"Hello" 推断为 String 类型。
- 所以,字面量的“类型”和数据类型的“种类”看起来一致,但一个是值,一个是规则。
🆚 2. 核心区别:值 vs 规则
概念 | 字面量 | 数据类型 |
本质 | 具体的值(如 123) | 分类规则(如 int) |
作用 | 表示数据本身 | 定义数据的存储、范围和操作 |
是否可变 | 不可变(123永远是123) | 类型规则不可变,但变量值可变 |
例子 | 3.14、'A'、false | double、char、boolean |
🧩 3. 一个生活化类比
- 字面量就像超市货架上的“具体商品”(如一瓶可乐、一袋薯片)。
- 数据类型就像商品的“分类标签”(如“饮料”、“零食”)。
- 货架上的商品(字面量)会被自动归到对应的分类(数据类型),但商品本身和分类标签是两回事!
- 可乐(字面量)属于饮料(数据类型),但可乐 ≠ 饮料分类。
💡 4. 特殊情况:字面量类型(Literal Types)
在某些语言(如TypeScript)中,字面量本身也可以作为一种“特殊类型”,用于限制变量只能取某个具体值:
type Status = "online" | "offline"; // 字面量类型
const userStatus: Status = "online"; // 只能是 "online" 或 "offline"- 这里的 "online" 既是字面量(值),也是一种类型(规则),进一步模糊了界限,但本质仍是值 vs 规则的区别。
✅ 5. 总结
- 字面量是“值”,是代码里直接写出的数据。
- 数据类型是“规则”,定义了值的存储和操作方式。
- 字面量的“类型”是编译器自动推断的,所以和数据类型种类一致,但一个是实例,一个是分类。
- 理解这一点后,很多编程概念(如类型转换、类型推断)会更清晰!
基本数据类型
整数
整数 | 取值范围 |
byte | -128~127 |
short | -32768~32767 |
int | -2147483648~2147483647(10 位数) |
long | -9223372036854775808~9223372036854775807(19位数) |
补充:byte 占 1 个字节,8 个比特
short 占 2 个字节
int 占 4 个字节
long 占 8 个字节
浮点数
小数 | 取值范围 | 内存 |
float | -3.402*1038~3.402*1038 | 4 |
double | -1.797*10308~3.402*10308 | 8 |
字符
char 2 个字节 举例:'a'
布尔
Boolean 1 个字节 举例: true/false
整数小数取值范围大小关系
double>float>long>int>short>byte
long/float 类型书写
long 需要加 L 后缀(小写 l 也行,但推荐大写)
float 需要加 F 后缀(小节 f 也行,但推荐大写)
引用数据类型
先简单提一下
类(class)分系统类,比如 String 等和自定义的类
数组(array)
接口(interface)
枚举(enum)
注解(annotation)
记录(record)
小练习
数据类型 变量名 = 值;
楼栋信息卡
练习目标:
通过创建一个楼栋信息管理程序,练习使用所有8种Java基本数据类型来描述一栋建筑的各种属性。
场景描述:
假设你是一个物业管理人员,需要为小区里的每栋楼建立一个详细的信息档案,记录楼栋的各种物理属性和状态。
任务要求:
- 创建一个Java类,命名为 BuildingInfo。
- 在 main 方法中,为以下楼栋信息分别声明一个最合适的变量,并给它赋一个初始值:
- 楼栋编号:一个唯一的数字标识,建议使用 long 类型。
- 楼层数:楼栋的总层数,建议使用 byte 类型 (一般楼栋不会超过127层)。
- 总房间数:整栋楼的房间总数,建议使用 short 类型。
- 建筑面积:楼栋的总建筑面积(平方米),建议使用 int 类型。
- 每平米单价:房屋单价(万元/平米),使用 float 类型。
- 总价值:楼栋的精确总价值(万元),使用 double 类型。
- 楼栋等级:用字符表示楼栋等级(A、B、C级),使用 char 类型。
- 是否有电梯:楼栋是否配备电梯,使用 boolean 类型。
- 将所有信息打印到控制台,格式要清晰易读。例如:
===== 楼栋信息档案 =====
楼栋编号: 20230815001L
楼层数: 18层
总房间数: 72间
建筑面积: 8600平方米
每平米单价: 2.35万元
总价值: 20210.0万元
楼栋等级: A级
电梯配备: 是
========================
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
展开评论



新业务
springboot学习
ssm框架课
vue学习
【带小白】java基础速成