朋友们好,这次来总结一下仓颉语言的个人笔记

虽然是最简单最基础的基本数据类型,但是仓颉语言的语法和其他语言如Java还是有差异的,有着独特的语法规则,所以稍微简单总结一下

首先这是基于课程总结的思维导图:

这是后面根据逻辑总结的

一、变量和常量

在仓颉语言中,变量和常量的声明非常像JS里面的声明。

变量分为var可变变量以及let不可变变量,其区别就是let在声明赋值后,后面就不可以再对let的值进行修改,而var可以。所以let经常用于声明计算结果或者固定值之类的,而var用于声明一些会变的数据,如计数器、累加结果等等......

而常量const其实再作用上和let不可变变量无区别,只是叫法不同,需要注意一点的就是常量的声明里面不可以有任何形式的变量的存在(所有的编程语言好像都如此)

二、整型和浮点型

在仓颉语言中,所有数据类型都强制要求你标明数据的位数,整型Int与浮点型Float就是很好的例子,如:var a:Int64=10  let b:Float16=2.0(这里面整型和浮点型第一个字母必须大写,不然识别不出来,而且你输入小写字母快捷代码插件居然不会自动帮你找数据类型的代码,无语😶)

那下面我们一起过一下他们的基本内容

1.结构组成

刚刚有提到声明变量的时候必须要说明位数,位数就是储存空间,那它的结构其实就是储存结构。 首先整型和浮点型都有着有无符号的两种形式Int/UInt,Float/UFloat(有/无),有符号的首先会正负两边先平分储存空间,比如说Int8,那就是总共2的8次方的空间256,其中负数占一半128,正数占一半128。 接着正数那边会用一个储存空间去储存符号(+-正负符号),所以正数的空间只有128-1=127个,即2的7次方-1个。如果这个时候你给变量赋值了128,那么就会出现”溢出“异常

2.基本运算

在仓颉语言中,只要涉及到运算符那就是”运算“,并且运算的数字和变量必须是同一个类型的(位数相同,数据类型相同),这与Java不同,在Java中,整型与浮点型做计算,整型会自动转换位浮点型。但是仓颉语言中,只要类型不同,就会立马报错。因此在面对不同的数据类型的时候,你可以通过”创建该变量的不同数据类型赋值相同的副本“这种方法来运算,如:a是Int8类型,b是Int32类型,现在要想把a+b的值赋值给Float32的c,那么必须要:Float32(a)+Float32(b),这样才能正确赋值给c。

3.浮点型的误差

在仓颉语言中,浮点型储存数据都是会有误差的比如Float16的1400.1最后只能得到1400.0

记住一句话:对于浮点型,储存空间越大,精度越高

4.基本运算以及复合运算符

没啥好说的,和其他语言基本一致,值得一提的是,仓颉语言对于幂的运算格式为”**“如求x的0.5次幂那就是:x**0.5

符号优先级:

三、字符串类型

仓颉语言中,字符串的性质和其他语言如Java是有些许的区别的,下面一起来介绍一下

1.”+加号仍然是连字符,但是只能连接字符串了:

我们刚刚说”运算“的时候其实已经提到了,仓颉语言中对于运算的数据类型十分严格,加号也是一个运算符号,因此,即使他作为连字符,本质上还是在做一个加法运算,因此左右两边的数据类型必须相同,必须是字符串+字符串的形式,不能再向Java一样打印输出时使用”字符串+变量“的形式了。因此,在仓颉语言中,想输出刚刚的”字符串+变量“我们可以使用类似python的方法,使用“占位符”:${变量}

2.转义符

仓颉语言中,输出字符串有着不同的转义符,他们可以带来更多样式的输出,如\:n换行符、\t制表符等等:

回到行首符,这个比较有意思,它可以用后面的字符串替换行首的字符串

3.多行字符串的直接输出

仓颉语言中,如果你不想输出一句话然后使用\n换行符,你想像写word文档一样用回车控制换行,那你可以在两个“”“之间输出你想输出的字符串,比如:

print(”“”

你是大厦必

我是大帅哥

你是急吧

“”“)

这样就会直接输出三行内容

注意,输入完第一个”“”后必须另起一行再输入你的字符串:

4.读取用户的输入

仓颉语言中,使用readln读取用户一整行的输入:

5.格式化输出

仓颉语言中,格式化输出主要针对两点:

  1. 让可以转换的字符串转换为整型或者浮点型
  2. 控制输出的字符数,小数位数

那么仓颉语言的格式化输出需要先导入std.convert包,再去调用里面的方法

使用parse函数使字符串变为整型或者浮点型:

使用format方法控制输出的字符数量以及控制小数位数:

四、对象命名规则和建议

规则:“三不能”+“三包括”

  1. 不能含有空格
  2. 不能数字开头
  3. 不能含有关键字以及函数名

只能包含字母数字下划线

华为都在用的“小驼峰命名法”

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