
回复
语句概念: 一段可以一段可以执行的代码, 是一个行为(num=a+b)
表达式: 可以被求职的一段代码, 将其计算出一个结果(1+1)
if 语句用于需要根据逻辑条件执行不同语句的场景。当逻辑条件为真时,执行对应的一组语句。
单分支 ( 满足条件,就会执行一段代码 )
双分支 ( 满足条件, 就会执行A代码, 不满足会执行B代码 )
AlerDialog.show({message:'最小值为1,不能再减了'}) //文本提示框
if 多分支, 可以解决多种分支的情况
switch分支一般用于精确匹配, 不同的值执行不同的代码
注意:** break结束语句, 不能省略,** 否则无论是否匹配成功都直接执行switch中的下一个代码块()
if 和 switch 多分支区别
let str:string = '杭州'
switch (str){
case '北京':
console.log('欢迎来到北京')
break
case '上海':
console.log('欢迎来到上海')
break
case '杭州':
console.log('欢迎来到杭州')
break
case '深圳':
console.log('欢迎来到深圳')
break
default :
console.log('世界这么大, 可以去看看')
}
@Entry
@Component
struct Index {
@State message: string = 'Hello World';
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}
语法: 条件 ? 条件成立执行的表达式 : 条件不成立执行的表达式
let xiaoming:number=96
let xiaohong:number=97
let num:number=xiaoming > xiaohong ? xiaoming : xiaohong
console.log('最高分是',num)
@Entry
@Component
struct Index {
@State message: string = 'Hello World';
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}
使用 if else 和 else if , 可基于 不同的状态 渲染对应不同的UI内容
@Entry
@Component
struct Index {
//组件的状态变量
@State count:number=2
build() {
Column(){
if (this.count<18){
Text('你还是孩子,要好好学习')
}else if(this.count<=60){
Text('你是成年人')
}else{
Text('你是老年人')
}
Button('长大')
.onClick(()=>{
this.count+=5
})
Text(`当前年龄${this.count}`)
}
.width('100%')
.height('100%')
.backgroundColor('#eee')
.padding({top:15,right:15,left:15})
}
}
在循环体里设置的变量, 只能在循环体利用, 在循环体外找不到
作用: 重复执行指定的一段代码
**循环三要素: **
执行逻辑:
//for 计算1-10的累加和
let j:number=0
for (let i:number=1;i<=10;i++){
j=j+i
} console.log(j.toString())
作用: 满足条件, 可以退出循环
//需求1: 打印1-100的整数, 遇到7的倍数跳过
for(let i:number=1;i<=10;i++){
if(i%7==0){
console.log('跳过')
continue
}
console.log(i.toString())
}
//需求2: 打印1-100的整数,遇到20结束循环
for(let i:number=1;i<100;i++){
if(i==20){
console.log(i.toString())
break
}
console.log(i.toString())
}
遍历: 将数组里面的每一个数据, 按顺序访问一遍
语法: for ( let item of 数组名){ }
for...of: 在...之中 进行循环
//第一步通过接口定义对象
interface student{
stuID:number,
name:string,
gender:string,
age:number
}
//基于接口创建数组对象
let stuShuZu:student[]=[
{stuID:1,name:'小明',gender:'高三',age:17},
{stuID:1,name:'大明',gender:'高三',age:19},
{stuID:1,name:'二明',gender:'高三',age:18},
{stuID:1,name:'天明',gender:'高三',age:17}
]
//使用数组, 因为数组对象不能直接在日志中显示,
//想要在日志中显示需要调用方法转成字符串
console.log('打印数组对象',stuShuZu)
//包含对象的复杂数据, 如果想在日志中打印,
//需要需要调用一个方法, 转成字符串
//JSON.stringify(复杂类型)对象/数值
console.log('打印数组对象',JSON.stringify(stuShuZu))
@Entry
@Component
struct Index {
//组件的状态变量
@State count:number=1
build() {
Column(){
}
.width('100%')
.height('100%')
.backgroundColor('#eee')
.padding({top:15,right:15,left:15})
}
}