最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么float賦值要加f,double不用呢? 不都是小數(shù)嗎 只不過精度不同

為什么float賦值要加f,double不用呢? ?不都是小數(shù)嗎 只不過精度不同

正在回答

2 回答

JAVA是一種強類型語言,你在做賦值運算的時候其實等號兩邊的類型都是確定的,能賦值成功,要么兩邊類型一致,要么兩邊類型具備某種關系(繼承或者實現(xiàn)),要么編譯器通過上下文可以判定。比如:

byte?x?=?1;

1是個整數(shù)字面量,是int類型,這個值在byte類型的范圍之內(nèi),這個時候編譯器會幫你做類型轉(zhuǎn)換,只留下int類型8位,前面的0都去掉。
而在JAVA中浮點類型的字面量類型默認是double,但是由于float類型和double類型在內(nèi)存中的二進制表現(xiàn)形式不同:一個8位;一個4位。編譯器在編譯的時候掃描到了一個25.6,在不帶F的情況下,它會判斷這是double類型,應該創(chuàng)建一個8個字節(jié)的空間來存放;帶上F,編譯器就會創(chuàng)建一個4字節(jié)的空間來存放。float不能像整形那樣有時會默認轉(zhuǎn)換,必須要確定類型,帶上F。

0 回復 有任何疑惑可以回復我~
#1

jackrabbit 提問者

理解了,謝謝。
2016-03-13 回復 有任何疑惑可以回復我~

不同之處有四處:

單精度浮點數(shù)(float)與雙精度浮點數(shù)(double)的區(qū)別如下:

(1)在內(nèi)存中占有的字節(jié)數(shù)不同

單精度浮點數(shù)在機內(nèi)占4個字節(jié)

雙精度浮點數(shù)在機內(nèi)占8個字節(jié)

(2)有效數(shù)字位數(shù)不同

單精度浮點數(shù)有效數(shù)字8位

雙精度浮點數(shù)有效數(shù)字16位

(3)所能表示數(shù)的范圍不同

單精度浮點的表示范圍:-3.40E+38 ~ +3.40E+38

雙精度浮點的表示范圍:-1.79E+308 ~ +1.79E+308

(4)在程序中處理速度不同
一般來說,CPU處理單精度浮點數(shù)的速度比處理雙精度浮點數(shù)快

至于要加F是因為就是這么規(guī)定的……如果不加F的話他會認為你是用的Double型……

1 回復 有任何疑惑可以回復我~
#1

jackrabbit 提問者

也就是說我定義float類型 但是在數(shù)據(jù)后面沒有添加F 系統(tǒng)會自動判斷為double型嗎? 有點不懂 C里面float是自動轉(zhuǎn)化成double的,所以一直認為float和double一樣
2016-03-13 回復 有任何疑惑可以回復我~
#2

qq_緐華丗堺沁透誐白勺錑眸_0 回復 jackrabbit 提問者

同 問
2016-03-22 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么float賦值要加f,double不用呢? 不都是小數(shù)嗎 只不過精度不同

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號