Java开发人员学习ArkTs笔记(一)-基本知识

大家好,我是一名热爱Java开发的开发人员。目前,我正在学习ARKTS(Advanced Java Knowledge and Technology Stack),并将不断输出我的学习笔记。我将在这里分享我学习ARKTS的过程和心得,希望能够为其他开发人员提供一些有价值的参考和帮助。让我们一起探索ARKTS的奥秘,共同进步!

ArkTS是一种为构建高性能应用而设计的编程语言。ArkTS在继承TypeScript语法的基础上进行了优化,以提供更高的性能和开发效率。本文,主要是对ArkTs基本知识学习过程,进行总结输出。

1.声明

ArkTS通过声明引入变量、常量、函数和类型。

变量声明

以关键字let开头的声明引入变量,该变量在程序执行期间可以具有不同的值。

let hi: string = 'hello';
hi = 'hello, world';

常量声明

以关键字const开头的声明引入只读常量,该常量只能被赋值一次。

const hello: string = 'hello';

对常量重新赋值会造成编译时错误。

##自动类型推断

let hi1: string = 'hello';
let hi2 = 'hello, world';

2.类型

Number类型

ArkTS提供number和Number类型,任何整数和浮点数都可以被赋给此类型的变量。
就是将java的long、int、float、double类型等合并为了一个。

 let num :number = 39num = 2.3num = 0x3fnum = -32

Boolean类型
boolean类型由true和false两个逻辑值组成。和java的boolean一样。

let isDone: boolean = false;
if (isDone) {console.log ('Done!');
}

String类型
string代表字符序列。和java、kotlin的string基本一样。

 let world :string = "hello world";world = "fdsf";console.log(`${world}`);

Void类型

void类型用于指定函数没有返回值。

class Class<T> {//...
}
let instance: Class <void>

** Object类型**

Object类型是所有引用类型的基类型。任何值,包括基本类型的值(它们会被自动装箱),都可以直接被赋给Object类型的变量。

Array类型

array,即数组,是由可赋值给数组声明中指定的元素类型的数据组成的对象。

let world :string[] = ["hello world", "hello world"];

Enum类型

enum类型,又称枚举类型,是预先定义的一组命名值的值类型,其中命名值又称为枚举常量。

enum ColorSet { Red, Green, Blue }
let c: ColorSet = ColorSet.Red;enum ColorSet {Red=(fds,fd), Blue=(fds,fd), Green=(fds,fd)}

Union类型

union类型,即联合类型,是由多个类型组合成的引用类型。联合类型包含了变量可能的所有类型。
我理解,这玩意,相当于一个万能类型,即:可以声明一个变量为string、number、自定义object、boolean,然后可以随意赋值这些类型的值。

 type kk = string | number | boolean | world;kk  = ["hello world", "hello world"];kk =2;kk = "213";kk = true;

Aliases类型

Aliases类型为匿名类型(数组、函数、对象字面量或联合类型)提供名称,或为已有类型提供替代名称。其实就是起一个别名。
相当于java的引用,指向的是一个对象而已。

 type kk = string | number | boolean | world;kk  = ["hello world", "hello world"];kk =2;kk = "213";kk = true;type wo = kk;

3.运算符

基本与java、kotlin无差别。
赋值运算符=,使用方式如x=y。
比较运算符。
一元运算符为-、+、–、++。
二元运算符列举如下。
逻辑运算符。

4.语句

** If语句**

if (condition1) {// 语句1
} else if (condition2) {// 语句2
} else {// else语句
}

Switch语句

  switch (num) {case 22:break;case 23:break;default:break;}

条件表达式
条件表达式由第一个表达式的布尔值来决定返回其它两个表达式中的哪一个。

示例如下:

condition ? expression1 : expression2

For语句

for语句会被重复执行,直到循环退出语句值为false。

for语句如下所示:

let sum = 0;
for (let i = 0; i < 10; i += 2) {sum += i;
}

** For-of语句**

使用for-of语句可遍历数组或字符串。示例如下:

for (let consElement of world) {console.log(`${consElement}`);}

** While语句**

只要condition为真值(转换后为true的值),while语句就会执行statements语句。示例如下:

while (condition) {statements
}

** Do-while语句**

如果condition的值为真值(转换后为true的值),那么statements语句会重复执行。示例如下:

do {statements
} while (condition)

Throw和Try语句

throw语句用于抛出异常或错误:try语句用于捕获和处理异常或错误:

