鸿蒙编程基础篇——基础数据与运算符
·
基础数据类型
在鸿蒙编程当中的基础数据被分为三种:string、number、boolean。它们分别存储字符串类型、数字类型和布尔类型的数据。
字符串类型(string)
字符串类型用于存储文本数据,由单引号(')或双引号(")包裹。支持转义字符(如\n换行)和模板字符串(通过反引号`实现多行或变量嵌入)。
示例:
//注:鸿蒙当中使用 let 来声明一个变量
//声明格式为 let 变量名: 类型 = 值;(其中: 类型 和 ;可省略)
let name: string = "HarmonyOS";
let message = `Hello, ${name}!`; // 模板字符串
数字类型(number)
数字类型包含整数、浮点数。
示例:
let count = 42;
let pi = 3.14;
布尔类型(boolean)
布尔类型表示逻辑值仅有true和false两个值,常用于逻辑判断。
示例:
let isActive = true;
变量和常量
上面我们进行定义的数据都是使用 let 进行声明的,可以进行修改的,就是变量。在编程当中可定义的数据还有常量,常量通常定义为固定的、不被改变的数据。
ArkTs的命名规则
在鸿蒙编程中不管是变量名、常量名还是其他的自定义标识符如函数名、类名等都必须遵守以下规则:
- 标识符由大写字母、小写字母、数字、下划线和$符号组成。
- 标识符的首字符必须是大写字母、小写字母、数字、下划线和$符号。
- 自定义标识符不能是保留字(保留字是语言本身已经定义的具有固定定义的系统标识符)。、
- 标识符区分大小写,如name和Name是不同的标识符。
常量
常量是程序运行期间值不变的量。声明常量使用 const 关键字,基本格式如下:
const 常量名 = 值;
const PI = 3.14;
注:声明常量必须要初始化赋值,否则报错。
运算符
运算符包括:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、三元条件运算符、类型运算符、其它运算符。
算术运算符
- 加(+)、减(-)、乘(*)、除(/)、求余(%)、自增(++)、自减(--)。
关系运算符
关系运算符用于比较两个值,并返回布尔值(true或false)。
- 等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。
- 另外还拥有强等于(===)会判断值和类型是否同时相同,强不等于(!==)会要求值和类型都不相同。
代码演示:
//强等于(===):检查值和类型是否完全相同。
5 === '5' // false(数值与字符串类型不同)
//强不等于(!==):检查值或类型是否不同。
5 !== '5' // true
逻辑运算符
- 逻辑与(&&)、逻辑或(||)、逻辑非(!)。
代码演示:
//逻辑与(&&)
true && false; // 返回 false
5 > 3 && 2 < 4; // 返回 true(两个条件均满足)
//逻辑或(||)
True or False # 返回 True
3 == 4 or 5 > 2 # 返回 True(第二个条件满足)
//逻辑非(!)
!(10 > 5); // 返回 false(原条件为真,取反后为假)
bool flag = false;
!flag; // 返回 true
位运算符
位运算符直接操作二进制数的每一位,适用于整数类型。包含位与(&)、位或(|)、取反(~)、异或(^)、左移(<<)、右移(>>)、无符号右移(>>>)。
- 位与(&):对应位均为1时结果为1,否则为0。常用于掩码操作:
const a = 5; // 0101
const b = 3; // 0011
console.log(a & b); // 0001 → 1
- 位或(|):对应位至少有一个1时结果为1。常用于组合标志位:
const flagsRead = 1; // 0001
const flagsWrite = 2; // 0010
console.log(flagsRead | flagsWrite); // 0011 → 3
- 取反(~):按位取反(包括符号位)。等效于
-x - 1:
const x = 4; // 0100
console.log(~x); // 1011 → -5 (补码表示)
- 异或(^):对应位不同时结果为1。可用于交换变量值:
let m = 7; // 0111
let n = 2; // 0010
m ^= n; n ^= m; m ^= n;
console.log(m, n); // 2, 7
- 左移(<<):高位丢弃,低位补0。每左移1位相当于乘以2:
const num = 3; // 0011
console.log(num << 2); // 1100 → 12
- 右移(>>):保留符号位,低位丢弃。每右移1位相当于除以2(向下取整):
console.log(-9 >> 1); // -5 (符号位扩展)
- 无符号右移(>>>):高位补0,不考虑符号位。常用于处理无符号数:
console.log(-9 >>> 1); // 2147483643 (高位补0)
赋值运算符
赋值运算符用于将右侧的值赋给左侧的变量。复合赋值运算符结合了算术运算和赋值,简化代码。
- 赋值(=)、复合加赋值(+=)、复合减赋值(-=)、复合乘赋值(*=)、复合除赋值(/=)。
代码演示:
//复合加赋值(+=)
let a = 5;
a += 3; // 等价于 a = a + 3
console.log(a); // 输出 8
//复合减赋值(-=)
let b = 10;
b -= 4; // 等价于 b = b - 4
console.log(b); // 输出 6
// 复合乘除赋值同理
三元运算符
- 只有问号冒号运算符(? :)。
代码演示:
const age = 20;
const canVote = age >= 18 ? "Yes" : "No";
console.log(canVote); // 输出: "Yes"
更多推荐


所有评论(0)