00:00
大家好,我是海波老师,咱们前面把算术运算符当中的二元运算符和我们的一元运算符我们讲完了,我们接下来呢,来讲一下我们的复值运算符啊,来我们拷贝一下我们的代码拷贝,然后呢,写上一个下划线一,然后点击OK,然后呢把我们这些呢,咱们全去掉啊,咱们全去掉先不要了。去掉了以后呢,我们这里写上它啊,咱们写上咱们叫赋值啊运算符,好,我们这里呢,先声明一个变量啊,咱们写上string name,它等于我们的张三,这个代码呢,我们写了很多次了,咱们再说一遍,咱们声明了一个周串类型的变量name,然后呢,把一个周串的数据张三赋值给了这个变量,对吧?哎,这是我们之前讲过的,大家有没有注意到,我刚才就提到了一个概念,就叫负值对不对,所以这个等号其实就是负值的运算符,咱们写上它咱们的等号啊,它其实它就是负值运算符,它的基本原理是什么呢?将啊等号我们右边啊,右边表达式的结果啊,赋值给我们等号左边的变量的变量,哎就可以了,所以啊,这就是我们基本的一个运算规则了,等号后面它是表达式,那个表达式就得有结果呀,这个结果就会赋值给等号。
01:20
的左边啊,我们用变量接收就可以了,诶就是这个道理,那比方说我们前面讲的那个什么什么一加一呀,二加二之类的,他就有结果呀,那个结果也可以复制给他呀,但是你要注意,它要保证类型的一个关联性,什么意思,我们这里是字符串,它是不是也得是字符串啊,所以咱们这个赋值呀,咱们的负值运算符啊,咱们的运算符它需要考虑我们类型的关系。大家还记得吧,我们前面讲过了,我们有一个BY啊,然后写上一个B,它等于十吧,然后呢,我们写上一个什么,我们写上一个我们的shortt,给它一个S,它等于B没问题吧,为什么没问题,你的等号叫负值运算符啊,但是你的B它的数值类型小,而我的T呢,数值类型大,所以把小的类型给大的类型,这个是不会报错的,所以负值运算符需要考虑我们类型的关系,对不对,这个应该没事啊,哎,老师呀,那除了等号以外,还有没有别的我们的复值运算符呢?咱们看这个图。
02:22
我们这个图形当中,大家会发现除了我们前面的等号以外,什么加等啊,减等啊,乘等啊,除等啊,包括我们的取余的这个等号,对不对,它都属于我们的复值运算符,哎,老师,为什么会有这么多呢?其实呀,我们只有第一个等号叫负值运算符,我们后面的这几个呀,咱们称之为什么呢?叫复合复值运算符,说的简单点是把别的运算跟这个等号啊做了一个简化,就跟咱们前面那个一元运算符一样,它是做了个简化操作,来咱们这里看一看啊来。咱们写上它啊,图图,我们叫复合啊,咱们叫复合复值运算符,说的简单点就是把我们的其他的那些符号跟我们的等号连在一块使用,那么咱们来操作一下,比方说我们写上一个int,我们叫做I,它等于我们的一好了,那么在这个时候呢,我们的I如果它等于我们的I加一的话。
03:16
在这种情况下,就是当我们做完运算之后,把它的值重新复制给它自身的话,那这时候就可以把我们这个等号和加号联合使用了,所以啊,咱们这里说一下来,如果我们的元素进行我们的运算后,重新啊赋值给自己,那么我们可以将我们的运算和负值的符号进行我们的简化,哎,就是这个意思,所以啊,把我们的等号和加号干嘛呢?做一下操作,那么我们就写上叫I,它写上叫加等一,哎,老师为什么是加等一呀,很简单,因为我是先做的加号,再做的等号,所以我先做加,再做等。这个没问题吧,诶,所以把这个注掉,注掉以后大家看一下来,我们打印一下,打印完成以后,大家会发现我们这个地方的I,你写完以后一加上一应该就是二了,所以啊,咱们运行一下看结果,你会发现应该结果就是二了,没有问题,哎,老师啊,那你前面还有什么呢?还有写上乘号呢,记住你写个乘号就等于你做了一个乘法的运算之后干嘛呀,然后再重新赋了个值,所以它的感觉跟什么很像,它的感觉就跟这写了个乘号的感觉是一个意思啊,咱们这就不给大家一个一个去说了,咱们说两个就可以了,所以我们写上一个二吧,你写上一个二以后,一乘以二,那结果肯定就是二两,所以运行运行以后我们的值就发生了改变,对吧,这个我们就称之为叫负值运算符,诶就是这个道理。
04:47
好了啊,使用起来其实也不是太难嘛,对不对,因为这些运算符呢,相对来说都比较简单,但是它也依然有一些需要注意的地方,因为咱们当前的复合赋值运算符啊,它是将我们的运算和负值呢合二为一了,所以那个数据类型啊,它就无法通过表达式来获取了,什么意思啊,本来咱们前面讲过了二元运算符啊,我们是根据它的最大的类型来匹配的吧,但是当你简化版本之后,我们的类型就没有办法确定了,为什么?因为值在这呢?可是我们这个值和这个值它是可能是不一样的呀,对不对?所以在这种情况下,咱们要说一下,我们当前的复合负值运算符啊,它的类型是不会发生改变的,所以呢,我们想想它啊来,如果使用了我们的复合复值运算符来拷贝。
05:35
拷贝以后,那么我们的数据它的类型它不会发生变化,不会发生变化,老师什么意思,咱们演示演示啊,把这个做掉,注掉以后,我把上面这个咱们也注掉,咱们都给它注掉啊好,咱们接着往下,往下以后我写上一个B,然后B它等于我们的十,没问题吧,同学们,然后呢,我写上一个什么呢?我们的B1,它等于B1,再加上20,同学们,我如果这么写的话,是不是不对呀?
06:05
诶,为什么不对,咱们说过了,因为我们这个二元运算符呢,它的最小的计算数值类型为int,那么它会把这个be变成int,它们的计算结果也是int,但是你的be可不是我们的int呀,它是我的bitt呀,你把我们的int变成bitt,你直接变能变吗?不行吧,你得强制的转一下吧,哎,所以我们这就会出错,但是我们把这个改一改做掉。你把它改一下的话,大家看一下我叫B1,然后呢写个加等20你这么写你会发现就没错了。为什么没有错误了,因为它不会发生变化,你的B1原来是bit,现在你还是bit,不会出任何的问题,它不会提升数据类型,哎,老师你在这个地方能不能执行成功呢?那么如果执行成功的话,结果应该是多少?我说了他就是把这个代码做了一个简化,也就意味着我们十加20的结果就应该是30呀,所以我们打印一下咱们B1的结果,它就应该是30,所以运行。
07:08
运行以后看结果你会发现没有问题对不对?哎,所以啊,咱们这个负值运算符呢,看着不难啊,但是使用起来有些小的细节需要大家注意一下啊,好了,咱们就先讲到这里。
我来说两句