华为鸿蒙开发基础第三节:一元运算符、比较运算符、逻辑运算符及运算符优先级

引言

在华为鸿蒙操作系统的开发中,DevEco Studio 是官方推荐的集成开发环境(IDE),它提供了代码编写、调试、打包和签名等一系列开发功能。本文将结合 DevEco Studio,详细介绍鸿蒙应用开发中常用的一元运算符、比较运算符、逻辑运算符以及运算符的优先级,帮助开发者更好地理解和使用这些基础概念。

一元运算符

一元运算符只对一个操作数进行操作,常见的一元运算符包括 ++(自增)和 --(自减)。

自增运算符 ++

自增运算符 ++ 用于将变量的值增加 1。它有两种使用方式:后缀(num++)和前缀(++num)。

  • 后缀自增:先返回变量的原始值,然后变量值增加 1。
  • 前缀自增:先变量值增加 1,然后返回新值。
@Entry
@Component
struct Index {
  build() {
    let num: number = 10;
    let res1: number = num++;
    console.log('res1', res1); // 10
    console.log('num', num);   // 11

    let num2: number = 10;
    let res2: number = ++num2;
    console.log('res2', res2); // 11
    console.log('num2', num2); // 11
  }
}

自减运算符 --

自减运算符 -- 用于将变量的值减少 1,其使用方式与自增运算符类似。

@Entry
@Component
struct Index {
  build() {
    let num2: number = 10;
    let res2: number = --num2;
    console.log('res2', res2); // 9
    console.log('num2', num2); // 9
  }
}

比较运算符

比较运算符用于比较两个值,并返回布尔值(truefalse)。

数值比较

  • >(大于)
  • <(小于)
  • >=(大于等于)
  • <=(小于等于)
@Entry
@Component
struct Index {
  build() {
    let num1: number = 11;
    let num2: number = 11;
    console.log('判断结果', num1 > num2); // false
    console.log('判断结果', num1 < num2); // false
    console.log('判断结果', num1 >= num2); // true
  }
}

相等性比较

  • ==(等于):会进行类型转换后比较。
  • !=(不等于):会进行类型转换后比较。
@Entry
@Component
struct Index {
  build() {
    let num1: number = 200;
    let num2: number = 201;
    console.log('判断结果', num1 == num2); // false

    let password: string = '123456';
    let password2: string = '123456';
    console.log('判断结果', password == password2); // true
  }
}

逻辑运算符

逻辑运算符用于根据条件判断结果。

逻辑与 &&

逻辑与 && 只有在所有条件都为 true 时,结果才为 true

@Entry
@Component
struct Index {
  build() {
    console.log('结果1', 3 > 5 && 5 < 9); // false
    console.log('结果2', 5 > 2 && 5 < 9); // true
  }
}

逻辑或 ||

逻辑或 || 只要有一个条件为 true,结果就为 true

@Entry
@Component
struct Index {
  build() {
    console.log('结果1', 3 > 5 || 5 < 9); // true
    console.log('结果2', 5 > 2 || 5 < 9); // true
    console.log('结果3', 5 > 20 || 5 < 1); // false
  }
}

逻辑非 !

逻辑非 ! 用于取反布尔值。

@Entry
@Component
struct Index {
  build() {
    console.log('结果', !true); // false
  }
}

运算符优先级

运算符优先级决定了表达式中运算符的执行顺序。

  1. 小括号 ()
  2. 一元运算符 ++ -- !
  3. 算术运算符 * / % + -
  4. 比较运算符 > < >= <= == !=
  5. 逻辑运算符 && ||
  6. 赋值运算符 =
@Entry
@Component
struct Index {
  build() {
    console.log('运算符优先级', 2 + 2 * 3); // 8
    console.log('运算符优先级', (2 + 2) * 3); // 12
    console.log('运算符优先级', 2 * 3 > 4 == false); // false
    console.log('运算符优先级', !true == 3 * 3 > 4); // false
  }
}

结语

理解并正确使用运算符是编程的基础。希望本文能帮助你更好地掌握华为鸿蒙开发中的运算符使用,提升你的开发技能。如果你有任何问题或想要进一步讨论,欢迎在评论区留下你的想法。


The_Wang
1 声望0 粉丝

华为鸿蒙HarmonyOS Next大学生开发者