00:00
好了同学们,那么接下来呢,咱们继续再往下看吧,啊,那么再往下的话,咱们这个。整数型这块咱们就说完了啊,咱们来看看浮点型。啊,Float test01。来看一看浮典型,各位啊。关于Java语言中的。浮点型数据。浮典型啊,浮点型包括什么呢?这个float和double。注意啊,这个是四个字节。啊,然后呢,这个呢是八个字节。Float是单精度,各位啊,Double是什么呀,双精度。
01:05
啊double啊,更精确。啊,更精确。啊,就这意思。那比如说。10.0。除以三。啊。如果采用。来存储的话。结果呀,可能是什么呢?是3.33333。啊。如果说10.0除以三。如果采用double来存储的话,它的空间最大,它的空间更大嘛,是不是啊,空间更大啊,Double来存储的话,结果它就可能是什么呀,在这个基础上又多了几个三。
02:02
也就是说,我们的double的精度会更大一些。啊,更大一些。但需要注意,但是啊,需要注意的是。如果用在什么呀,银行方面。啊,或者说使用在什么呀,这个财务方面。Double啊,也是远远不够的。啊,在Java中提供了一种精度更高的类型。啊,这种类型专门使用在哪儿呀,使用在财务软件方面。啊。这个是什么叫big decimal啊,Big decimal。Java麦包下有个big。这个可能看不懂啊,这看不懂这个后这个有点印象就行啊,后期咱们会简单提一提这个东西啊,叫big DEC,这个精度更高,一般我们要做财务软件的话,这个double也是不够的啊,Double这个东西呢,它精度也不够啊,也不是啊。
03:15
对吧,你如果钱特别多的话啊,你这个差的可能就多了啊,最后就多了,我们精度更高的是这个啊,但这个属于一种什么类型啊,不是基本数据类型啊,属于什么呢?引用数据类型。我曾经说过,加码语言当中的数据类型包括两种,一种类型叫基本类型,一种叫引用类型,基本类型in是吧,剩下的都是什么呀?引用数据类型啊,引用数据类型。那么另外呢,要注意啊,另外要注意这个。嗯,Float和double啊。存储数据的时候都是存储的近似值,各位都是存储的近似值,为什么?
04:06
啊,因为啊,因为现实世界中啊,有这种无限循环的数据。无限循环的数据,例如什么呀?例如这个3.33333333的循环。对吧,数据实际上是无限循环,但是计算无限无限循环啊,但是计算机的内存啊,计算机的内存有限。用一个有限的资源存储,或者是表示无限的数据,无限的数据只能存储什么呀,近似值,所以这一点呢,大家注意啊,和存储的实际上都是我们的一个近似值啊,都是近似值。然后呢,还有一点各位啊,浪类型占用什么呢?浪类型占用八个字节。
05:08
啊浪类型占用八个字节,Float类型占用什么呢?占用四个字节,哪个容量大。这件事我们要给大家说清楚啊,这块呢,大家就不用问为什么了啊,不用问为什么了,这个呢也很复杂,这个底层很复杂啊,Float这块有什么呀,有什么阶数啊,实数啊,呃呃,很多术语在里边啊,还有一些什么权位对不对,小数点后面等等权位一些东西啊,所以说哪个容量大呢?注意啊,你不要看这个8比4大,记住了,记住了啊。我们在容量方面认为float的容量要比long类型的容量大,各位啊,注意啊,不要看八和四,因为这个float的底层实现原理啊,它很复杂。它还产生了很多次幂呢啊,它不是很单纯的就是四个字节,它字节当中啊,肯定它字节当中还有一些位啊,它有一些次幂啊,比如说多少次幂,多少次幂它乘多少次幂翻的话,它要比浪要大很多啊,它里边有什么阶数啊啊实啊,还有什么这个权位啊等等啊所以这块呢,咱们要注意啊,需要注意的一件事是什么,任意一个。
06:20
浮点型数浮点型都比。整数型,空间大。啊,空间大,注意float容量大于浪容量啊,大于浪容量是这样的,各位啊,这个很诡异是吧?哎,很诡异,你记住就行了,记住它啊在Java语言当中啊,这块的话,你这样记就完事了啊啊这块的话咱们就不再深研究了啊,深研究了你说这个和底层怎么的对吧?哎,他小数点后边是怎么搞的对不对,这个没必要啊,没必要咱们不是做学术型研究啊,但是这点你得记住啊,任何一个。
07:00
浮点型数据都比整数性的空间要大,Float比浪要大啊,因为这个float底层有什么次幂啊,有这些次幂,几次幂几次幂啊,它比这个浪的要大很多啊,它可能是四个字节,但你平方之后呢,平方的平方之后呢,对不对?哎,它的容量就很大了。好了,那么这块的话,咱们这个理论啊,说到这儿再往下呢,还有一个点需要记住,Java中规定什么呢?任何一个浮点型数据。默认被当做什么呢?Double来处理。啊,如果想让这个字面量谁呀,浮点型字面量啊,被当做float类型来处理。那么。请在,那么请在字面量后面添加F或F。
08:06
这个好像有点似曾相识啊,啊,有点似曾相识,说咱们在Java语言当中啊,我们随便写一个数字,这个数字啊,默认被当做什么呢?Int类型来处理的。对不对,如果你想把它当做。哎。咱们的一个浪类型后面加一个L或者是小L,但是我说建议加一个大L,在这里呢,如果你在这里写了一个1.0。那么1.0默认被当做什么呀?哎,Double类型处理。啊。只有说你1.0F。这才是什么呀,类型类。这才是类型啊,了解一下。或者说你也有这种写法,就是1.0F。
09:00
10F。啊。来,那么这块咱们写一写例子啊,Public class,然后呢,我们叫float test定义。Static。Double PI等于3.1415926。啊,拍。system.out点打印输出。啊,这个不存在类型转换啊。不存在类型转换啊。因为3.1415926是double嘛,对不对,哎是double类型。啊拍呢是double类型啊,那么再往下,比如说我们现在写个float。F等于3.14。这个行不行呢?这个可以吗。
10:03
因为3.14默认被当做double类型来处理,那么double是八个字节,Float的是四个字节,这个存不下,对不对啊,大容量转成小容量,大容量转成小容量能能不能直接付啊,不行啊,来我们看看会报什么错,来Java c呢一下我们的一个test01.va然后接下来我们就报错了,对不对?哎,不兼容的类型从double转换成flow的可能有损失啊,所以就这个啊,有错误啊有错误。那么怎么去修改呢?怎么修改以上的代码呢?哎。第一种方式。第一种方式怎么做呢?我们可以考虑啊,把这个东西拿过来,然后呢,直接在这个位置上加一个F呗,是不是,哎,这个就可以了,我们再编译大家看就没有任何问题了,是不是或者说啊,你加一个大的F也是可以的。啊,也是可以的,这都是规矩啊,你把规矩记住就行了,那么还有我们的第二种方式对不对?哎,第二种方式是什么呢?就是强者。
11:07
啊,一种方式是在。字面量后面添加F或F,第二种方式就是强制类型转换啊,但可能损失精度啊,谨慎使用,谨慎使用。嗯。那么这一块呢,我们float对吧,哎。F等于3.14。这个呢,我就先注释掉了啊,然后接下来在这你可以加一个什么float啊,也是可以的,没有任何问题啊,强转啊system.out点打印输出F啊输出F来,我们在这儿呢,Java c呢去编译一下,然后呢,我们Java去运行一下float。TEST01走好3.141963.14啊3.14。
12:03
嗯。那么这一块呢,我再强调一下啊,这个这个这个浮点型数据啊,它默认被当做什么呀,Double来处理,如果想表示float类型,在后面加一个小写的F或者大写的F都可以啊,所以你愿意怎么做怎么做啊,或者说加强转也是可以的啊,加强转也是可以的。啊,但是大家注意啊,浮点型数据在我们计算机里面存储的是近似值。啊,存储值近似值,来我们来看一个数据啊,比如现在有个我这样写,比如特I等于。呃,10.0。啊,除以五这个行不行,各位。这个行不行。分析这个程序。可以编译通过吗?来,我们编译一下。Java c编译。
13:00
好,大家看不兼容的类型对吧,从double in的可能会有损失,就这个呢,它的它的编译器啊,检测出什么呢?检测出我们这个结果呀,它是一个什么呀,Double类型啊,Double类型它的运算原理是什么呀。原理是先将什么?新疆五。转换成什么呀,Double类型啊,然后再做运算。啊,结果是double。大容量无法直接付给小容量啊。大容量无法直接赋值给小容量。需要强啊,需要强转,所以这个呢就不行啊,那么这边呢,如果说要修改的话。怎么修改?那这块呢,我们可以这样做吗?在这儿加一个行吗?
14:02
这样行不行?这样行不行,各位。我们在这块呢,加了一个int。加了小括号之后呢,这个先执行,执行完之后再除以五。行吗?来我们看一下Java c啊,我们叫做float test01.java然后呢,Java去运行float test01走。没问题,编译和运行都是没问题的啊,我们把这个I的值输出。我们来看一下这个结果。编译运行。结果是二对吧,哎,结果是二,因为它呢会先转成十,十,再除以五等于二啊。那么可以这样修改吗?比如说我把这个拿过来放到这儿。
15:00
然后呢,我把这个呢给它括起来,这样行不行。假如说这个叫X system,点点打印输出X的值。这个应该也是没有任何问题的啊,它算完之后呢,是一个double类型带小数的,然后呢,做强转转成int的时候,它会直接拿这个。这个整数位对吧,哎,我们看看Java c呢去编译Java呢去运行好,最后这个结果呢,还是几啊还是二啊呃,很灵活很灵活啊,可以这个可以啊,这个没什么不行的啊,这可以就是运算符优先级的问题,你在这个位置呢,加一个括号。表示先算这个,如果是这样加一个括号的话,就表示后边这个先算,算完之后呢,再做强制类型转换啊,整体做强制类型转换啊,转换之后呢,它会把小数位砍掉,只剩整数位啊,只剩整数位。强转的时候只留下什么呀,整数位啊整数位。
16:01
嗯。好了,那么浮点型数据啊,我们就说到这儿,这个的话。咱们好像没有这个这块多,各位啊,没有说这个这块多。咱们就写一个例子,写一个例子就完事了啊。
我来说两句