00:00
好,那这个呢就完事了,那下边呢,我们来看一下这个叫哎浮点类型。哎,测试古典类型。呃,变量的一个使用。好,那么这个附带类型呢,比较少,就两种啊,一个呢叫做float。一个呢叫double,好,那么关于这两个类型呢,我们也先看一下这个课件啊。呃,这两个呢,呃,有上面这个经验在了,你也知道,肯定是表述的范围呢,不太一样啊,事实情况呢,也确实如此,我们把这个float呢称为呢叫单精度,Double呢称为呢叫双精度,你看这个名字你就知道啊,就是咱们有一个运动鞋的品牌呢,叫双星是吧。可能大家都没听过了啊,以前我小时候呢,还小学时候踢足球,还一说穿双星的感觉还挺好是吧?哎,双星那不就是double star是吧?Double双双的意思啊。好,那么这个float呢,叫单精度,说白了就是它的存储范围呢比较小,精度呢也比较低。可以精确到七位有效数字啊,在很多场景下的这个精度呢,很难满足我们的需求,那double的话呢,是双精度,它的精度呢是double两倍啊,那就它的精度呢会更高一点。
01:09
咱们一般呢,在开发当中,如果你要表示这种带小数点的数呢,我们习惯就用这个double了。啊,这就是他的一个默认选择,OK,然后呢,具体的话呢,它占用多大空间呢?我们看到单精度是四个字节,跟谁一样。上面讲的。诶跟int一样好,那这个双进度呢,是八个字节,跟long一样。对啊,跟浪一样,后边呢,是它对应的这个表述范围,用了科学计数法,诶,负的3.403,这是十的38次方。啊,这个是正的十的38次方啊,这个是double的,哎,那你要大体看一下的话呢,你看这个。单精度的。是它是吧,它的这个范围跟咱们上边的这个long去比。好像你也看不出来是吧,谁更大呢,这个范围。
02:02
这是二,这个是十是吧。诶对,告诉大家结构论呢,就是这个float的这个更大一点。那你说不科学呀。什么叫不科学呢?你看啊。这个我们float的表述范围更大。占用的字节还是更少?而且你还可以表示点几小数。好处都让你占了。我比你大,哎,占用的空间多,表述范围比你大,我还只能表示整数,我还表示不了小数是吧,你要从这个意义上来讲呢,那这个浪这都没有用了。我这又小范围又大,精度还高。都让你炸了,那肯定不行是吧,诶所以这块呢,我们诶通过这样一个理解呢,你就能知道啊,虽然说这个float呢,它的呃占用的子节数小,表述范围更大,但是它这个精度呢。是非常有限的,就是并不是所有的大家你说我第几几几,你都能很精确的给我表示,他做不到的。
03:03
所以大家呢,哎,会在一些练习当中,你会发现这个flow的这个精度呢,还是挺差的哈,咱们后边也有几个小的例子,咱们一会看啊。好呃,那么具体在表示的时候呢,这里边儿提到了,你可以用这个十进制的方式,也可以用这种科学计数法的方式,这个咱们上初中的时候应该都学过了,OK啊,都明白,但是平时一般用啊,咱们用这种还是少一点啊,主要就是这种行那写了啊,首先啊,我们比如说定义这个double了,我叫第一啊12.3,诶就这样写。像这个范围内都比较小,没问题好注意啊,我下边要定义float了,定音float的时候呢,就有要求了。你看我也写个12.3保存来,我们去做一个编译。挂了第28行出错了,说呢,你这个不行。这块呢,通过它我们要说明一点啊,这个咱们也写个一啊说呢。哎,跟上面这个类似哈,说声明这个float类型变量的时候呢,需要提供后缀,它的后缀呢是F。
04:00
啊,小写的F,或者是大写的F。那也就是这个位置,你必须要加上这个F,不加就搞错了,也就是说你要不加的话呢,他就认为你是个double了。那这块这不也是这样写的吗。你大部的话呢,这个人家是八个字节啊嗯,付给你四个字节的不行是吧?呃,所以必须要加上这个F,小写大写都行,那那这个呢,我们加上F了,你说我打印的时候呢,会带上这个F吗。这个咱们打印一下看看啊,F1,或者你你这样写也行啊,F1刚才那会儿也说过哈。这样是吧,保存。编译。来运行诶12.3注意没有带这个F啊,就是这呢,只是我们编译的时候呢,大家带一个表明你这就是一个类型,实际上运行的时候呢,它就是实打实的是几就还是几,上面这个long也是一样,我们要打印long的时候呢,这个结果呢,就是它不会带L。
05:00
好,这正是我们说的这样的一个点啊行,那这个点说完之后呢,跟咱们上面这个整形的类似。整形这块呢,也说了,说开发当中我们定义整呃变量的时候呢,整形的默认呢,大家就定义成int类型了,那我们如果定义这个浮点类型。啊,变量的时候呢,没有特殊情况,我们都定义成是。Double类型。啊,因为。因为什么呀?精度更高是吧。换句话说的话呢,你这个float的精度啊,太差了。啊是太差了,注意啊,因为你上面说的话呢,我们定义成浪类型,为啥呢?因为浪型存储范围更大,那为啥我们in,因为基本上用不着浪,但是这个时候呢,你float精度确实太差了,所以我们才用这个double啊。好,那这是一个点,另外呢,我们刚才也提到了一个事儿。啊,这是一个事实啊,说这个,呃,Float这个类型它的表述范围。要大于long类型。
06:03
哎,表述范围啊,但是呢,精度不高。哎,这呢,就我们说的这样一个事实啊,行,那么这个所谓的精度不高呢,大家看一看我下边呢,呃,有一个说明,大家呢,作为一个了解就行。啊了解来看一看啊说并不是所有的小数都可以精确的用二进制的浮点数来表示的,二进制的浮点数不能够精确的表示0.1 0.01。啊,0.001这样的十的负次幂。什么意思?你看啊,我这写了这样的一个运算,呃,其实里边呢,这都是属于这个常量了啊,没有定义成变量说呢,呃,0.1加上0.2,呃这个大家应该都知道,结果是0.3,但是你的运算结果发现不是0.3。啊,下边呢,是我们叫测试浮点型啊。这个变量啊的这个精度了啊好,我把这个呢,就直接粘过来了来。
07:01
编译运行,诶大家看。是这个数,这个呢,你可能就接受不了了。说计算机,计算机,你好歹不应该比我自己要强一点嘛,你发现的还不如你呢。啊,这个呢,他没有办法精确的表示这个0.1加上0.2等于0.3这个事儿,这个事儿的话呢,咱们放在这个章末,不是有这个企业真题嘛,这个真题里边考过这道题,到那块的时候呢,咱们再给大家去解释啊,现在要解释呢,就有点重了。那就通过这个例子呢,你能够看到这个精度不高,这个事儿呢,不光是Java如此,所有的编程语言都如此。啊,这个注意所有的编程语言出来结果其实都是这个数啊。好,这是我们说的一个,第二个话呢,提到说浮电型的这个变量double这个数据呢,不适合在不容许舍入误差的金融领域呢,做啊这个运算了,因为金融领域里边这个小数点可能要求小数点后边好多位,包括呢,像航天也是一样,那么要求精度很高的时候呢,你用这两个的谁都不靠谱,那这个时候我们就要用在Java里边呢,就用这个类叫big decimal。
08:05
这是我们以后要讲的一个常类哈。那咱们在这个第第第多少章的时候呢,我们会去讲啊,就是。稍微的搂一眼啊。咱们再讲到嗯,常用类啊,这儿讲到这儿的时候呢,我们会去讲这两个类,就是这个类呢,你可以啊,想让它精确到多少位都可以。这呢才是真正发挥了计算机的魅力了,哎,我说我们现在呢,只是稍微的表示一些简单的带小数点的数的时候,用它俩就行啊,那这里边儿大家也可以通过这样的一个测试,感受一下这样的一个精度的情况。哎,这个呢,整个选中啊,往后移一下啊,这个可以看到是我们这个。诶,测试一。哎,测试二啊,这样啊。好看一下,这呢是一个float型的一个值,我们用F5表示结尾的,然后呢,我给它加了一个一。哎,这是打印它的结果,这是打印它的结果,这呢,这个符号呢,我们讲运算符的时候讲表示的是判断它俩是不是相等,相等的就是处,不相等的就是false。
09:08
那按照我们的理解肯定不相等啊。对吧。但是呢?你看。这个数这个数他俩诶给我们写成科学计数法了,你发现呢,这是一样是吧,然后呢,问你相不相等相等。说白了,精度不高嘛。哎,注意啊,哎,如果呢,你想表达极其精确的话呢,这个时候我们就要用呃,以后要说的这样的一个类呢去替代。啊,这个我们稍微的提一下啊说呢。这个结论啊。通过测试啊,发现。啊,这个浮点型。哎,变量的精度不高。呃,如果在开发中。啊,需要极高的精度。呃,需要呢,使用哎,我们叫big。
10:00
啊,这个类啊去替换。啊,负电性的变量。啊,那么这呢是一个类,就是我们后边要讲的一个引用数据类型,好,那么大家这块呢,有这样的一个意识呢,就可以了啊。行,那么这个完了以后呢,咱们课后呢,有两个题目是吧,那这两个题目呢,咱们快速的写一下啊,这呢是一个案例,这边呢,我们打开以后呢,我再去新建一个。关于咱们这个,诶float。哎,Float关于double的一个练习是吧。好,我把这个案例呢张过来,来,大家你看一看这个题目啊,咱们一起来做一下。CTRLCCTRLSCTRLV。看这个,各定一个圆周率,并复制为3.14,现有三个圆的半径分别是1.2 2.5和六,求它们的面积。嗯,看看。
11:01
首先哎,我们呢,先去一个定义,是不是圆周率这样一个变量啊。显然是一个浮点型的,这呢,我咱们说呢,是不是一般情况下我们都定义成double了。哎,所以float的呢,你就少用了啊,大部分呢,我们叫圆周率,我叫派吧。好,这个呢是3.14。啊,这是它的圆周率,接着呢,我们再去定义什么。定义啊,三个圆的。半径。好,那那么半径的话呢,你看第一个呢,也是一个浮点型的。啊,这块你看啊,咱们做具体练习呢,这都是建明之意了,这个呢,我们就叫readers是吧。哎,咱们上中学的时候呢,简写成二呢也行啊,READUS1吧,它呢是1.2。READUS2。2.5是吧,这个呢,是不是可以一个整形啊。啊,这正是一个六好,这就定义好了,然后接下来呢,就要求它们的面积。
12:05
计算面积行,那咱们面积的话呢,还应该都记得是吧派。二方是吧,所以这块呢,我们就这样啊,那这个结果呢,是什么类型啊。对,显然应该用double来定义了,呃,首先这个面积呢叫area啊,我叫AREA1,那就是派呢去乘以。Radius一再乘以。哎,READS1啊,这呢就是它的一个哎运算啊,这里边呢,我们会用到呢,一会要讲的这个运算符,当然呢,就先提前预知一下这个知识点哈,把右边这个结果运算完以后,付给左边的这个变量。啊,那么类似的CTRLC。READUS2,这是二好,这呢都是W类型啊,那你关键你看第三个,第三个的话呢,我们是派呢,乘以READUS3。那瑞三呢,它是一个int类型。
13:01
那这个结果是什么类型?对,也得是大波,因为你这是个小数点了是吧。所以这样啊,CTRLC。哎,这个我们叫艾瑞三行,那这个面积呢,咱们就计算完了,下边你可以呢,相当于做一个输出。来输出呢,我们这个叫。比如说这个叫。元一的。哎,咱们可以写复杂点吧,比如说哎,半径为。诶,你看啊,我这样写大家看能不能看懂啊,READERS1是吧,然后我再连接一下是可以的啊,我再逗号一下说面积为。哎,我再加上一个。是不是这个变量啊。哎,这个看能看懂不。啊对,这就是字符串,诶,我们后边要讲的这叫连接符,连接一个变量啊,再连接,再连接,你想连几个都行,但是中间你不能忘了写这个,这不行啊。因为这是个变量,这个变量中间呢,一定要有运算,哎,所以呢,要整个它啊。
14:02
好,CTRLC。二三。二。行,这就写完了是吧,来我们这块做一个测试啊。C。哎,Float double的一个练习。好,编译通过呢,说明我们这个语法没问题,但是编译能通过呢,不一定运行呢,就一定是靠谱的啊。我们昨天也提到运行有可能也会出一些异常信息啊,啊这个没出啊,没出的话,那这个结果也出来了。哎,这个结果出来的话呢,你注意哈,你说诶这个结果出来肯定没错,但也有可能你的公式写错了啊,那就是你自己写的问题了啊。行,这块我们看到这个结果呢,它相应的挺长,这个呢,其实也涉及到一个精度问题。啊,这个你现在不要特别去纠结这个事儿就可以了,好,那这呢是咱们的第一道题目,那第二道题目看一下这个看看会不。再来一个啊。Float。
15:00
Double的练习。诶,把它粘过来啊,CTRLCCTRLSCTRLV保存一下。把这个也粘一下。诶,大家看一看这个需求。说呢小明啊,要到美国旅游了啊,但是那里呢,温度是以华氏度为单位记录的,他需要写一个程序呢,将氏温度呢转换为摄氏温度,说多少度啊,说80度啊。只要摄氏度呢,就就就受不了了哈,那华氏度呢,和摄氏度的一个转换关系呢,是这样子的。所以现在呢,我们需要把这个华二度假设是80度啊,转换成这个摄氏度啊,你打印一下看看这个情况。那那写吧,首先呢,这个华氏度呢,它写的叫80度,那也有可能是80点几。只不过它恰好是一个80了是吧,看似是一个整数,你也可以呢,把它就定义成是一个double也行。
16:00
嗯,华是。我我我就滑了哈,心里边多少有点突突是吧,好滑80.0吧。诶,有同学说,那老师我这个点呢,要不写行不行。不行,那不就不是福典型了,能行啊?找一下试试。你看型是吧?哎,那这不就成了整形也可以付给负电型了吗?诶,咱们讲完这个变量以后呢,我们马上就要讲的叫运算符的规则了,这个整形呢,是可以往浮电型这块去付的啊。啊,你要现在你觉得说还不熟,那你就先加个点零也行。啊,那就咱就先加上吧,啊,一会儿我们就说这些细节好,这呢是一个华氏度,然后呢。然后怎么整。先往这个公式上套吧,这个华氏度减去一个32是吧。嗯,然后括起来。哎,除以一个,哎,注意你看啊,我这块写这个运算的时候呢,像这块都整了个空格哈。
17:03
包括这个位置也有空格,这个你不加行不。可以。不加型,只是不过呢,感觉就加上以后呢。好像好看一点儿是吧。就跟两个人谈恋爱一样啊,你也不能天天腻在一起,多少给对方一点空间是吧?可能会过得更长久一些是吧,嗯。好,这个呢就会美观一点,纯粹呢就是这么一个想法啊,好,那么在前面的话呢,运算完付给一个新的变量啊,大部型的叫。摄氏度是吧,我我我就这样了啊,行这就完事了,那下边呢,我们可以整一个输出。呃,说这个,哎,华是。啊。这个多少度是吧。啊,这个我们来一个划。这个这样啊,滑氏度。是叫华氏度吧?
18:02
不是,我想说华氏度多少,对应的摄氏度是多少,这样啊,华氏度它,哎,然后呢,对应的摄氏度为。诶这么着,然后我后边加上一个摄氏度。摄氏度。诶,这个是吧。你看这个输入法还是挺好用的哈。大家可能说这个刚开始接触输入法就用的这个搜狗啊,或者其他的一些,嗯,当年的时候我有电脑还挺早,我上初中就有电脑了。啊,在农村的话呢,我这样想,我爸还是挺注重对我的教育的是吧,虽然说呢,我好像也没干点正事儿是吧,那个时候的话真的得学五笔啊。嗯,还是挺痛苦的啊。啊,现代化呢,你这个还是很智能,像这些符号呢,直接一打都有。80度多少?对应的摄氏度是多少好保存?这个编译。嗯,啊,就他啊。
19:01
啊,运行。运行煤油到这儿啊,加个一。华氏度80,呃,华氏度对应的摄氏度位啊,就这个,你看这个精度好像也也也不高。嗯,行,这个呢,相当于应该是。是除不尽吗?嗯,对,你大体知道这个意思就行,好,那就相当于呢,就是这个温度。行,这儿呢,就我们做了关于float这块呢,诶floatte double这块的两个练习啊,大家呢,稍微再熟悉一下就可以了,行,我们先说到这儿啊,大家呢休息一下。
我来说两句