大家好,我是一名热爱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的探索中不断进步,共同提升开发技能。