零基础入门鸿蒙应用开发:二、ArkTs语法基础

介绍

ArkTs是鸿蒙应用开发的主力语言,今天就来简单讲解一下ArkTs的基本使用与语法基础,

有编程经验的朋友可以同时翻阅一下这个官方文档.

ArkTS语言介绍-学习ArkTS语言-基础入门 - 华为HarmonyOS开发者

基础入门

1.输出语句

前期我们需要用到输出语句来在日志中查看数据处理结果,同时注意这一章的代码我们都在

entry/src/main/ets/pages目录下的Index.ets文件的最上方书写(@Entry的上面),

下面的代码可以先不动      

写法:console.log('消息说明', '打印的内容')

console.log('我说', 'Hello World')
@Entry
@Component
struct Index {
  @State message: string = 'Hello World';

  build() {
    RelativeContainer() {
      Text(this.message)
        .id('HelloWorld')
        .fontSize($r('app.float.page_text_font_size'))
        .fontWeight(FontWeight.Bold)
        .alignRules({
          center: { anchor: '__container__', align: VerticalAlign.Center },
          middle: { anchor: '__container__', align: HorizontalAlign.Center }
        })
        .onClick(() => {
          this.message = 'Welcome';
        })
    }
    .height('100%')
    .width('100%')
  }
}

然后保存 打开预览器运行 打开日志  就可以在日志中看到

一、认识和存储数据

1.认识数据

编程语言的核心就是处理数据,在处理数据之前我们要认识数据

三种常见的基础数据类型及用途:

① string 字符串:描述信息、文字

② number 数字:计算

③ boolean 布尔:判断 (真、假)

2.存储数据

2.1 变量

变量:专门用来存储数据的容器

let : 可以用来声明变量 不能重复声明一个变量   变量的值可以修改

写法:let 常量名: 类型 = 值

// 1. 字符串 string
let title: string = '汉堡'
console.log('字符串title', title)

// 2. 数字 number
let age: number = 18
console.log('年龄age', age)

// 3. 布尔 boolean,值 true真,false假
let isLogin: boolean = false
console.log('是否登录成功', isLogin)

// 变量存储的数据可以修改
age = 40
console.log('年龄age', age)

2.2  常量

常量:用来存储数据 

const : 可以用来声明常量量 不能重复声明一个常量   变量的值不能修改

写法:const 常量名: 类型 = 值

const PI: number = 3.14
console.log('圆周率', PI)

const companyName: string = '华为'
console.log('公司名称', companyName)

3.命名规则

① 只能包含数字、字母、下划线、$,不能以数字开头

② 不能使用内置关键字或保留字 (比如 let、const)

③ 严格区分大小写

二、数组

数组:是一个容器,可以存储多个数据

let 数组名: 类型[] = [数据1, 数据2,...]

let names: string[] = ['小红', '小明', '大强']

注:数组指定的类型和存储的数据类型要必须一致

1.获得数组元素

写法:数组名[索引号]

let names: string[] = ['张三', '赵四', '王五']
console.log('数组names', names)

// 根据索引取数据
console.log('姓名:', names[0])

注:索引号是从0开始的

三、函数

函数:是可以被重复使用的代码块

1.基本使用

先定义后调用

function 函数名() {
  函数体
}

函数名()

2.参数

函数可以传递参数到函数体使用

参数的作用:使函数能够接收和处理外部的数据,提高函数的灵活性和通用性。

没有参数的函数:

function sum() {
  let res: number = 8 + 18
  console.log('加法结果是', res)
}

sum()

有参数的函数:

function sum(a: number, b: number) {
  let res: number = a + b
  console.log('加法结果是', res)
}

sum(1, 2)
sum(10, 20)
sum(100, 200)

实参:真实数据(函数调用时候的传入的真实数据)例: sum(1,2)中的1和2

形参:形式上的参数(函数定义时候写的参数) 例:sum(a: number, b: number)中的a和b

3.返回值

返回值作用:将函数的执行结果传递给函数外部。

关键字:return

function sum(a: number, b: number) {
  let res: number = a + b
  return res
}


let num: number = sum(5, 5)
console.log('num', num)

4.箭头函数

箭头函数是比普通函数更简洁的一种函数写法

let 函数名 = (形参1: 类型, 形参2: 类型) => {
  // 函数体
  // 1. 计算过程
  // 2. 返回结果
  return 计算的结果
}

函数名(实参1, 实参2)
// 2. 参数与返回值
/*
 * 需求1:苹果 4元/斤,买3斤需要多少钱?
 * 需求2:橘子 6元/斤,买4斤需要多少钱?
 * */

let buy = (price: number, weight: number = 1) => {
  let result: number = price * weight
  return result
}

let apple: number = buy(4,3)
console.log('苹果', apple)

let orange: number = buy(6, 4)
console.log('橘子', orange)

四、对象

作用:用于描述一个物体的特征和行为

对象:是一个可以存储多个数据的容器。

1.对象的定义和使用

写法: let  对象名称:对象结构类型=值

1.通过interface接口约定 对象结构类型

interface 接口名 {
  属性1: 类型1
  属性2: 类型2
  属性3: 类型3
}

interface Person {
  name: string
  age: number
  weight: number
}

2.定义对象并使用:对象名.属性名

// 1. 定义接口
interface Person {
  name: string
  age: number
  weight: number
}

// 2. 基于接口,定义对象
let ls: Person =  {
  name: '李四',
  age: 18,
  weight: 90
}

console.log('名字', ls.name)
console.log('年龄', ls.age)

let ww: Person =  {
  name: '王五',
  age: 19,
  weight: 88
}

console.log('名字', ww.name)
console.log('年龄', ww.age)

2.对象的方法

方法的作用:描述对象的具体行为

1.约定方法类型

interface 接口名称 {
  方法名: (参数:类型) => 返回值类型
}

interface Person{
  dance: () => void
  sing: (song: string) => void
}

2.添加方法(箭头函数)

let zs: Person = {
  dance: () => {
    console.log('张三说', '我来跳个舞')
  },
  sing: (song: string) => {
    console.log('张三说', '我来唱首', song)
  }
}


// 对象名.方法名(参数)
ym.dance()
ym.sing('凤舞九天')

五、联合类型

联合类型是一种灵活的数据类型,它修饰的变量可以存储不同类型的数据。

// let 变量: 类型1  |  类型2  |  类型3 = 值

let judge: number | string = 100

judge = 500
judge = '优秀'

console.log('考试评价', judge)

// 联合类型可以将变量值约定在一组数据范围内进行选择
let gender: 'man' | 'woman' | 'secret' = 'secret'

六、枚举类型

枚举类型是一种特殊的数据类型,约定变量只能在一组数据范围内选择值。

定义枚举类型(常量列表)

enum 枚举名 {
  常量1 = 值,
  常量2 = 值,
  ......
}
// 1. 定义枚举 (定义常量列表)
enum ThemeColor {
  Red = '#ff0f29',
  Orange = '#ff7100',
  Green = '#30b30e'
}

// 2. 给变量设定枚举类型
let color: ThemeColor = ThemeColor.Orange
console.log('color', color)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值