鸿蒙 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

相关文章

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

基于Java开发一个极简版敏感词检测工具

《基于Java开发一个极简版敏感词检测工具》这篇文章主要为大家详细介绍了如何基于Java开发一个极简版敏感词检测工具,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录你是否还在为敏感词检测头疼一、极简版Java敏感词检测工具的3大核心优势1.1 优势1:DFA算法驱动,效率提升10

spring AMQP代码生成rabbitmq的exchange and queue教程

《springAMQP代码生成rabbitmq的exchangeandqueue教程》使用SpringAMQP代码直接创建RabbitMQexchange和queue,并确保绑定关系自动成立,简... 目录spring AMQP代码生成rabbitmq的exchange and 编程queue执行结果总结s

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配