粉丝4062获赞2.1万

下面呢我们讲一下未运善符,未运善符呢, 他是在二进制这个层面上对每一位的计算。未运算符呢,包括以下几种啊,我们首先看第一个 按胃病,按胃病的符号啊,也是按的按胃病呢,它的意思就是说如果对应位数都是一, 这结果为一,否则为零,这是什么意思呢?好,下面我们通过代码来演示一下按位,并 比如说我定义一个 int, a 等于啊五十, int 啊 b 让它等于啊二十,因为按位运算 他都是在二进制,这么啊,这个层面上进行计算的,首先我们啊算出五十的二进制值是多少,大家说五十的二进制值是多少?零零一 零零一一,应该是这个,如果大家 对啊十进制啊,转二进制啊,这一块啊,并不是太好的计算的话,我们可以借助啊 windows 啊自带的计算器,我们进行 一个转换计算, 我们只需要把这个计算器类型啊,我们换成一个啊程序员类型。大家看 这个,我们选中这个 b, 这个 b 呢就是二进制,这个呢是实进制,我们输入五十,大家看二进制,二进制中啊表示零零一一零零一零, 其他的是,这是八进制啊,这是十进制啊,这是十六进制。好,我们再看一下二十是多少? 二十是零零一啊,零一零零 零零零一零一零一。我们输入一下 a and b, a and b 的结果是多少呢?我们根据啊,我们啊,根据啊计算规则,我们看一下,如果对应位数啊都是一,那么结果为一啊,保证为零。 好,下面我们先啊手动计算一下,我们看一下我们的手动计算结果和计算这结果是否一样?这里因为这两个数啊,是零,所以啊,结果是零,这两个数, 结果是零,零啊,零一,大家看,那么后边呢?英文 都不是一,所以我们后面都是零零零,那么这个二音字啊,值是多少呢?好,我们看一下,我们输入一下, 哎,看见一下它的结果,是啊,十六, 好,我们看下结果是不是十六,你输出一下 来看啊,这是啊,十六啊,这计算和我们的结果是一样的。 好,我们再看一下安慰货,安慰货呢,就是说对应的啊位数都是零,这结果为零啊,否则啊,为一。如果两个两个对应的位数都是零才是零啊,否则就是一。 按位以后呢,如果对应的值相同啊,这结果为零啊,否则为一。按位取反啊,取反。美味的值 解零啊,变成一,一啊,变成零。 r v 区法和上面是和上面这三个的 r v 二位啊,计算是不一样的,二位取法是针对一个数啊,这取法 按位左移运算,按位左移左左移运算呢?按位左移运算就是按位左移指定的位数,右边补零。 那么这是什么意思呢?我们呀啊,通过代码我们举例说明一下, are we 左移, 比如说我们这个 in 的 a 等于五十啊,它的而进之数是零零一一零零一零,如果按位左移运算,是不是像,比如说我们向左啊移动移位, 那么是不是变成了零一 一一零 零一零零,对不对?因为每一位都都向左移动一位,而左边呢补零,那么这个零一一零零一零零是多少呢? 那么好,我们说出一下这个结果, s u t a 一,就是啊,这个就是啊,安慰啊,左移移位,对吧?这个就是安慰,左移移位,他的对应的二进制呢,就是 这个 r n 的值 对应的时间日是多少呢?我们通过计算机 好,他对应的时间,这是一百,我们输出一下,我们看一下是不是值,是不是一百。 好,输出。结果呢?啊,是一百, are we 左翼右顶 安慰左移两位呢?我看结果是多少? a, 那么 a 左移两位好安慰,左移两位 就应该是啊,一一 零零,一零零零。 好,我们看一下啊, 好,是二百,实定这是二百,同样我们输出一下, 我们先把注释写上安慰安慰作业啊,两位, 好,是二百,我们再看下一个啊。位运算符,按位又移运算符,按位又移,运算符啊,他指定就是按位又移,指定的位数符号位不动, 符号位后面的正数补零啊,如果后面呢,如果是正数的话,这个是正数的话就是补零,负数是补一。在这呢,他与按位左移不太一样的,就是符号位是不动的, 因为按位左移,他是往左边移。大家知道符号位啊,是在二进制数里边最左边那一位啊,表示符号位,所以说他不用关心啊,符号位而按位右移呢 呢,就是符号位不动,按照指定的位数啊进行移动啊,符号位啊,后面正数补零,负数补一,我们理解一下,我们通过代码理解一下, 我们得应了, a 等于五十啊,我们呀, are were 向右移,那么 are we 向右移呢?大家看 a, 又一一位,又一一位,因为啊,五十啊,是正数,所以呢, 我们呀,啊,右面要补零啊,如果说右一位,右面呢,如果正数就补零, 他应该是零零零 一,对吧?一零零 一,这是 are we you? 那二位,我们再再有再二位用于两位, 那么 r v u e 两位,二进一四,变成了零零零啊,零啊, 一一零零 一一零零,好在这里我们还是用啊计算器,我们先算一下结果是多少, 大家看安慰。又移一位的话啊,结果就变成二十五,又移两位呢 啊,这样不对,大家看,又移两位,这应该是零,对吧?零零零一一一零零 啊,结果就变成了 啊,十二,我们看一下,我们运行一下代码看一下, 好,大家看啊,结果是啊,又一一位变成二十五,又一两位呢啊,变成十二。 在这里大家有没有发现一个规律, a 向左移动一位到 a 等于五十。向左移动一位啊,变成一百,而向左移动两位呢啊,变成两百, 那么 a 向右移动一位呢?我们变成二十五,加啊,向右移动两位呢啊,变成十二,在这里 呢,实际上位移啊,换算成了这个实禁制啊,他的对应的这个呃,规律就是 又一页 又一啊,实际上相当于啊,一个计算就是 a a, 比如说我们刚才定 a, a 啊,除以一个 二的 n 次蜜, a 除以二的 n 乘以 ah 左移呢,左移, 它实际上等于啊这个数啊,乘以个 二的 n 次蜜, n 次二的 n 次密。比如说左移移 位,那么 a 就等于一,那么就是这个数,乘以乘以个二,那么左移两位呢,就 a 等于二二的 二次方啊,就是四,相当于四,乘以五十,那么就是二百。大家记住,为为运算服,除按为左按位啊,左移运算呢,相相当于这个数啊,乘以二的啊,几十米,那么同样 向右运算呢,向右移动运算呢,就是右移 又一,实际上是 a n 除以个二者, h me 是这个除以的耳桑。 比如说 a 等于五十,那么向右移动一位,就相当于啊,五五十除以二,那就是二十五,那么向右移动两位就是五十除以二的二十方相当于五十啊,除以四,五十除以四呢, 他是除,他是有小数的,这呢,我们是啊,取整,相当于取了一个商, 就是啊,十二啊,这是按二进之数进行右移,左移 对应的实际日数的一个啊,对应的一个计算规则。另外呢,还有一个啊,未运算符,就是按位又移运算,就是 啊,相当于三个大于号,大家看一下,按位又移三个大于号的按位又移运算, 它与两个大于号的 m u 运算不同的地方是,就是它的符号位是是一起移动的,而且左边呢是补零,左边补零,那么就相当于把一个负数变成一个正数, 比如说我们定义一个 int x 等于负二,那么负二对应的二 定制是多少多少呢?这个二定制数啊,是很大啊,是比较长的,我们通过计算机来看一下这个负二的二定制数, 大家看 four 的 i d 之数呢啊,非常长 一啊,只有后面啊,只有最右面这个数是零。那么如果我们做三个啊,大于号的 按位右移计算呢,相当于我们所有的位数啊,多向前移一位,那么相当于我们把这个零呢啊,放到啊最左边,对吧,因为最左边 这位变成了零,那么这个数啊,啊,就是啊,一个正数,这个正数呢,实际上就对应的应该就是一个整数的一个最大值,这个数啊应该就是二的三十一次密减一, 我们进行一个啊计算啊,我们看一下输出结果是多少? x 又移三个大于号的又移一位,我们输出一下这个结果 看一下, 哎,大家看连负二位一起啊,又移一位的时候就变 成了这个二一四七啊,四八三六四七啊,这个数值非常大。好,这呢就是我们就把这个啊未运算符啊讲完了, 在这里我想给大家说的是未运算符呢啊,这基本上我们在平时啊编程序啊,做计算的时候啊啊几乎用不到未未运算符。 嗯,大家啊知道啊, java 中有这个啊,运算即可,在以后的这个工作中如果用到了,大家可以啊 啊在进行深入的啊学习研究,就我本人来说,这么多年啊,基本上啊没怎么用过,魏运善服。

