(1)数据活动
用于放置数据,可以是整数类型(整型)、双精度浮点类型、字符串类型、字符类型、布尔类型的数据。
特点:数据活动可自动识别数据对应的数据类型。
(2)变量活动
定义变量活动,可获得一块内存,变量名称指向该内存位置。
创建变量:首先从基本活动中拖一个变量活动放入Main中
点击变量右下角的“...”,填写变量名称,点击add按钮,则变量列表框中出现新增的变量a,通过Type下拉框,可以选择变量的类型(和数据的类型一致,都只有5种)。将类型选择为Integer,则创建好一个类型为整型的变量。
(3)赋值运算
数据活动和变量活动结合,可以完成赋值运算。变量指向一块内存,内存种的数据具体为多少,则需要进行赋值运算,当再一次需要调用该内存中存放的数据时,可以直接通过State.变量名进行调用。
需要注意:数据的类型需要和变量的类型一致。
如果出现不一致,如何处理?
1、把整型的数据赋值给字符串类型的变量,是否可以?
答案是可以的。因为整型可以自动类型转换为字符串类型,所以,100先转换为”100“,在赋值给了字符串类型的变量a,紧接着调用变量a,读取到a中存放的数据,再进行打印。
同样的道理,那么,把布尔类型的数据赋值给字符串类型的变量,应该就是可以的了
经过实验发现,验证了猜想。
2、把字符串类型的数据赋值给整型的变量,是否可以?
经过测试发现,使用双引号包裹整型数值,赋值给整型变量的时候,是可以的,默认将双引号去除。当使用双引号包裹的数据不是整型数值时,则不能将双引号去掉,此时,字符串类型时无法转换为整型,所以,为了安全起见,最好是不要把字符串类型的数据赋值给整型的变量为佳。
程序分析:1000aaa字符串给整型变量b,无法确定b到底是哪个整数,所以报错了,b由于是整型,初始值为0,赋值运算没有成功,所以,第二行也打印出了b的初始值。
同样的道理,把字符串类型的数赋值给布尔类型的变量,是否可以?
程序分析:字符串的true赋值给布尔类型的c,首先将true的双引号去掉,再赋值,最后打印出了结果。而”true123“的双引号去掉后,还是字符串,c为布尔类型,只有true和false两种,所以赋值失败了,导致state.c调用到的是c的初始化的值false,所以打印结果为False
总结:数据的类型需要和变量的类型一致,然后再进行赋值运算。
(3)计算活动
计算活动可以完成以下几种计算:
对于数值运算,主要有:+(加法)、-(减法)、*(乘法)、/(除法)、%(模运算,即取余运算,一般是两个整数之间发生的运算)
两个整数相除,结果为商的值。%的计算结果则是两个整数相除所得的余数。
如果是浮点数进行除法,则计算结果就是算出来的结果。取余运算则报错了,所以,取余用于的是两个整数相除,计算出来的余数,浮点数相除,没有余数的说法。
对于逻辑运算,主要有:&&(与)、||(或)、!(非)
与:表达的是并且,左右两边的计算结果都为真,结果才为真。
或:表达的是或者,左右两边的计算结果只要有任意一边为真,结果就为真。
非:表达的是取反,右侧值为真,则结果为假,反之,右侧值为假,则结果为真。
对于字符串,主要有:字符串拼接,使用+
结果特点是:按照字符串中的内容原封不动的进行拼接,如果有变量,则把变量的值读取出来,再转换为字符串,再进行拼接。