在鸿蒙应用开发中,ArkTS 作为首选开发语言,其变量与数据类型是构建所有功能的基础。无论是展示商品信息的美团界面,还是实现复杂的业务逻辑,都离不开对数据类型的精准运用。今天,我们就从实际场景出发,系统讲解 ArkTS 中三种核心基本数据类型 ------Number(数字)、Boolean(布尔)、String(字符串),结合代码案例与运行效果,帮你轻松掌握基础知识点。
一、数据类型是什么?从生活场景理解核心概念
数据类型本质是 "数据的分类标签",它决定了数据能进行哪些操作(如数字可计算、布尔可判断)。我们通过鸿蒙应用开发中的 3 个常见场景,直接对应数据类型:
场景 1:电商商品详情页
- 展示商品名称 "500g 新疆阿克苏苹果"、商品描述 "脆甜多汁,当季新鲜"------ 这类文本信息,对应字符串类型(String);
- 展示商品单价 "29.9"、库存数量 "100"、商品评分 "4.8"------ 这类数值信息,对应数字类型(Number)。
场景 2:待办清单应用
- 每个待办项前的 "已完成 / 未完成" 勾选框状态 ------ 选中为 "是"、未选中为 "否",对应布尔类型(Boolean);
- 整个待办项列表(包含多个待办文本与勾选状态)------ 对应数组类型(高级类型,后续章节讲解)。
场景 3:用户登录界面
- 输入的用户名 "zhangsan123"、密码提示 "请输入 6-16 位密码"------ 文本信息,对应字符串类型(String);
- "记住密码" 选项的开启 / 关闭状态 ------ 逻辑判断,对应布尔类型(Boolean);
- 登录失败时的错误次数统计 "3"------ 数值信息,对应数字类型(Number)。
二、实战教学:三种基本数据类型的用法与案例
接下来,我们通过 ArkTS 代码实战,逐一讲解每种基本数据类型的定义、语法、特殊用法及运行效果。所有案例均基于鸿蒙开发工具(DevEco Studio),使用Index.ets
页面编写,通过按钮点击触发逻辑并打印日志。
1. Number(数字类型):整数、小数与多进制都能存
核心特性
- 统一用
number
关键字声明,同时支持整数、小数,无需区分 "int""float"; - 支持十进制、二进制、八进制、十六进制表示;
- 可直接进行加减乘除等数学运算。
代码案例
我们创建一个 "数字类型" 按钮,点击后定义数字变量、执行加法运算,并打印多进制数字的十进制结果:
typescript
@Entry
@Component
struct TestPage {
@State message: string = 'Hello World';
build() {
Column() {
// 数字类型演示按钮
Button('数字类型演示').onClick(() => {
// 1. 定义整数、小数变量(直接赋值,自动识别为number类型)
let applePrice: number = 29.9; // 小数:商品单价
let stockCount: number = 100; // 整数:商品库存
let totalValue = applePrice * 5; // 运算:5件商品总价 = 29.9 * 5 = 149.5
// 2. 定义多进制数字(最终会自动转为十进制输出)
let octalNum: number = 0o23; // 八进制:0o开头,数字范围0-7 → 十进制19
let hexNum: number = 0x1A; // 十六进制:0x开头,支持0-9、A-F → 十进制26
let binaryNum: number = 0b1011; // 二进制:0b开头,仅含0和1 → 十进制11
// 3. 打印日志(在DevEco Studio的Log窗口查看结果)
console.log('5件苹果总价', totalValue); // 输出:149.5
console.log('多进制转十进制结果', octalNum, hexNum, binaryNum); // 输出:19 26 11
})
}
.height('100%')
.width('100%')
}
}
关键注意点
- 八进制以
0o
(数字 0 + 字母 o)开头,数字只能是 0-7,若写0o18
会直接报错; - 二进制以
0b
开头,仅能包含 0 和 1,如0b1010
表示十进制 10; - 十六进制以
0x
开头,字母不区分大小写(如0x1A
与0x1a
均表示 26); - 科学计数法支持:如
1.2e3
表示 1200,3.4e-2
表示 0.034,适合表示极大 / 极小值。
运行效果
点击 "数字类型" 按钮后,在 DevEco Studio 的 Log 窗口,可看到如下输出:
2. Boolean(布尔类型):只存 "真" 与 "假" 的逻辑判断
核心特性
- 用
boolean
关键字声明,仅支持两个值 :true
(真)、false
(假); - 主要用于逻辑判断场景,如 "是否选中""是否登录""是否满足条件"。
代码案例
在上述代码基础上,新增布尔类型变量定义与日志打印:
typescript
Button('数字类型演示').onClick(() => {
// (前文数字类型代码省略)
// 布尔类型定义:模拟实际开发场景
let todoIsDone: boolean = true; // 待办项"已完成"状态 → 真
let rememberPwd: boolean = false; // "记住密码"未开启 → 假
// let isChecked: boolean; // 错误:局部变量未赋值,无法使用(编译报错)
// 打印布尔值:查看逻辑状态
console.log('待办完成状态/记住密码状态', todoIsDone, rememberPwd); // 输出:true false
})
关键注意点
- 布尔类型必须赋值 (
true
或false
),未赋值的局部变量会触发编译错误; - 不可用
0
/1
代替false
/true
(与部分语言不同),如let b: boolean = 0
会报错; - 常见应用场景:控制按钮是否可点击、判断列表是否全选、决定分支语句走向(如
if(bFlag1){...}
)。
运行效果
Log 窗口新增输出:
3. String(字符串类型):文本处理的 3 种写法与拼接技巧
核心特性
- 用
string
关键字声明,本质是 "字符数组",支持文本存储与处理; - 有 3 种定义方式:单引号(
' '
)、双引号(" "
)、反单引号( - 反单引号支持变量拼接 与多行文本,是开发中最常用的方式。
代码案例
创建 "字符串类型" 按钮,演示 3 种定义方式、变量拼接与转义字符:
typescript
Column() {
// 字符串类型演示按钮
Button('字符串类型演示').onClick(() => {
// 1. 三种定义方式:单引号、双引号(功能一致)、反单引号(支持高级用法)
let userName: string = 'zhangsan123'; // 单引号:用户名
let orderTip: string = "您的订单已发货"; // 双引号:订单提示
// 2. 反单引号:模拟"订单详情拼接",直接嵌入变量(无需用"+"连接)
let orderId: number = 123456; // 订单号(数字类型)
let productName: string = "新疆阿克苏苹果"; // 商品名(字符串类型)
// ${变量名} 嵌入变量,\n 表示换行(转义字符)
let orderDetail: string = `
订单号:${orderId}
商品名称:${productName}
订单状态:已发货
`;
// 3. 打印字符串:查看拼接结果
console.log('订单详情', orderDetail);
// 输出:
// 订单号:123456
// 商品名称:新疆阿克苏苹果
// 订单状态:已发货
})
}
关键注意点
- 单 / 双引号功能完全一致,但需配对使用 (如
'hello"
会报错); - 反单引号的变量拼接语法是
${变量名}
,无需用+
连接(比'hello' + price
更简洁); - 支持常见转义字符:
\n
(换行)、\t
(制表符)、\"
(双引号转义)等; - 字符串 API:可直接调用
length
(求长度)、substring()
(截取)、indexOf()
(查找)等方法,用法与 JavaScript 一致(可参考 W3C 字符串文档)。
运行效果
点击 "字符串类型" 按钮,Log 窗口输出:
三、总结与后续预告
本文我们系统讲解了 ArkTS 的三种基本数据类型,核心要点总结如下:
数据类型 | 关键字 | 取值范围 | 核心用途 | 关键语法 |
---|---|---|---|---|
数字类型 | number | 整数、小数、多进制 | 数值计算、价格 / 数量存储 | 十进制直接写,八进制 0o 开头、二进制 0b 开头、十六进制 0x 开头 |
布尔类型 | boolean | true、false | 逻辑判断(选中 / 未选中、真 / 假) | 必须赋值,不可用 0/1 代替 |
字符串类型 | string | 任意文本 | 文本展示(名称、描述) | 单引号 / 双引号(基础)、反单引号(支持变量拼接) |
掌握这些基础后,下一篇我们将讲解 ArkTS 的高级数据类型------ 枚举(Enum)、联合类型(Union)、对象类型(Object),带你进一步提升鸿蒙开发能力。
如果本文对你有帮助,欢迎点赞、收藏!若你想系统学习鸿蒙开发,深入掌握更多 ArkTS 核心技术,拿到基础、高级等开发者证书,欢迎加入我的鸿蒙班,一起从入门到精通: 班级链接