00:00
那么理论上来说呢,我讲完这一个职类性转换,我就应该给大家讲高级影视转换和隐视函数,理论上说应该这样讲,因为我们刚才讲的是什么呢?就是它的一种自动转换机制,其实在这个试刊里面,它还提供了非常强大的影视转换机制,这个东西是相当强大的,而且相当重要。这个implicit相当重要,但是这个地方如果我我去讲隐私转换呢,马上涉及到要讲两个知识点,一个是函数。一个是饮食类。如果我把这个讲呢,就会打破我这个讲课的一个顺序,因此呢,我在这说了一句话,我们把它放在高级部分,用一个章节专门讲影视转换和影视函数,所以说我我这说清楚了,不是不讲,因为影视函数和影视转换是一个大是是一个是一个很重要很很多的一个内容,而且呢涉及到面向对象编程。那因此呢,我这告诉大家,高级影视转换影视类,还有这个影视函数呢,我们放在把那个oop讲完了过后再回头来讲,效果会非常好,不然话你现在也听不懂,你听得模模糊糊的,还不如咱们把那个知识结构整清楚过后再讲好,同学们这个呢,我我这已经给大家说清楚了啊,就是这块高级的影视转化的高级部分呢,我们在后面会详细介介绍。
01:27
等到大家有一定基础了,过后我们再去说,效果会很好。好,我把这个图也给同学们拿过来。好,这是我们说的影视转换的一个补充,那下面呢,我们就来看下一个话题,叫强制类型转换。那强制类型转换呢,它不是属于隐私转换,注意听啊,强制类型转换不是属于隐私转换,隐私转换说自动帮你完了,完成了就编译器它自动帮你做的,你感觉好像没有做任何工作,它自动帮你做,这个叫隐私转换,那么还有一种类型呢?
02:03
就是强制转换,自动类型转换的逆过程就是强制转换,即将容量大的或者叫精度高的数据类型转成容量小的这种数据类型我我这说的叫容量小,准确的讲就是表示范围的大小。我们说一个数的精度高和一个数的精度高本质在探讨什么问题呢?注意听这句话啊,本质在探讨它能够表示的数据的范围的大小。你比如说我一个int能表示的范围,肯定没有一个浪表示的范围大,所以说我们说浪的精度要高,再比如说float和double float和double float的小数点只能保精确到大概六位,但是double的小数点可以精确到很多位,那说明它表示的范围比你大,所以说精度的大小,准确的讲其实就是范围的大小啊,这点大家清晰一点。好,这时呢,我们就可以使用强制转换函数,但是有一个注意,同学们一定要注意老师写的这句话啊,你们现在可能没有感觉到这句话的重要性,因为将来你们是玩大数据的,大数据,既然你玩的是大数据,肯定数据是你的核心,那如果说你将来在使用的时候,你不小心啊,使用了强制转换造成的精度的溢出,可能这个结果就会有小小的差距,比如说。
03:23
小数点少了,比如0.01,少了一个0.01,说少了,少了一个0.01,你感觉好像不重要,0.01假设后面的带单位是亿,你你受得了吗?0.01亿元,那相当于100万了,对吧?所以说你这地方我是提出来大家用强制转化的,是一定要考虑精度是不是能够满足你的这个需求,那么我举个例子,同学们看Java的这个强制类型转换呢,非常简单,就是前面加上这个小挂号,后面。括起来就完事了,那么在我们这个SC里面呢,它不能用用这种括号的形式,就不能这样写。
04:02
不能这样写,就是你不能这样写啊,它不支持的,他怎么办呢?因为在SC里面,它的特点是一切皆为对象,你看一对象嘛,既然你是对象呢,我用的就是方法。你看你看这个地方,你也看出来,Java它这个2.5它就不是一个对象对吧,它是直接这样子,用一种语法语法堂的形式来进行这个转换的,那这用to用方法,好,这个我就不举例了啊,这是大家一看就清楚了,我们现在接着往下看它的细节,那么强制类型转换的细节呢,我大概总结了四点,大家听一耳朵。将来,所以说我们经常说这个细节很重要。细节很重要,因为一个程序员水平的高低主要是取决于他的细节,有两个程序员在那聊天,有一个程序员刚刚工作了三个月,有一个程序员工作了三年,他们聊的东西大致的内容差不多,你说这块基本大家都能说出来啊,跟工作三三天的,三三个月,他说我我知道这样,但是工作了三年的,他在细节上他就会给你多聊几句,出来以后你们这个就会体验到这个细节很重要。好的强制类型呢,我们总结了四句话,第一句。
05:20
当进行数据从大到小时,我们需要用到强制转换,因为自动转换不会成功了。第二个强制符号只针对最近的操作数有效。就是它是作用在最近的那个操作数,往往会使用小括号提升优先级,你比如说同学们看这个案例,十乘以三点五点to,十乘以3.5,那么这个时候这个to in,同学们看到。这个to它只作用在这个3.5上。3.5上而没有作用在十乘以3.5。
06:01
同样道理,六乘以一点五点to,那么这个to呢,只作用在1.5上,那同学们可以看到这个结果应该是多少呢?如果我们这样算的话,这个结果应该是十乘以三再加六乘以一对不对?74等于多少?36是这个意思吧?36你to了吗?可能就把这个五拿掉了,注意啊,To它是直接保留整数部分,它不会进行四舍五入,它不会进行四舍五入,那么这个地方。证明了这个作用只是在离它最近的数,那同学们看,如果我们要对整个这个结构图形的话呢,你应该把它括起来,提升它的优先级,然后再推特,那这样算出来就是35加九。To,那这个时候呢,起始就应该是多少呢?
07:01
三十三十五加上一个九吗。35加上一个九是多少?35加上一个九位是多少,你们不知道吗?40几啊44啊44好,这个两个我们可以把它运行一下,给同学们运行一下,来走一个案例,强制类型转换来走一个,我们写一个DEMO02。1THE object专利。走,我把代码写到这,好,同学们可以看一下,我们来进行一个执行,看看这个效果跟我们想的是不是一样啊,同学们来。打开我们执行一下NUMBER1加NUMBER2这个值,执行运行运行一下。那么当我们运行完了过后呢,我们看到这个结果对不对,一个是36。
08:01
一个是44好,这点大家注意一下看36和四四好,这个细节呢我们就说完了,第三一个char类型可以保存int的常量值,但不能保存int的变量值,需要强制转换,这个在前面我们说过这个事情了,比如说。比如说我们刚才讲过这个东西看,比如说这有个char。VL叉一找一个叉来,我们给它一个一,这个是可以的,这个是可以,因为这个一它没它在这个边系,他会怎么做呢?它先判断范围。他发现范围OK就可以了,因为它是成量子,因为这个一,这个时候他在这方,他可以把这个类型给你给你擦除掉啊,擦除这个类型的一个行为,但是这样做就不行了,同学们看v l number3。NUMBER3,假设也等于一,那么同学们可以看到,如果我给一个叉二。
09:04
轴char类型。诶,等一下类。差类型等于NUMBER3,好同学们看到这个时候呢,就会报错,虽然你仍然是一,但是这个就带类型了,编译器它是对,它对变量的时候,它就一定会有类型参与,意思这个就错了,这个是错的,好同学们注意一下这个细节就行了啊同学们好的,这是我们所说的第三一个,第四一个bit short进行类型转换时,先转成int再处理好同学们强制类型转换呢,我们就先说到这里,我们看一下题,我们一起来完成几个题,看看同学们能不能把这个题做出来。好,我们先一起来回答啊,同学们看这个把五给short可不可以?把五给一个short可不可以,因为它没有这个类型,是不是这个是OK的,来把让这个S减去一个A2再给S可不可以?
10:08
怎么你们还在说可以呢,有些人还在说可以,S减去二是不是就已经有类型了呀,他转完过后是不是in特了呀,这个肯定是错的嘛,怎么回事?你们班有些东西这个还是有点没转过来吗?这个你错误的原因是你因为你把这个int你给了这个short了嘛,你S减去一个二,Short减二,它整个先把它转成int再给嘛,说报错了吗?好,这个把三给bad可不可以,可以好,那么同学们看,如果我把这个B加四再给B可不可以,不可以又错了,这个相当于你把一个int给了一个什么呀。给了一个BY,诶好,那么这样子可不可以呢?B加是To By,这个是不是用了强制转换了呀?诶这个就OK了,这个就OK,因为你使用了什么呀,使用了强制转换,使用那个强制转换这是OK的,诶转换这是OK的,那么这个地方把A给一个差可不可以,可以对不对?好把五给特可不可以可以好把这个这个可不可以可以,因为我明确指定是F了,对不对?好再来看这个案例,C加I再加D给double可不可以?
11:28
其实这个是相当于把float给double是不是,哎,这个是可以的,因为你整个这个运算结果C加A加D,这个精度最高的是不是D啊,诶我把D给他,这相当于把一个float给了一个double类型,这是OK的,没问题,好把五给BA可不可以?这个是OK的,因为他没有数据类型,这个是OK的,这个可不以吗。S加B这个是不是又不行了呀,因为你整个运算结果是int类型的,所以这个呢也是错的,这个相当于说把一个int给了一个BY。
12:05
好哎,给了一个short错了,好S加B给它可不可以呢?可以,因为它用了类型推导,是不是,诶虽然你你S加B是更新的,我这T2没有指定类型,所以它用了类型推导,这个是可以的,OK的OK,就是使用了类型类型推导。OK,好,这个题我们就说完了,直类型的这个转换我们就说完了,好,我把这个呢给同学们板书一把。板书一把,这是强制类型转换的一部分的内容。好,刚才呢,我们讲到了强制类型转换,来一个标题三,标题三好,首先呢,我做了一个基本的介绍,我说了自动类型转换的逆过程,就是强制类型转换。这个没问题啊,同学们呢,一看就清晰了,我紧接着呢,这写了一个小案例,对吧,告诉大家Java是怎么做的,开是怎么做的,当然这个能to就可以to一系列的东西啊,To double呀,To这个什么就就没写那么多了,这是第一个,然后我们又给大家讲了一下强制类型转换的细节,大概总结了这么四点,这四点呢,大家要有一个基本的认识,好,我把它呢也给同学们板述一下,说哪几个细节呢?第一个对不对,第二个。
13:33
强制类型转换呢,呃,只针对最近的操作数有效,最近操作数有效,如果你要。对前面一个结果进行这个强制转换,那么要使用小括号提升优先级。这是基本常识。第三,一个。第三一个。第三一个是什么呢?就是差类型保持常量,对吧?这个我就不再多说,那么我把这个案例给同学们板书到我们的笔记中去。
14:04
放到这里来,好,我尽量把它放在离我们这个细节最近最近的地方,好往这儿再来一下。来一个表格扔进去,来一个表格扔进去。好,这是我们强制类型的一个作业题,我也给大家板书到这里来,作业题就是强制,那就数据类型,数据类型。类型转换转换。的作业。课堂作业作业题。作业题。诶,好的,给大家板书到这里来,同学们。来一个标题二、把作业放到这。好,同学们一看就清晰了,清晰了。好,这是我们的这个课堂作业的一个说明,我们截取一段视频。
我来说两句