所谓取于运算符,就是两整数相除取于数,那么使用的符号就是一个百分号,直接举例说明。比如说我使用七去模拟二, 那么七除以二的商是三,但是我不要商,我要的是余数,余数就是一,我尝试编议 来运行,结果就是一,那么取运算符他有很多的作用。首先第一个就是可以获取一个整数 最末位的数字,比如说我可以使用一二三去获取一二三最末位的三。怎么做呢?一二三模拟十,一二三除以十的伤是十二,我要的是余数, 余数就是三,我尝试变异来运行,看到的结果就是三。另外我还可以使用取运算服来模拟二,通过 观察结果是零还是非零,来判断这个整数是基数还是偶数。比如说我可以使用一二三来模拟二, 长是边翼,运行看到的余数是一,这就说明是一个基数。另外还可以判断一个整数是否可以被另一个整数整除。 比如说我可以使用一二三去模拟三,如果结果是零,就说明一二三可以被三整出,如果结果不是零,就说明不能整出。我尝试变异来运行,看到结果是零,这就说明一二三可以被三整出。

哈喽,大家好,上一节我们学习了计算机的这个编码规则啊,就是原码、反码和补码,对吧?啊,当这个把十进制数转换成二进制之后,就是最高位啊, 最高位作为符号位啊,一为负数,零啊,为正数啊,这样的这个编码他就是他的原码啊,然后把符号位不变啊,把这个数据位呢是 一变零,零变幺,就变成了他的凡马啊,然后再把凡马加一啊,这就变成了 哎,这个补码,哎,然后计算机当中呢,他都是以补码形式来进行运算的,这就是 这个编码规则。嗯,你这个非常重要啊,大家要这个完全的理解啊,对以后的这个 啊编程呢,都是有非常大的这个帮助啊,要以这个为基础啊,来进行学习后面的内容啊。 然后呢,我们今天再来看啊,剩下的运算符,未运算符啊,先建个今天的包三二幺啊,然后 java class, 我们用 demo 啊, demo, 然后 啊,我们就是未用算符啊,这个都有哪些嘞? 嗯,他都有雨啊,雨, 大家说这不是逻辑运算符的语吗?对,他这个运算符啊,啊,是他是 逻辑运算还是这个未运算,主要看他左右两边啊,这个参与运算的操作书的类型来确定。就是当左右 两边的操作术类型为整形的时候啊,他就是 谓用算符啊,当为当为这个 boar 类型的时候啊,就是 这个逻辑逻辑运算。哎,这点要这点要明白啊, 来我们举个例子啊,它是什么意思呢?我们就来看看一个二与上个三啊,那它等于多少呢? 哎,二,我们就以一个字结为例啊,以单字结, 以单字结为例是吧? 这个这个,哎,以单字结为例, 这个二,它就是怎么表示呢?是不是就是零零零零,是吧?零零幺零是二,对吧?三呢?是不是就是零零零零零零幺幺,对吧? 然后我们进行未运算是怎么运算的?就是按未运算,未运算,未运算就是按未运算啊,每一个按斤之数,他不是都就是一个比特未吗?就是这样来的。按未运算,那到底是怎么个运算规则呢? 哎,就是 这个可以,你把它可以理解为就是暗位,暗位相乘吧,对吧?哎,也就是零和一,他就是零,这个一和一,他就是一,零和零,他就是零, 哎,这个都是零,对吧?然后呢,这个就是零, 哎,你看这就零零零,是吧?哎,那这个是几呢?这个,这个数是不是二呀?哎, 哎,他结果是二,就是二与三,结果是二,你到底对不对呢?那咱们看 从程序当中来验证吧,直接就二,遇上个三是不是?是多少来,是不是二呢?来,咱们右键 run, 是不是二,对吧?大家一定记得啊,上一节我们学习了圆马、补马 和返码之后,就计算机当中他是以补码来进行参与运算的,也就是说他首先把这个数要转换成补码, 哎,再把这个数转换成补码,参与运算之后啊,他得到这个结果的补码,最后把补码再转换成是禁止形式给大家展示出来,你看二与三 啊,他这个操作过程就是这样的,最后得到是不是二,哎?二,嗯,这就是这个, 这个,呃,未运算的余,呃,我们可以在,可以在这个 啊,有些同学有可能说你用个负数吧,啊?是不是啊?啊?也可以,对吧?我们用个负二,是不是啊?那负二他的这个 你看咱们他是,他是以宝马来参与运算的啊?负,是不是?首先他的高位,最高位是肯定是一得,我们先把他的原码写出来,是吧?零零一零,这不是,是不是负二的原码呀?最高位是一,代表他是负数, 哎。然后取反是不是幺幺幺?这就三个零,是吧?这就变成幺幺零幺,是不是幺幺零,这就是他的反码,是不是?这就负二的反码,反码加一就是补码,对吧? 加一一加一等于二二要进位,这个变成零,这个时候变成幺了,哎,哎,这就是 这个负二的不嘛?然后我在,哦把这个地方写成写个,写个余吧啊,哎, 我这个也写个余,是吧?我余上个负三吧,就继续,哎,这样吧,是吧, 对吧?这个句句怎么先把它的原码写出来是吧?然后零零幺幺,是吧?然后再写它的繁码,繁码是不是?哎? 零变幺幺变零,是不是就成幺幺零零,对吧?幺幺零零啊,然后补码的就在返码的基础上加一,是不是?哎?然后我们再来看这个 他语是多少来,对吧?从这看就按谓语吧,从这开始写吧。哎,一一语是多少一是吧? 这个呢?一一与一一一是吧?一一 一。淋雨是淋,淋一雨是淋啊,这是不是觉得补马对不对?那补马他就是要求出他的雨, 他转换之后啊,他是多少来怎么算?首先是不是先要减一啊,对吧?那要这个要从这个地方借一,借他借一他就剩他剩下个一零,对吧? 哎,他首先这是减一嘛?减剩下个零,他这个地方就是本来是二嘛,对吧?啊?我再向下一届一位,下一届这位就是二, 二减一是不是一,哎,这就是他,先减一减一再进行取反,对不对?取反是零零零。这个是啥?是零幺零零,对不对? 这个是这个数,哎,这就是它的原码,是不是?哎,刚才把它的这个补码形式应该写出来,这是它的原码形式,我把这个 我们拷贝一下啊,偏口拷贝到这,哎, 对吧? 是他的原码就是结果的原码啊,然后,哎,这样吧,啊,反正我们把这个他的 哎这样重写一下吧,啊?一一一一,是吧?然后一一零零,哎,这就是他的结果的补码形式,刚才结果的, 哎,这是结果的。这个是木啊? 宝马这宝马型,是吧?那他的原码呢?原码是不是刚才就是这个?嗯,是这个,是吧? 咱们算出来的,是吧?这是原码,对吧?那这个原码是多少?来,他首先看他这个负数,是吧? 负数,这是几四等于负四,是吧?哎, 然后我们现在再来看啊,再来在程序当中验证,看我们算的对不对啊?就是负二与上个减负三对,嗯,来右键 run 看对不对?负四是不是负四,哎, 这是第一个啊,第一个啊,这是 语啊,逻辑语语的,呃,不是逻辑语,这是未用算的语,是吧?啊? 然后紧接着我们来看,嗯,就是这个货啊, 货,嗯,货,他就是 安慰货吗?哎,也就是一零 啊,一零为一啊,零一零零一为一啊, 然后这个零零零为零,零零为零,对,然后一一一一为一,一慢,也就是 只有一种情况,为零啊,就都为零的时候货才为零啊。然后我们来看,嗯, 拿什么来?举例来?就是,还是这个吧,啊,对吧?二或不用啊,用四四或五 五吧,等于多少来?四,是不是?我们就是零零零零零幺零零,是吧?五零零零零,要知道啊, 零幺零幺是不五,嗯,这个地方写个货吧,啊, 然后我们看结果啊, 是不是零零零零,对吧?零幺零幺,这个是不是五啊?对不对?结果是五吗? 华丽的分隔线 四四或五,哎,又见 run, 是不是五,哎, 复数呢?就刚才跟这一个道理啊,先转换成补码再计算啊,是不是?哎?与或, 然后第第三个就是, 嗯,取反,就这拨浪号叫取反,按位取反,按位 按位取反,哎,也就是一变零,零变幺, 哎,我们拿什么举例来?我们拿个一百二十七举例是吧?一百二十七,这样 一百二十七距离是不是他等于多少?一百二十七,因为他这个正数第一位是零,最后全是幺,那你一缺反就变成幺,后面好多零,这是不是我们昨天刚卷过的, 是不是负的一百二十八呀?对不对?那我们来看嘛,你看就是这个,是吧?他是不是零啊?后面是不是全是这样?这不就负的一百二十七的这个吗?然后对他进行取反的话,是吧?取反操作 啊,然后是多少来?就是按位缺反吗?这个是不是变成幺啊?后面是不是,是不是变成这样?这个 因为他是补码呀,对吧?补码呢?你说这个,这个的补码,呃,这个数是, 就是这个补码,它代表的数是多少呀?是不是负的一百二十八呀?来,我们看吧,啊,对吧? 来,继续华丽的分割线这边,然后,嗯,然后我用 一百二,哎,区分区分一百二十七分,哎,右键 run, 这个负的一百是吧,对不对?哎, 这些东西要先自己要,对吧,很蒙是吧?那我们可以再来看一个,假如我看一个 因为他正的区反,他都成负的了,对吧?是不是?哎,我们看看 负的是吧,看个负一吧,是不是负一,他的这个,对,这个我们用这个负一吧。啊,这个,这个值多少来,是不是负一? 嗯,他的首先要写出来他的圆吗?是吧?一零零零是吧?零零零一,对吧, 然后进行取反,是不是变成一一一,然后这个是一一一零,这不就是他的返码,他的补码再加个一呗。哎,这就是负一是吧, 然后我负一,然后我进行个这个取反操作,是不是?然后得到多少?来, 你看按位去反嘛,是不是零零零零零零零零,这是多少?是不是零啊?负一去反为零啊,是不是?来 sort, 咱们眼见为实嘛,是吧? 负一是吧,负一区分 run 看当当当当,是不是你?哎,这是 大家感觉是不是非常有意思啊?哎,这个未操作你自己写的时候是非常,嗯,有意思的。好,今天我们未运算呢,就先学这三个 这个微运算符吧。啊,紧接着还下来还有异或啊,左移右移无符号的座椅啊,是吧? 呃,我们下节再看啊。好,今天的分享就到。呃,到此这个感觉有用的各位姐弟们点赞评论加关注啊,咱们下期见,拜拜!


