头图

华为鸿蒙开发:条件语句和分支逻辑

引言

在编程中,根据不同的条件执行不同的代码块是常见的需求。华为鸿蒙操作系统的开发同样涉及到这些基础的控制流语句。本文将通过 DevEco Studio 介绍鸿蒙开发中的条件语句和分支逻辑,包括 if 语句、switch 语句和三元条件表达式,以及如何在 UI 中实现条件渲染。

if 语句

if 语句是最基本的条件语句,它允许我们根据条件是否满足来执行不同的代码。

单分支 if 语句

单分支 if 语句仅在条件满足时执行一段代码。

@Entry
@Component
struct Index {
  build() {
    let score: number = 85;
    if (score >= 80) {
      console.log('奖励', '一辆自行车');
    }
  }
}

双分支 if 语句

双分支 if 语句在条件满足时执行一段代码,不满足时执行另一段代码。

@Entry
@Component
struct Index {
  build() {
    let score: number = 55;
    if (score >= 90) {
      console.log('评价:', '卓越');
    } else if (score >= 70) {
      console.log('评价:', '优秀');
    } else if (score >= 50) {
      console.log('评价:', '中等');
    } else {
      console.log('评价:', '待提高');
    }
  }
}

switch 语句

switch 语句用于多分支的精确匹配,比多个 if 语句更清晰。

@Entry
@Component
struct Index {
  build() {
    let fruit: string = '芒果';
    switch (fruit) {
      case '葡萄':
        console.log('葡萄价格:', '10元一斤');
        break;
      case '橙子':
        console.log('橙子价格:', '8元一斤');
        break;
      case '梨':
        console.log('梨价格:', '5元一斤');
        break;
      default:
        console.log('提示:', '尊敬的用户,该水果不存在');
    }
  }
}

三元条件表达式

三元条件表达式是一种简洁的条件选择语句,用于在条件满足时执行一个表达式,不满足时执行另一个表达式。

@Entry
@Component
struct Index {
  build() {
    let num1: number = 50;
    let num2: number = 20;
    let res: number = num1 > num2 ? 10 * 2 : 5 + 3;
    console.log('三元条件表达式', res);
  }
}

条件渲染

在 UI 开发中,我们经常需要根据不同的条件来展示不同的界面元素。

@Entry
@Component
struct Index {
  @State age: number = 25;
  build() {
    Column() {
      if (this.age < 18) {
        Text('未成年,未满18岁');
      } else if (this.age < 40) {
        Text('青年人,18-40岁');
      } else {
        Text('中年人,40岁以上');
      }
      Button('增加年龄').onClick(() => {
        this.age += 1;
      });
      Text(`当前年龄: ${this.age}`);
    }
  }
}

结语

掌握条件语句和分支逻辑是编程的基础,无论是在后端逻辑处理还是在前端 UI 渲染中都非常重要。希望本文能帮助你在华为鸿蒙开发中更好地使用这些控制流语句。如果你有任何问题或想要进一步讨论,欢迎在评论区留下你的想法。


以上就是一篇关于华为鸿蒙开发中条件语句和分支逻辑的博客文章。希望这篇文章能帮助你更好地理解和使用华为鸿蒙开发中的条件语句。如果你在使用 DevEco Studio 进行开发时遇到任何问题,欢迎交流讨论。


The_Wang
1 声望0 粉丝

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