“在科技的浪潮中,鸿蒙操作系统宛如一颗璀璨的新星,引领着创新的方向。作为鸿蒙开天组,今天我们将一同踏上鸿蒙基础的探索之旅,为您揭开这一神奇系统的神秘面纱。”
各位小伙伴们我们又见面了,我就是鸿蒙开天组,下面让我们进入今天的学习,鸿蒙基础篇-进阶布局
语句:语句是程序执行的基本单位,它可以是一个表达式、赋值操作、函数调用等,代表了一个具体的操作指令。
分支:分支结构用于根据不同的条件来决定程序的执行路径。常见的分支结构有 if-else
语句,根据条件的真假来执行不同的代码块。还有 switch
语句,用于基于不同的枚举值或整数常量选择执行相应的代码分支。
循环:循环结构用于重复执行一段代码。例如 for
循环,通过指定循环的初始条件、结束条件和迭代步长来控制循环次数。while
循环在条件为真时重复执行代码块。do-while
循环则先执行一次代码块,然后在条件为真时继续循环。
这些结构使得开发者能够根据不同的逻辑和需求,灵活控制程序的流程和执行逻辑,从而实现各种复杂的功能。
分支语句
语句概念
- 表达式: 可以被求值的代码,并将其计算出一个结果
- 语句: 一段可以执行的代码,是一个行为,例如分 支语句和循环语句
If 分支
if 语句用于需要根据逻辑条件执行不同语句的场景。当逻辑条件为真时,执行对应的一组语句。
单分支
- 小括号条件结果为 true,则执行大括号里面的代码
- 小括号内的结果若不是布尔类型时,会发生类型转换为布尔值
下面展示一个案例来理解:
let score: number = 700
// 如果分数大于600分,提示“恭喜你,考入北京大学”
if (score > 600) {
console.log('恭喜你,考入北京大学')
}
// 小括号内的结果若不是布尔类型时,会发生类型转换为布尔值
if ('hi') {
console.log('hello world')
}
多学一招:如果大括号里面只有一条语句,可以省略大括号
双分支
下面展示一个案例来理解:
/*
if (条件) {
条件成立执行的代码
} else {
条件不成立执行的代码
}
*/
let score: number = 599
// 如果分数大于600分,提示“恭喜你,考入北京大学”; 否则提示再接再厉
if (score > 600) {
console.log('恭喜你,考入北京大学')
} else {
console.log('再接再厉')
}
下面展示一个综合案例来巩固一下:
需求:购物车商品数量大于0可以单击“-”按钮,否则提示:购物车已经空了,不能再减了
@Entry
@Component
struct Index {
@State
count: number = 1
build() {
Column() {
Row() {
Text('-')
.width(20)
.height(20)
.border({width: 1, color: '#999', radius: {topLeft: 3, bottomLeft:3}})
.textAlign(TextAlign.Center)
.onClick(() => {
if (this.count > 0) {
this.count -= 1
} else {
AlertDialog.show({message: '购物车已经空啦,不能再减了'})
}
})
Text(this.count.toString())
.height(20)
.padding({left: 10, right: 10})
.border({width: {top: 1, bottom: 1}, color: '#999'})
.fontSize(14)
Text('+')
.width(20)
.height(20)
.border({width: 1, color: '#999', radius: {topRight: 3, bottomRight: 3}})
.textAlign(TextAlign.Center)
.onClick(() => {
this.count ++
})
}
}
.padding(20)
}
}
多分支:
let score: number = 66
if (score >= 90) {
console.log('优秀')
} else if (score >= 70) {
console.log('良好')
} else if (score >= 60) {
console.log('及格')
} else {
console.log('不及格')
}
Switch 分支
基础语法
注意:
- 如果没有break语句,则执行switch中的下一个label对应的代码块
下面展示一个案例来理解:
let fruit: string = '橘子'
switch (fruit) {
case '苹果':
console.log('苹果5元/斤')
break
case '橘子':
console.log('橘子3元/斤')
break
default:
console.log('不好意思,您查询的水果已售罄')
}
条件表达式
条件表达式又叫三元运算或三元表达式
@Entry
@Component
struct Index {
@State
btnFlag: boolean = false
build() {
Column() {
Button(`${this.btnFlag ? '已关注' : '+ 关注'}`)
.backgroundColor(`${this.btnFlag ? '#f60' : '#00f'}`)
.onClick(() => {
this.btnFlag = !this.btnFlag
})
}
.padding(20)
}
}
条件渲染
ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,使用if
、else
和else if
渲染对应状态下的UI内容。
if
、else if
后跟随的条件语句可以使用状态变量,状态变量值变化时,条件渲染语句会进行更新。
循环语句
作用:重复执行指定的一段代码
While 语句
Tips:循环三要素
- 初始值(变量)
- 循环条件
- 变化量(变量计数,自增或自减)
下面展示一个案例来理解: 需求:10以内数字累加和
let sum: number = 0
let i: number = 1
// 累加 前两个数字之和 + 下一个数, sum = sum + i
while (i <= 10) {
sum += i
i++
}
// 输出结果
console.log('累加和是', sum)
For 语句
let sum:number = 0
for (let i = 1; i<= 10; i++) {
if (i % 2 == 0) {
sum += i
}
}
console.log('累加和是', sum)
退出循环
作用:满足指定条件退出循环的方式
- break:终止循环
- continue: 退出当前一次循环的执行,继续执行下一次循环
下面展示一个案例来理解:
/*
for (let i = 1; i <= 5; i++) {
if (i == 3) {
console.log('吃饱了,不吃了')
// 终止循环
break
}
console.log(`正在吃第${i}个苹果`)
}
*/
for (let i = 1; i <= 5; i++) {
if (i == 3) {
console.log('吃饱了,不吃了')
continue
}
console.log(`正在吃第${i}个苹果`)
}
遍历数组for...of
- 语法:
for (let item of 数组名) {}
-
- for ... of : 在 ... 之中 进行循环
- item: 声明的一个变量, 用来在循环的时候接收每一个数组元素
下面展示一个案例来理解:
let names: string[] = ['小红', '小明', '大强']
/*for(let i = 0; i < names.length; i++) {
console.log('名字是', names[i])
}*/
for (const item of names) {
console.log('for...of...名字是', item)
}
案例-数组元素求和
// 求出下列数组元素的累加和
[22, 3, 44, 55, 80]
思路分析
- 声明一个变量初始值为 0 ,保存最终的累加和结果
- 遍历数组, 访问每一个数组元素, 与结果变量累加
- 输出最终的求和结果
下面展示一个案例来理解:
let arr: number[] = [22, 3, 44, 55, 80]
// 1. 声明保存结果的变量
let sum: number = 0
// 2. 遍历数组,进行累加
for (const item of arr) {
sum += item
}
// 3. 输出结果
console.log('累加和为', sum)
案例 - 筛选数组中大于等于10的元素
// 筛选出下列数组元素中大于等于10的数据
[22, 3, 44, 55, 80, 10, 11, 5, -1]
思路分析
- 声明一个变量, 初始值为 [ ], 用来保存最终的筛选结果
- 遍历数组, 将数组每一个元素都与 10 进行比较,
-
- 满足条件 推入 结果变量
- 不满足条件 不做任何处理 执行下一次循环
- 输出最终的结果
下面展示一个案例来理解:
let arr: number[] = [22, 3, 44, 55, 80, 10, 11, 5, -1]
// 1. 声明新数组
let newArr: number[] = []
// 2. 遍历数组,将大于10的数据新增到 newArr
for (const item of arr) {
if (item >= 10) {
newArr.push(item)
}
}
console.log('新数组是', newArr)
下面展示一个案例来试炼:
// 统计数组中大于0数字个数
[22, 3, 0, 55, 0, 0, 11, 5, 0]
let arr: number[] = [22, 3, 0, 55, 0, 0, 11, 5, 0]
let count: number = 0
for (const item of arr) {
if(item > 0) {
count += 1
}
}
console.log('大于0的数字个数是', count)
以上是关于鸿蒙基础篇-语句-分支-循环 综合的一些内容,方便大家学习,至此,关于鸿蒙基础篇-语句-分支-循环 综合的内容就介绍到这里,愿您能学以致用,开发出精彩的鸿蒙应用!
以上内容仅供学习交流,如有违法或者侵权可以联系删除。
标签:语句,console,log,鸿蒙,number,循环,let,分支 From: https://blog.csdn.net/2401_88463044/article/details/143313423