来继续啊,那么现在的话呢,我们知道怎么表示数据,怎么找到数据对吧?那接下来我们说了,我们程序编程是什么?编程是要对这个数据进行计算对不对?好,所以这个计算的话呢,就怎么计算呢?那是让来说在每一门语言里面啊,其实上来说都提供了很多的。这个什么 计算的这些操作符,那我们一一来认识一下。那首先来认识一个最简单的叫副值运算符啊,这个的话呢,就很简单,就是我们现在的话呢,就相当我们是这样子的。首先怎么去声明这么一个东西呢?是这样我们便声明一遍啊,比如 int 啊, angle。 好,这个时候的话,这个年龄,我们现在声明一个变量。那此刻的相当是什么呢?相当是我们在内存里面画了一块空间啊,画了一块空间,这个空间的话呢,是一个硬的类型的啊。 ok, 再用四个字接啊。好。然后呢,这个时候的话呢,我们有一个在程序里面有 有变量啊,叫哎呦,好,哎呦,他呢,指向了这块内存上了,指向了这块内存对不对?好,那这个时候的话呢,这是一个变量名啊,这是一个变量名,就指向了他。但是这个值具体是什么,在此刻其实是不知道的,他是一个未知的状态, 这不清楚的。那我们需要给他负个值,比如说小孩从一岁开始对吧,刚出生就是一岁啊,所以这个时候的话呢,就是要给他负一哎,那就将这个值什么从一个不确定的值变成一个确定的值,比如说是一看到意思吧,哎,好。所以这个时候要负值非常的简单,怎么办呢?很简单,就是什么?就是 int a 等于一 都分号结束啊,就可以了。好,谁来看这里面的话呢?我们看到是什么结构是什么?来说一下这个声明的辩论结构啊。我们说一下这个,说下语法,语法要求啊。语法要求好。这是什么呢?数据类型的 前面对吧。数据类型我要个什么房间,我要个什么类型的房间,对不对?哎,好了,房间号是多少啊?所以就是这个什么,这个是变量名啊,然后等于什么?这是变量的值, ok, 给一个什么?给一个数值 ok 就可以了。你看就这么一个格式,看到没有哎。然后之后的话,你可能觉得一岁啊,再过一年有两岁,那你可以再继续去做一个什么,做一个更改复值,这是没有问题的啊。好在第一次的时候的话呢,我们需要给他一个数据类型,之后再用就不用了。因为此刻这个变量名已经有了一个什么,有了一个数据类型了, ok 啊,好。这一块的话,大家就应该清晰啊。好,这是一个非常简单的玩法对不对?哎,所以在这个常规来说的话呢,我们这种负值啊,他没有特别的问题, ok? 但是呢,在这特殊情况下,需要说明一下,来说一下啊。特殊情况,特殊情况,特殊情况是什么呢?来给大家看一眼。这个时候啊,我给 来写个小程序来看一下,把这打开好。在这里头的话呢,这是咱们上次写的第一个小程序对不对?好,那假设呢?现在的话呢,我们需要来定义一个人的年龄啊,那年龄的话,一般我们认为现在可能最多就活,活到一百多岁就差不多了,也就一百二啊,主持类的 好。所以这个时候的话呢,我们在前面说我们这个数据类型啊,实际上来说呢,用 inter 有点浪费,那可能我们会用到这个 bet 啊, bet 是什么?是一个字节啊,它一个字节的话呢,在这里头我们可以去干嘛?我们可以去给它做一个复直。所以这时候的话,比如说我们是一个 bet, 一个字节啊,来写下它是一个一个字节。 一个字节是什么?是八位啊,是八位 ok, 所以的话呢,他的这个过程中呢,他的这个范围是什么?从负的一百二十八到正的一百二十七这么一个范围, ok, 他是有正数负数之分的啊,所以总共总共加起来是二百五十六 六,二百五十六, ok, 就是二的八次方啊。好,那好了。所以的话呢,接下来我们来看看,比如说这边 age 啊,我们比如说这个人他活了一百岁。那好,那这个是没问题的。我们做一个输出啊,我们说 system 点 out, 点 printo 啊, 然后大家来看一下啊,这时候的话呢,很简单,我们就输出一下这个高龄是吧? a 啊,等于哎,这时候的话我们可以看注意啊,这时候我们看以前的话,我们这边这样写 a 可以吗?这样写的话呢,很显然的话,他是一个什么?他是一个字符串,原封不动的把这个内容输出来,就像这个东西一样,对不对? 那这怎么办?哎,这个时候的话,我们需要换种写法,就是这个时候我们里面的话,现在是一个什么?一个描述的信息,然后我们还可以通过什么,通过一个加号,把这个变量的内容呢加进来去加,哎,用这种方式的话呢,就这个地方就会等同于这个值了。我们来看一下效果啊,来看看好。所以这个时候的话呢,我们就要 来。我们首先要先做一个编译,所以是叫抓 c, 然后跟上这个 hello, 哎,现在是在立牌了吧,哦,还得 cd 啊,交 se 啊好。然后的话呢,抓 c, 然后在这边跟上我们的 hello, 好,这是点交啊,点交走。 好哦,知道了。下次我们说这个编码问题是吧? ok, 抓 c 啊杠 and coding ut utf 杠八啊, utf 杠八。然后的话呢,跟上我们的这个 hello, 点 class, 得叫得叫啊好。大家看这个时候的话,重新编译成一个新的一个一个 hello 文件啊,然后接下来新的一个 class 文件啊,新的 class 文件。然后接下来的话,我们就给大家执行这一个文件啊,走 好。大家看到这个时候的话,没有问题,出来一个结果就是年龄等于一百对吧?没问题。 ok, 那好,那注意。接下来的话呢,如果说我说哎,这个能不能活到一百 百八呢?给他一个一百八的值啊。那我们来看一下效果啊。大家看会出现什么结果呢?大家思考一下啊。思考一下来,我们再给大家看一眼。重新编译啊,重新编译。你改了代码之后,得重新编译成新的克拉斯文件才能执行,因为我们这种执行的是克拉斯文件。就说注意点啊,作为初学者来说,一定要注意这个点。 我们修改了代码之后啊,注意,而且啊,修改了代码之后啊,哎呀, 一定要什么重新编译啊,一定要重新编译,因为什么?因为我们经过前面的分析,我们知道我们这个最终他执行的是什么,真正执行的不是原代码, 真正执行的是我们的 class 这个字解码文件对不对?哎,这个 class 字解码文件好。所以啊,这个时候的话,你要从一边也生成 新的 cos 文件,才会去执行到你新的效果啊。好,这一点,作为初学者来说,会经常犯这个错误啊。首先提醒一下老鸟,其实这种视频就不用看了啊。好,那咱们接下来看一下。一走好的会发现什么呢?你会发现这个时候的话呢,报错了。报了一个什么错?你看他说这个错误叫什么?叫做 不兼容的类型,从 int 转换成 bet, 可能会有丢失。啥意思呢?原因是这样子的,因为啊,很明显刚刚我跟你说了这个范围,他是什么?从一个负的一百二十八到正的一百二十七,那很显然,你这个一百八 已经超过这个范围了,他扛不住啊,对不对?扛不住啊,就相当于你们又买了一个什么,里面定了一个单人间的房子,结果呢,你硬生生要住进去两个人是吧?或者四个人等等。那很明显这个房间肯定住不下啊,肯定会出问题。所以这个时候的话呢, 就不行了。这道理是一样的,这个东西我们定好了,类型是他有一个范围。哎,所以大家在这个用的时候的话呢,一定要注意,你就这边的这个值是不是什么?是不是这个合理的一个值啊,不合理的值呢,就会出现报错程序就执行不下去了。 ok, 好。这个编译就报错了啊,好理解意思吧。哎,好 好了啊。所以这边的话呢,就本质上来说就是这个类型,要注意这个点啊,这是第一个需要跟他谈的东西啊。 ok, 好。那么这是第一个要搭注意的地方啊。我们先把去掉啊。然后的话呢,接下来再来说一下特殊的事项啊。所以在这边特殊事项的话,我们要记录一下 回来啊。这边的话呢,这特殊情况说一下。这第一个的话呢,是什么呢?就是我们范围要注意啊,范围要不要超,不要超过范围啊。数据类型的范围。这个数据类型的范围,咱们上次说大家可以去 搜索一下,这个是相当于是个小作业了啊。继续来,我们来看一下。那这一头的话呢,我们接下来啊,是这样的。我们呢接下来再讲另外一种特殊情况,刚刚这种特殊情况的话呢,是要注意这个右边的这个值啊,不能超过左边的这个范围对不对? 但接下来我们再看下一种情况啊。注意这种情况的话是这样,假设我们用的是什么一个弄类,先表示年龄,那这个就是你可以活到 可以,这基本上没什么焦虑了啊,也活很久。 ok, 好,大家注意看。这个时候的话,给个一百八肯定是没问题的对不对?哎。啊,这个时候的话呢,我们知道弄类型最大啊,他把硬的类型都都比硬的类型都大,那么如果我把这个硬的类型的最大值放过来,能不能放呢?那肯定是可以的,对不对?大家注意看啊,我现在把这个硬的类型,这就是硬的类型的最大值啊,给他写下 这个呢,是这个十七啊,是 inter 类型的最大值。 为什么?哎,所以我现在把这个值放进来,那肯定放得住啊。是不是肯定这个弄能接得住,这个是没问题的。好。但是如果说我给他加一呢,比如四八,那你觉得能不能接得住?哎,那很显然,因为弄也行,比他大四个值,怎么可能接不住,对吧?所以我们来看一眼。来注意看, 来注意看啊。那么此刻我们的答案是接的住还是接不住的?你可以把你的答案打在弹幕上啊,就这个地方,这个代码能不能成功呢?来看看效果啊。好,这个时候的话呢,我们来这边跑一下,我们再重新编译。一定要重新编译,对不对哎。 ok, 重新编译啊。来 叫 c n 扣点成一变异。好,大家发现什么?居然报错了,他居然给了我们一个非常奇怪的东西,他居然告诉我说这个是过大的整数。哎,这怎么可能呢,我这个肉类型怎么可能扛不住这个东西呢,是吧?哎,注意啊。这个也是要注意的。点是这样 样子的。在我们这个复制里面呢,当我们右边出现这个数字的时候啊,默认抓会把它当做什么,当做 ink 类型来看。 也就是说,此刻我们虽然这边定是个弄类型,但是左右边的这个数据啊,他默认是个 inter 类型的。 所以这个时候就像什么像这个四八,他说了这个过大的整数,是说他超过了这个什么 in 类型的范围。那如果就是要存这么大的数怎么办呢?那这个时候很简单,注意这时候告诉他不再是 inter 类型了,你是一个愣类型大哥啊,所以给他一个愣类型来看一下。这怎么呢?来看一眼啊。这个时候怎么办? 就这样在这边跟上一个什么,跟上一个标记的结尾叫 l, 这是什么?就它是一个 lonely 型的意思啊, lone 类型的意思。好保存,注意要保存啊。我们来看一下。来看这边。然后呢,这时候我们重新再来一次走,打开 没问题了。然后我们再来执行一波啊,看看走,你看是不 ok 了,搞定啊。好,这个是我们要注意的事项啊。我们要注意的事项。第一次吧,这是我们在整数的时候。这第二个问题就是什么弄类型,如果要成为过道数的话呢,这个尾号要有。这个什么要有,弄结尾啊,弄结尾。 好,这边写一下啊。特殊情况 lonely 行,要存储这个 弄类型的数据啊。那么右边的这个值要以 l 啊结尾。好,这是第二第二个。那第三个的话呢,是关于复联类型的。这个复联类型,这里面的话呢,也是一个特殊的情况啊。我们这个复联类型的话呢,上面我没有特别去讲过,他就表示小数点。那实际上来说呢,这个是四个字结,这个是八个字结啊。那么基本上来说的话呢, 像纯 flow 类型的话啊,常规的小数我们用 flow 就够了啊。我们来看一眼。在这里头的话,来跟我看一下效果啊。那这个时候的话呢,再来看第三个啊,这个浮脸类型的话,一般可以表示什么呢?比如说我们这个余额吧,但这个余额其实不太合适,我们就存 就咱先存一下吧。先存一下没关系啊,要 float 啊。比如说这个 money 现在剩多少钱呢?剩六块六啊,剩六块六钱啊。 ok, 好,就这样写了。那好。然后接下来的话呢,把这个钱呢,这个私房钱给他拿出来啊,就剩下六块六的这个巨额资金啊,巨额资金。 好,我们来看一下此刻来输出当前的这个余额有多少。那好,很简单,我们首先先编一对不对,哎,能不能过呢?那六块六肯定扛得住啊。是不是走。但是你会发现什么?他不兼容类型来注意看这位叫不兼容的类型。啥意思呢?他说什么?他说从 double 到 flow, 可能会有精度损失,主要标了这么一个东西也。啥意思呢?也就是说默认情况下,当他看到小数点的时候,他默认会认为这个类型是什么?是一个 double 类型,看为什么。然后呢,这个是什么?这是一个 four 类型。然后我现在是什么?我现在要把这个大的类型 给小的,是不怕你扛不住啊。同意没有?哎,反过来可以啊,反过来可以。但是我现在是要把大的给小的,就怕小的接不住。但是如果把小的给大的啊,那就可以接得住。 ok, 好。所以这里面大家可以看到这里面是什么?这就是这个问题啊。就这个问题 好,那时候怎么办呢?这时候你跟着他说,哥,这个不是 sw 类型啊,是一个什么?是一个 w? 是一个 flow 类型,所以跟上一个 f。 结尾。那这个时候来看一下啊。比如说这个时候我们可以这么办,在这边的话呢,跟上一个什么,跟上一个 f, 这样就妥了。来看一下啊,来看一看,来重新编译。注意重新编译啊,走好。 好,你看没问题了吧,然后再执行走好。六块六的这个金额就暴露了啊。好。大家看懂意思吗?所以这里面的话呢,就是第二就是我们这个 follow 类型啊, follow the 类型啊,需要一 这个 f 结尾。好,这又是一些特殊情况,那绝大份情况下的话呢,正常负责,正常用,没有什么特别的点了啊。 ok, 好。这几个就是常规性的一些大家可能遇到的问题,所以给大家做一些解读,要知道背后的道理是什么啊。背后道理。其实我们学编程最关键点是什么?比较清楚背后道理是什么, 我们不要去死记硬背啊。死记硬背的话呢,那你这个程序又学不,你又肯定学不好。而我们学的这些东西的话,就相当是什么。现在我们现在打一些简单的地基,比较累专,然后才能去学一些更好玩的程序。现在讲这些程序啊,其实比较简单啊,太简单了。所以我们但是我们必须要把这 这些基础性的东西掌握了。哎,然后练练手啊,习惯一下这种玩法对吧。先先保持先写代码,写上代码,记得保存,然后要编译,然后运行啊。经过反复的几次,大家把这个希望呢建立起来。 哎。那之后的话呢,我们再通过用一些高级的工具啊。那么这个时候的话呢,你的开发效率啊,你写的程序就变得更加好玩,更加有实际的意义。 ok, 那是千里之行啊,始于足下。那我们继续啊。