throw new Error('this error')try {// 可能发生异常的语句块
} catch (e) {// 异常处理
} finally {}

5.总结

ArkTS作为构建高性能应用的语言,在TypeScript基础上进行了优化。本文总结了ArkTS的基础知识,包括变量与常量的声明、类型(如Number、Boolean、String、Void、Object、Array、Enum和Union等)、运算符以及语句(If、Switch、For、While等)。
ArkTS的类型系统丰富,支持自动类型推断和别名类型。其语句结构与Java、Kotlin相似,易于上手。通过本文的学习,可以对ArkTS有一个初步的了解,为后续深入学习打下坚实基础。期待在ARKTS的探索中不断进步,共同提升开发技能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/13786.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Mybatis的执行流程解析

根据图中步骤&#xff0c;我们可以将这个执行流程分成了8个步骤。 1、读取MyBatis的核心配置文件。mybatis-config.xml为MyBatis的全局配置文件&#xff0c;用于配置数据库连接、属性、类型别名、类型处理器、插件、环境配置、映射器&#xff08;mapper.xml&#xff09;等信息…

24年下软考系统架构设计师真题及答案,估分、备考速看!

2024下半年软考考试已经圆满结束了&#xff0c;为大家整理了网友回忆版的软考高级系统架构设计师真题真题及答案。下半年考试的宝子们可以对答案预估分数&#xff01;准备明年考的宝子可以提前把握考试知识点和出题方向&#xff0c;说不定会遇到相同考点的题目&#xff01; 一、…

手把手教你用Coze零代码搭建一个智能搜索智能体,高时效性、保姆级!

随着大模型技术的发展&#xff0c;越来越多的技术开始涌现&#xff0c;从聊天助手&#xff0c;到智能体&#xff0c;再到工作流&#xff0c;最后到三者的整合。大模型技术朝着更加智能化、通用化、个性化的方向发展&#xff0c;为人们的生活和工作带来了更多的便利和创新。 今…

HTML之列表学习记录

练习题&#xff1a; 图所示为一个问卷调查网页&#xff0c;请制作出来。要求&#xff1a;大标题用h1标签&#xff1b;小题目用h3标签&#xff1b;前两个问题使用有序列表&#xff1b;最后一个问题使用无序列表。 代码&#xff1a; <!DOCTYPE html> <html> <he…

数据结构Python版

2.3.3 双链表 双链表和链表一样&#xff0c;只不过每个节点有两个链接——一个指向后一个节点&#xff0c;一个指向前一个节点。此外&#xff0c;除了第一个节点&#xff0c;双链表还需要记录最后一个节点。 每个结点为DLinkNode类对象&#xff0c;包括存储元素的列表data、…

Linux手动安装nginx

