当前位置: 首页 > news >正文

鸿蒙 ArkTS 开发:Number、Boolean、String 三种核心基本数据类型详解(附实战案例)

在鸿蒙应用开发中,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”;
  • 支持十进制、二进制、八进制、十六进制表示;
  • 可直接进行加减乘除等数学运算。
代码案例

我们创建一个 “数字类型” 按钮,点击后定义数字变量、执行加法运算,并打印多进制数字的十进制结果:

@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 → 十进制19let hexNum: number = 0x1A;      // 十六进制:0x开头,支持0-9、A-F → 十进制26let binaryNum: number = 0b1011; // 二进制:0b开头,仅含0和1 → 十进制11// 3. 打印日志(在DevEco Studio的Log窗口查看结果)console.log('5件苹果总价', totalValue);       // 输出:149.5console.log('多进制转十进制结果', octalNum, hexNum, binaryNum); // 输出:19 26 11})}.height('100%').width('100%')}
}
关键注意点
  • 八进制以0o(数字 0 + 字母 o)开头,数字只能是 0-7,若写0o18会直接报错;
  • 二进制以0b开头,仅能包含 0 和 1,如0b1010表示十进制 10;
  • 十六进制以0x开头,字母不区分大小写(如0x1A0x1a均表示 26);
  • 科学计数法支持:如1.2e3表示 1200,3.4e-2表示 0.034,适合表示极大 / 极小值。
运行效果

点击 “数字类型” 按钮后,在 DevEco Studio 的 Log 窗口,可看到如下输出:
在这里插入图片描述

2. Boolean(布尔类型):只存 “真” 与 “假” 的逻辑判断

核心特性
  • boolean关键字声明,仅支持两个值true(真)、false(假);
  • 主要用于逻辑判断场景,如 “是否选中”“是否登录”“是否满足条件”。
代码案例

在上述代码基础上,新增布尔类型变量定义与日志打印:

Button('数字类型演示').onClick(() => {// (前文数字类型代码省略)// 布尔类型定义:模拟实际开发场景let todoIsDone: boolean = true;    // 待办项“已完成”状态 → 真let rememberPwd: boolean = false;  // “记住密码”未开启 → 假// let isChecked: boolean;         // 错误:局部变量未赋值,无法使用(编译报错)// 打印布尔值:查看逻辑状态console.log('待办完成状态/记住密码状态', todoIsDone, rememberPwd); // 输出:true false
})
关键注意点
  • 布尔类型必须赋值truefalse),未赋值的局部变量会触发编译错误;
  • 不可用0/1代替false/true(与部分语言不同),如let b: boolean = 0会报错;
  • 常见应用场景:控制按钮是否可点击、判断列表是否全选、决定分支语句走向(如if(bFlag1){...})。
运行效果

Log 窗口新增输出:
在这里插入图片描述

3. String(字符串类型):文本处理的 3 种写法与拼接技巧

核心特性
  • string关键字声明,本质是 “字符数组”,支持文本存储与处理;
  • 有 3 种定义方式:单引号(' ')、双引号(" ")、反单引号(` `);
  • 反单引号支持变量拼接多行文本,是开发中最常用的方式。
代码案例

创建 “字符串类型” 按钮,演示 3 种定义方式、变量拼接与转义字符:

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 开头
布尔类型booleantrue、false逻辑判断(选中 / 未选中、真 / 假)必须赋值,不可用 0/1 代替
字符串类型string任意文本文本展示(名称、描述)单引号 / 双引号(基础)、反单引号(支持变量拼接)

掌握这些基础后,下一篇我们将讲解 ArkTS 的高级数据类型—— 枚举(Enum)、联合类型(Union)、对象类型(Object),带你进一步提升鸿蒙开发能力。

如果本文对你有帮助,欢迎点赞、收藏!若你想学习鸿蒙开发,深入掌握更多 ArkTS 核心技术,拿到基础、高级等开发者证书,我们一起从入门到精通: 班级链接,我们一起为鸿蒙助力!

http://www.dtcms.com/a/348392.html

相关文章:

  • 从 Unity UGUI 到 Unreal UMG 的无缝迁移:UMG 基础与 UI 控件布局
  • Java的数字计算
  • pycharm的matplotlib不显示动图问题的解决
  • Python核心技术开发指南(004)——配置PyCharm
  • Flink直接缓冲存储器异常解析与解决方案
  • 力扣155.最小栈
  • 嵌入式知识篇---32GUI
  • 神经网络|(十四)概率论基础知识-协方差和方差
  • 使用 Golang 的 Gin 框架实现一周极限编程计划:全网 AIGC 项目热点追踪应用
  • 自然语言处理——06 迁移学习(下)
  • 自然语言处理——06 迁移学习(中)
  • RockyLinux9.6安装k8s
  • 【(含模板)滑动窗口 - LeetCode】3. 无重复字符的最长子串
  • 从“小麻烦”到“大难题”:Spring Boot 配置文件的坑与解
  • UE5游戏开发的理想硬件配置指南:从入门到专业级方案
  • MySQL视图有什么用?一文读懂虚拟表的六大核心价值
  • 数据治理进阶——埃森哲 数据治理元数据管理建设规划方案【附全文阅读】
  • LabVIEW Vision视觉引导撑簧圈智能插装
  • java-代码随想录第十五天| 12.平衡二叉树、222.完全二叉树的节点个数、404.左叶子之和
  • 网络安全转型书籍清单
  • JavaScript 性能优化实战:全方位提升 Web 应用性能
  • 【LeetCode 热题 100】152. 乘积最大子数组——(解法一)递推
  • Vue2+Vue3前端开发笔记合集
  • 九、redis 入门 之 数据库和缓存一致性问题
  • Vue2+Vue3前端开发_Day12-Day14_大事件管理系统
  • Python无穷大与NaN处理完全指南:从基础到工程级解决方案
  • 【Java】springboot的自动配置
  • Wagtail CRX 简介
  • Python使用-Python环境安装
  • 【分布式中间件】Kafka 核心配置深度解析与优化指南