鸿蒙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";
  • 支持十进制、二进制、八进制、十六进制表示;
  • 可直接进行加减乘除等数学运算。

代码案例

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

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开头,字母不区分大小写(如0x1A0x1a均表示 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
})

关键注意点

  • 布尔类型必须赋值truefalse),未赋值的局部变量会触发编译错误;
  • 不可用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 核心技术,拿到基础、高级等开发者证书,欢迎加入我的鸿蒙班,一起从入门到精通: 班级链接

相关推荐
爱笑的眼睛116 小时前
HarmonyOS TextArea 组件:文本输入区域的简单使用指南
华为·harmonyos
前端世界6 小时前
鸿蒙异步处理从入门到实战:Promise、async/await、并发池、超时重试全套攻略
华为·harmonyos
小喷友8 小时前
第5章 高级UI与动画
前端·app·harmonyos
whysqwhw8 小时前
鸿蒙ArkTS 与 Native 交互场景分类总结与关键实现
harmonyos
爱笑的眼睛118 小时前
HarmonyOS 递归实战:文件夹文件统计案例解析
华为·harmonyos
鸿蒙小白龙9 小时前
openharmony之启动恢复子系统详解
harmonyos·鸿蒙·鸿蒙系统
GeniuswongAir12 小时前
交叉编译.so到鸿蒙使用
华为·harmonyos
keepDXRcuriosity14 小时前
ArkTS 语言全方位解析:鸿蒙生态开发新选择
华为·harmonyos·arkts·鸿蒙
whysqwhw14 小时前
鸿蒙图标快捷菜单
harmonyos