鸿蒙 Harmony ArkTs开发教程三 流程控制

2024-06-05 05:20

本文主要是介绍鸿蒙 Harmony ArkTs开发教程三 流程控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关键字:if
else if
else
== 比较内容是否相等 / 较数据类型是否一致 不一致就会强制类型转换
=== 比较内容是否相等
& 前面为false 后面也会执行
&& 并且前面为true 后面也得为true
| 或 无论前面是否为true 都执行后面的判断
|| 或者 前面为true 后面则不执行
% 取模
// == 比较数据类型是否一致 不一致就会强制类型转换
// typeScript中 '' 空字符串 , 0 数字0 ,'null' null,undefined 都会被认定为false ,其他为true

switch(key) case value : break 基本等同于Java / JavaScript

// @ts-nocheck
// @ts-nocheck
import UIAbility from '@ohos.app.ability.UIAbility';
import hilog from '@ohos.hilog';
import window from '@ohos.window';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';export default class EntryAbility extends UIAbility {onCreate(want, launchParam) {let age = 18 //隐式声明一个number类型let state = true //隐式声明一个boolean类型if (age % 2 === 0) {// == 比较数据类型是否一致 不一致就会强制类型转换//===// typeScript中 '' 空字符串 , 0 数字0 ,'null' null,undefined 都会被认定为false ,其他为trueconsole.log("偶数");} else {console.log("奇数");}//if 如果...条件成立 &&并且. 后面为true 则执行if (age > 18 && age < 66 && state) {console.log("符合条件满18 并且小于66 并且 state 为true");}if (age > 0) {console.log("age > 0");}else if (age < 0) {console.log("age < 0");} else {console.log("age = 0");}let name = undefinedif (name) {//如果不是 undefined  , null , 'null' , '', 0 则会执行}let value = 'A'switch (value) {case 'A':console.log('isA')breakcase 'B':console.log('isB')breakdefault:console.log('isOther')break;}let index = 0while (index < 10) {index++console.log(index.toString());}let names = ['A', 'B']//普通循环for (let i = 0; i < names.length; i++) {console.log(names[i]);}//forEach 根据索引for (const i in names) {console.log(names[i]);}//forEach 根据值for (const name of names) {console.log(name)}//names.forEach()//function 定义方法function eat(name: string): void {console.log("eat" + name)}function add(a: number, b: number): number {return a + b}//等同于 addfunction add1(a: number, b: number) {return a + b}eat('apple')console.log(add1(1, 2).toString());//简写版functionlet sayHi = (name: string) => {console.log('Hi' + name);}let getValue = (value: number) => {return value++}sayHi('summer')console.log(getValue(1).toString())//传参 可选参数let sayHi2 = (name?: string) => {name = name ? name : 'test'console.log(name);}//不传参 使用默认参数let sayHi3 = (name: string = 'World') => {name = name ? name : 'test'console.log(name);}//枚举enum T {T1 = "T1",T2 = "T2",T3 = "T3"}//枚举 不写值 默认是 1-3enum T1 {T1,T2,T3}//接口interface IA {onClickListener(view: number): void}//定义类 实现接口class Iimp implements IA{constructor() {//构造方法 等同于Kotlin}onClickListener(view : number) : void{console.log("implements method");}}let typeA : Iimp = new IA()typeA.onClickListener(1)class A1 {private valueA1 : numberprivate valueA2 : numberconstructor(index : number,index1 : number) {this.valueA1 = index;this.valueA2 = index1;}public area() : number{return this.valueA1;}}//extends 继承class A2 extends A1{constructor(index: number) {super(index,index)}}let a2 : A2 = new A2(1)a2.area()//模块开发 功能抽取 .ts文件  每个文件都是一个模块//export 表示可以导出export class BaseUtils{}//导出方法export function addNumber():void{}import {BaseUtils,addNumber} form '../Test2' //引用类 或者方法}
}

这篇关于鸿蒙 Harmony ArkTs开发教程三 流程控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1032179

相关文章

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t