00:00
那各位同学我们接着往下说啊,那下面呢,我们就来看一下钩囊里面的赋值运算符的使用。呃,负值运算符呢?简单的讲就是将某个运算后的值赋给指定的变量,这句话其实很有含义的,什么叫运算后的值呢?比如说加减乘除。对吧,或者是一个函数。返回的值。或者就是一个变量的值,或者是一个常量值都可以,反正就是把一个值交给一个变量,那么这个就叫负值运算,要用负值运算来进行操作,那么在我们的这个工浪里面。负值运算符有哪些呢?我这整理一下,最简单的就是一个等号,这是最简单负值运算,它是将一个表达式的值赋给一个组值,比如说C等于A加B。就是将A加B的表达式结果付给C,简单吧,再比如说像这种这个呢,我们叫做。
01:01
符合运算符。符合运算符,那么这个地方加等,减等,乘等,除等,取模等是意思呢,就这样子的,你比如说。C加C加等于A就等价于C等于C加A,它是一种简写,明白我的意思吧,其他的以此类推,我就不一个说了啊,比如说C。乘等A就等于C等于C。乘以A,相当于说他把这个A简写了一次,如果我们这个A表达式特别复杂,这样写的就特别简单。其他意思类推,这是负值运算符的分类,除了这种常规的这种符合运算符呢,还有一些关于位的运算符,比如说左移。左移后附值,右移后附子,还有按位与后附值,按位抑或后附子,还有按位或后附子,这几个运算符呢,都跟我们的二进制相关,因此呢,呃,讲到这个复制运算符的时候,我们是在讲二进制的时候才去讲。
02:08
它的这些复制运算符能理解吧,后面我们会讲这个。但是呢,是在放在讲二进制的时候再讲,那我们先来给大家讲一下前面的这些常规的复制性算法。那我们先把笔记给大家补一补,刚才老师讲的是什么呀?讲的叫做赋值运算符。父子运算符。好,我们先给他一个标题,二,刚才我们做了一个基本的介绍。就是说了一下什么是负值运算符对不对。那刚才呢,我们的介绍先拿过来。复制运算符就是将某个运算的值。将运算的值交给指定的变量,这个就叫负值运算符,那运算符的分类有哪些呢?我看一下。赋值运算符的分类。
03:01
有哪些?我们也把它罗列到笔记中去。有这么一些,同学们看一下。首先第一部分是我们常规的负值运算符,就是。呃,比较简单的。像这一块注意看这个规则啊,同学们,如果说大家不知道了,你可以看一下老师在后面写的这个规则,一看就明白了,并不难。我把它放在笔记里面去。不难度,难度很小啊,并不大,因为现在我们还没有讲。困难的难的那些那些技术,所以现在都在夯实技术。我们在还有一部分呢,就这个地方。就是跟我们的。就是二进制,跟我们数据底层相关的一些未操作的复制。那这块呢,我们也说到了这一部分代码,这一部分的内容呢,我们放在二进制讲完讲的时候再去讲他的这一部分操作。
04:02
我把它也放在笔记中去。大家做到心中有数。好的,放这儿。没问题吧?把它对齐一点,那讲了这些东西,我们现在呢,就给大家来一些案例,说明一下负运算符的使用,来看案例演示,案例演示完了过后呢,我们再来讲负值运算符的特点,案例演示呢,我们来做几个基本的案例给大家演示一下。好,赋值运算,赋值运算。的案例演示,还有这个案例演示完了过后呢,我们再说它的,呃,负值运算的一些特点,负值运算符的特点。对不对,我们把它先罗列出来。省得待会儿还要写。那我们举几个案例吧,我们举这么几个案例,大家看到打开我们这个代码,我们新建一个文件叫DEMO05,我们看零几了,啊,现在呢,已经到了零四,我们就来一个DEMO05。
05:04
De mo05。在这里面呢,我们新建一个文件叫main go。没问题吧,好,我把它的程序的一个框架拿过来为我所用。发。那我们有个fun me包起来。然后写到这里,我们来看看,就这个呢,我们就叫做赋值运算符的使用。使用演示对不对。好,我们看第一个非常简单的一个案例,比如说v r int,然后呢,等于十,这个就是最基本的复制。没毛病吧,基本复制。基本值,那么除了这种基本赋值之外呢,我们看到还有这么一个题,请有两个变量,我们要求将其交换打印,最终结果我们来把这个题做一下,这里面呢就用到我们的赋值了。
06:02
来,洗干净。比如说我这里有两个变量,一个是A。A等于。比如说等于九吧B。等于什么呢?等于二,我现在想把A和B的值进行交换。哦,交换也就说。最后A原先是等于九的,B是等于二的,经过处理以后呢,我要求A等于二,而B呢等于九。能理解。他们只要相互交换。那我怎么在做呢?注意同学们看我的这个操作,这里面就用到了很多这种赋值的啊,最基本的这种赋值的操作,那比如说我先定义一个,我先定义一个临时变量。对不对?我定义一个临时变量叫T,我先把A的值保存到T里面去,大家看A的值已经保存到T了,然后呢,我把A等于B,这就是负值,这个时候。
07:08
把B的值交给A了。那B又怎么办呢?B就等于T交换完毕。交换完毕,大家看懂了吗?我把A先交给临时变量保存,然后把B交给A,然后再交T交给交给B,这样不就交换了吗?好,我们输出一下。好,我说一句话,我格式化一下啊,格式化一下叫做交换后。交换后的情况如下,是。Eight。A等于。把值输出来。对不对,B打一个逗号。B等于还是把原子输出AB。同样,我在这句话呢,写在前面,在没有交换之前,我也说出来,交换前。
08:01
的情况是如何的?来,朋友们,我们执行一下。CD点点到单零五。然后呢,诶这边有问题,这个I没有使用,所以它报错了,对不对,这个没有使用,没有使用报错,那我先把它注销一下,没问题吧。我们再来跑一下。这时,我们go run。哪里呢?main.go。执行咱们看效果在交换之前呢,诶这么。又忘了。始终记不住给他来个斜杠。对不对,很很恼火,再来一次走。同学们看这个输出的情况吧,它在交换前A等于九,B等于二,交换后A等于二,B等于九成功。这个就是这里面你看用的都是赋值的操作是不是。这是又一个案例,那么我们再举一个符合的,符合赋值的操作。
09:03
注意听复制后的操作,那这个呢就很简单了,你比方说你比方说A。加。等于。七这个就等价。这个就等于A等于A加七。这个大家知道吧,那也就是说你原先这个A交换完了后,这个A是多少,AA是二,这边A是二吧,那加完了之后A也变久了,那我这样子加多一点吧,加个十十七。好,我们来输出一下。大家看是不是跟我们想的一样呢?A等于。A。明白好,我们执行一下,这个时候它应该是在二的基础上加了一个17等于19完全正确。好,同学们,关于它的一个基本使用呢,我们就先给大家介绍到这里,我们看一下它的使用特点。对不对,来它的基本的用用案例,我们先写到这。
10:04
把这句话给同学们粘过来。然后呢,把案例也放在相应的位置。好的。这是一。对吧,每个地方我都做了案例,第四个案例。那我把案例呢,粘到我们的笔记中去。来,走一下。好。这块是第一个部分。的演示,这个是我们交换值的演示案例,最后演示了一个符合符合的一个操作,对不对,每个地方我们都有相应的案例。那同学们想不起来怎么用的时候呢?把案例拿出来看一下就可以。把这个缩小一点。好,这是缩小后,那嗯,讲完这个案例过后呢,我们来看看父子运算符它有哪些特点,也给大家总结了三点,哪三点呢?第一个对于赋值运算符呢,它的运算的顺序是从右向左。
11:15
这个怎么理解啊,来,我给大家说一下。这个注意他的理解就是当别人给你谈到这个特点的时候,你要知道诶,人家在说什么对不对,不至于一脸的茫然。大家看,我们举个例子,你看这里。这个就没什么例子啊,我直接告诉大家就行,你看同学们看这里。比方说我这里。有一个安例。比如说我这儿有一个C。VRTC。The sea。等于。A。加二大家看这个时候它是怎么运算,是先把A加三这个结果算出来,再交给C,说他运算的时候呢,它是怎么做的呢?它是先运算等号的右边,再把这个值交给这个C,所以说我们说。
12:09
这种父子运算,它的操作是从右向左,明白就是这么一个说法。这地方就说它的执行顺序是。负值运算的这个执行顺序是。顺序是从左从右。从右。右边。从右向左运算能理解,就是他先运算的是A加三,找不到这个。结果呢,交给C,这是第一个我们要说的特点。应该说还是很好理解的。这也是嗯,正常的一种,111种推导,是不是他的从业向左。这是第一个要说的第二个负值运算符的左边。左边。
13:00
可能是变量。啊,可能是变量只哦,它的左边只能是变量,而右边呢,而它的右边可以是变量表达式或者是常量值,这点很有意思。所以它左边指的是变量,而右边呢,可以是变量表达式或者常量值,我举个例子,我把这个呢给大家粘过来,这是一个比较重要的点,大家注意听。好的。来举举例说明,你比方说吧,你比方说我这里有一个变量,因此。比如说诶写错了,刚才这个这个代码都写错了。这写错了啊,不好意思。啊,刚才这个写错了。我把这个图重新截一下。刚才老师写的不对啊,他这个编译器也没有马上给我翻译过来。好,重新把它粘过来。它编译器有点迟钝。好,我们来说一下这个特点,注意听,比方说我这里有个变量叫d in。
14:04
那么我在给它赋值的时候呢,这边只能是个变量,就是等号的左边只能是变量,但这边呢,可以是变量,比如说我给一个A。看到没有,这个就是A,就是左边是个变量嘛,我把这个A的变量给这个,给这个D,这是第一种,第二呢,它也是个表达式,比如说D等于八。加。二乘以七也可以说这边呢,就是。他是一个。是一个什么呢?是个表达式等号的。等号的左边啊,右我看看右边啊,右边是一个表达式。甚至还可以是一个比较复杂的表达式,比如说我这里有个函数,注意听,我这里有个函数,注意听讲啊方可是现在大家还没有学这个函数,你先简单的体会一下,比如说我的函数还是test,我返回了一个int。
15:02
我返回了一个,好,我return一个,比如说90,我甚至这边呢,也可以是这种写法,D等于test,这个test在这也是充当了一个表达式。那什么叫表达式呢?注意听这句话啊,何为表达式?表达式在我们的编程里面,它是这样定义的,任何任何有值的,有值的这个啊,有值的都可以看作。看作表达式。你看你这个test呢,会返回一个90,好,那我认为你这个也是一个表达式,甚至返回来过后我还可以进行运算都没问题,你看这个地方它又是个表达式。对不对,等号的右边还是一个表达式没问题。而且呢,这个等号右边还是个常量也可以,什么叫常量呢?这个就叫常量,比如说我直接给他负一个,这就是个常量,这是字面量。
16:03
对不对,这是自变量,好,这个就是什么呢?890就是个常量。常量保存学们看看能不能理解啊,能不能理解好,我把它保存一下,保存一下呢,我们把这个D输出来,它就不会有语法错误,我们看看代码有没有写错。着地。这个C为什么不能用啊,CC为什么报错,是不是因为我没有用它,他告诉你他说c declared and not use嘛,没有使用好,没有使用就就先暂时使用它一下,这个无所谓啊,不要让它影响我们这个后面的代码的使用,我先把它输出一下就行。好,同学们看这个就是我们讲的它的第二个特点,看到没有,它可以是变量,也可以是一个这种运算的值,也可以是返回的一个函数跟一个进行运算,甚至是直接可以是常量都可以,那我们来执行一下,你只要编译没毛病,肯定这个结果就不会有什么大的问题,最后肯定是890。
17:02
对吧,对吧,那如果我把这句话注销,大家觉得D是多少呀?这个test返回多少,返回个90,那就是90加90应该是多少,同学们是不是一百八呀。这个D就应该是180,看到没有,没问题吧,好,这个我们就说到这里。我把。我把这一块呢,也给同学们放到笔记里面去啊,这是我们讲的它的使用特点的又一个重要的说明。大家看。我这里强调是。可以是这些,尤其是个表达式,这个表达式就非常灵活了啊,就非常灵活。OK,我把它放到这边去。它的一个使用案例。那么我们再来看它的第三个特点,它说符合运算等价于下面的效果好,这个我就不说了,这个刚才讲过很多遍了,就A加三等于A等于A加三对吧,A加等于三等于A,就是等价于什么呢?A等于A加三这种什么时候用比较好呢?就是你这边是一个比较复杂的表达事实,诶这样写就比较。
18:07
方便比较方便,好同学们,那关于就是我们赋值运算的它的一个呃,基本的特点呢,它的基本的一个特点和它基本使用,我们就先为大家介绍这些。
我来说两句