本次以安装nginx-1.12.2为例 1、首先说明一下,安装nginx之前需要安装如下素材: 2、开始安装 第一步,安装依赖yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel第二步,下载并安装nginx安装包(nginx官网:http://nginx.org/)# 下载 wget http://nginx…

无线感知会议系列【14】SignFi: Sign Language Recognition Using WiFi

摘要&#xff1a; 这篇Paper 是用CNN 做的,用来做手语识别的 模型输入&#xff1a; csi_tensor [M,N,S,T] M: tx 发送天线数量 N: rx 天线数量 S: 幅度和相位信息 T: CSI matrix for each instance 数据集大小 模型结构,跟斯坦福的HAR LSTM 有较大差异[batch_size, time, carr…

详解AI产品经理的发展与规划(附完整PPT)

随着AI技术的逐渐普及与落地&#xff0c;AI产品经理在市场上也变得分外火热。那么在未来&#xff0c;这个职业将如何发展&#xff0c;它的工作要素有哪些&#xff0c;要怎么做才能成为一名AI产品经理呢&#xff1f; 大家好&#xff0c;近日分享一些关于AI产品经理的话题。这个…

【大数据技术基础 | 实验十】Hive实验:部署Hive

文章目录 一、实验目的二、实验要求三、实验原理四、实验环境五、实验内容和步骤&#xff08;一&#xff09;安装部署&#xff08;二&#xff09;配置HDFS&#xff08;三&#xff09;启动Hive 六、实验结果&#xff08;一&#xff09;启动结果&#xff08;二&#xff09;Hive基…

[⑧5G NR]: PBCH payload生成

本篇博客记录下5G PBCH信道中payload数据的生成方式。PBCH payload一共32个比特&#xff0c;基本结构如下图&#xff1a; 根据SSB PDU中bchPayloadFlag的值有三种方式得到PBCH payload。 bchPayloadFlag 0&#xff1a;全部32比特由MAC层提供。 bchPayloadFlag 1&#xff1a;M…

大模型面试熬夜爆肝整理,附八股文和答案,这次换我手撕面试官了吧?

导读 自ChatGPT开启大模型时代以来&#xff0c;大模型正迎来飞速发展&#xff0c;现在从事大模型开发相关工作可谓是处在时代的风口。那么大模型面试需要哪些技能和技巧呢&#xff0c;本文详细整理了全套的面试问题及答案&#xff0c;希望对大家有所帮助&#xff01; 目录 [x…

刷题笔记——栈和队列互相冒充

刷题笔记——栈和队列互相冒充 5.3 用队列实现栈两队列实现栈一个队列实现栈 5.4 用栈实现队列两栈实现队列push栈和pop栈一个栈实现队列 5.3 用队列实现栈 原OJ题&#xff1a;225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; 两队列实现栈 入栈的实现 选非空的…

【Linux】网络编程3

文件描述符的作用 在TCP通信的过程&#xff0c;服务器端会产生两类不同的文件描述符&#xff0c;一个是监听的文件描述符&#xff1b;另一个是用于通信的文件描述符。它们有什么不同呢&#xff1f; 监听的文件描述符&#xff1a; 只有一个&#xff0c;它不负责与客户端的通信&…

番外-JDBC:2024年最新java连接数据库教程

前言 JavaScript的内容晚点更新&#xff0c;今天继续更新一点番外&#xff0c;今天更新的是jdbc&#xff0c;如何用java连接数据库 1.导包 要使java能够连接数据库我们需要导入一个包&#xff0c;请按照以下操作安装并导包 1.进入官网 MySQL 以上为官网链接进去后点击下载…

LIMA模型——大模型对齐的新方法

人工智能咨询培训老师叶梓 转载标明出处 大模型通常在两个阶段进行训练&#xff1a;首先是从原始文本中进行无监督预训练&#xff0c;以学习通用表示&#xff1b;其次是通过大规模的指令微调和强化学习&#xff0c;以更好地适应最终任务和用户偏好。来自Meta AI、卡内基梅隆大…

向量数据库PGVECTOR安装

文章目录 前提向量数据库介绍PGVECTOR安装1、pgvector下载2、编译安装3、创建vector扩展 前提 已经安装好了pg14版本。 其他版本也可以。 pg安装教程&#xff1a;https://blog.csdn.net/yushaoyyds/article/details/138855306?spm1001.2014.3001.5502 向量数据库介绍 向量数…

Spring Boot框架助力电商系统设计

2 相关技术 2.1 SpringBoot框架介绍 Spring Boot是一种不需要代码生成的一种框架&#xff0c;并且可以不需要配置任何的XML文件就可以&#xff0c;因为Spring Boot里面自带了很多接口&#xff0c;只需要配置不同的接口就会自动的应用并且识别需要的依赖&#xff0c;在配置方面非…

双十一之夜:珠海体育中心悲剧,极端行为下的反思

双十一&#xff0c;这个原本充满购物狂欢与期待的节日&#xff0c;在珠海市香洲区的珠海市体育中心&#xff0c;被一场突如其来的极端事件所笼罩&#xff0c;让欢乐的氛围即刻凝固。62岁男子的一时冲动&#xff0c;驾车冲撞行人&#xff0c;导致35条宝贵生命戛然而止&#xff0…

常用环境部署(二十三)——Docker部署ERPNext

1、介绍 ERPNext 是一种业务财务集成一体的现代管理关键。 与传统会计和 ERP 相比&#xff0c;它具有许多优势。相对于传统记账软件的优势: ​不仅仅是会计&#xff01; 管理库存、账单、报价、销售线索、工资单等。所有数据存放在同一个地方安全存储&#xff0c; 所有用户都在…

黑马程序员——Vue3小兔鲜项目(5. Home页)

静态结构搭建和分类实现 1. 整体结构创建 1- 按照结构新增五个组件&#xff0c;准备最简单的模版&#xff0c;分别在Home模块的入口组件中引入 HomeCategoryHomeBannerHomeNewHomeHotHomeProduct <script setup> </script><template><div> HomeCate…