9.基本数据类型

飞一样的编程
飞一样的编程
擅长邻域:Java,MySQL,Linux,nginx,springboot,mongodb,微信小程序,vue

分类: 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基本数据类型来描述一栋建筑的各种属性。

场景描述:
假设你是一个物业管理人员,需要为小区里的每栋楼建立一个详细的信息档案,记录楼栋的各种物理属性和状态。

任务要求:

  1. 创建一个Java类,命名为 BuildingInfo。
  2. 在 main 方法中,为以下楼栋信息分别声明一个最合适的变量,并给它赋一个初始值:
    • 楼栋编号:一个唯一的数字标识,建议使用 long 类型。
    • 楼层数:楼栋的总层数,建议使用 byte 类型 (一般楼栋不会超过127层)。
    • 总房间数:整栋楼的房间总数,建议使用 short 类型。
    • 建筑面积:楼栋的总建筑面积(平方米),建议使用 int 类型。
    • 每平米单价:房屋单价(万元/平米),使用 float 类型。
    • 总价值:楼栋的精确总价值(万元),使用 double 类型。
    • 楼栋等级:用字符表示楼栋等级(A、B、C级),使用 char 类型。
    • 是否有电梯:楼栋是否配备电梯,使用 boolean 类型。
  1. 将所有信息打印到控制台,格式要清晰易读。例如:
===== 楼栋信息档案 =====
    楼栋编号: 20230815001L
    楼层数: 18层
    总房间数: 72间
    建筑面积: 8600平方米
    每平米单价: 2.35万元
    总价值: 20210.0万元
    楼栋等级: A级
    电梯配备: 是
    ========================

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695