最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java中用float時,數(shù)字后面加f,這樣是為什么你知道嗎

 更新時間:2021年09月03日 16:53:14   作者:春天里的小矮寶  
這篇文章主要介紹了java用float時,數(shù)字后面加f,這樣是為什么你知道嗎?具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java float 與 double 的區(qū)別

1、float是單精度浮點數(shù)

內(nèi)存分配4個字節(jié),占32位,有效小數(shù)位6-7位

double是雙精度浮點數(shù),內(nèi)存分配8個字節(jié),占64位,有效小數(shù)位15位

2、java中默認聲明的小數(shù)是double類型的

如double d=4.0

如果聲明: float x = 4.0則會報錯,需要如下寫法:float x = 4.0f或者float x = (float)4.0

其中4.0f后面的f只是為了區(qū)別double,并不代表任何數(shù)字上的意義

3、對編程人員來而

double 和 float 的區(qū)別是double精度高,但double消耗內(nèi)存是float的兩倍,且double的運算速度較float稍慢。

Java float、double、long類型變量賦值添加f、d、L尾綴問題

1、添加尾綴說明 

我們知道Java在變量賦值的時候,其中float、double、long數(shù)據(jù)類型變量,需要在賦值直接量后面分別添加f或F、d或D、l或L尾綴來說明。

其中,long類型最好以大寫L來添加尾綴,因為小寫l容易和數(shù)字1混淆。

例如:

long lNum  = 1234L;
float fNum = 1.23f;
double dNum = 1.23d;

這是Java語法規(guī)定,不添加尾綴很容易引起編譯器報錯,并且程序可讀性也會變差。

2、不添加尾綴也不會報錯的情況  

Java語言中,整數(shù)直接量(例如:1、2、10等),JVM虛擬機是默認為int類型數(shù)據(jù)的。所以,當整數(shù)直接量賦給long、float或者double,而不添加尾綴,虛擬機也會直接將int類型數(shù)據(jù)自動轉(zhuǎn)換為對應類型然后賦值。因為數(shù)據(jù)長度短的轉(zhuǎn)換為長的并不會造成數(shù)據(jù)丟失,所以默認可以自動轉(zhuǎn)換?!  ?/p>

例如:

long  lNum  = 5;   //不報錯,因為int自動轉(zhuǎn)換為long類型,不會報錯
float fNum  = 7;   //不報錯,因為int自動轉(zhuǎn)換為float類型,不會報錯
double dNum = 10;  //同上

  

但是,當浮點直接量(例如:1.2等),JVM虛擬機默認為double類型,如果直接賦值給float就會引起編譯器報錯。

float fNum  = 1.2; //報錯,因為1.2虛擬機是默認為double類型,不能直接賦值給float類型變量
float fNew  = 1.3f;//正確,因為尾綴添加了f,即告訴了虛擬機1.3屬于float類型變量

3、總結(jié)  

所以,當Java中遇到這三種類型變量需要賦直接量時候,最好都添加上相應的尾綴。這樣不僅會防止編譯器報錯,也會增加程序的可讀性?! ?/p>

但是下面這種情況就算添加尾綴也是錯的,因為尾綴僅是為了告訴虛擬機該直接數(shù)屬于什么數(shù)據(jù)類型,而不能實現(xiàn)數(shù)據(jù)類型強制轉(zhuǎn)換。

long lNum = 1.2L;      //錯誤,double類型數(shù)據(jù)不能直接賦值給long類型
long lNew = (long)1.2; //正確,double類型數(shù)據(jù)強制轉(zhuǎn)換為long類型

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 對dbunit進行mybatis DAO層Excel單元測試(必看篇)

    對dbunit進行mybatis DAO層Excel單元測試(必看篇)

    下面小編就為大家?guī)硪黄獙bunit進行mybatis DAO層Excel單元測試(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • JVM:早期(編譯期)優(yōu)化的深入理解

    JVM:早期(編譯期)優(yōu)化的深入理解

    今天小編就為大家分享一篇關于JVM:早期(編譯期)優(yōu)化的深入理解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • 在Java的Spring框架的程序中使用JDBC API操作數(shù)據(jù)庫

    在Java的Spring框架的程序中使用JDBC API操作數(shù)據(jù)庫

    這篇文章主要介紹了在Java的Spring框架的程序中使用JDBC API操作數(shù)據(jù)庫的方法,并通過示例展示了其存儲過程以及基本SQL語句的應用,需要的朋友可以參考下
    2015-12-12
  • Logback如何將日志輸出到Kafka配置示例

    Logback如何將日志輸出到Kafka配置示例

    logback是一個功能強大的Java日志框架,它是log4j的繼任者,提供了豐富的功能和配置選項,本文將介紹Logback將日志輸出到Kafka配置示例,感興趣的朋友一起看看吧
    2024-12-12
  • Java8新特性Stream流實例詳解

    Java8新特性Stream流實例詳解

    Stream流是數(shù)據(jù)渠道,用于操作數(shù)據(jù)源(集合、數(shù)組等)所生成的元素序列。這篇文章主要介紹了Java8新特性Stream流的相關資料,需要的朋友參考下吧
    2017-10-10
  • Java 繼承方法實例詳解

    Java 繼承方法實例詳解

    這篇文章主要介紹了Java繼承中方法實例,非常的實用,這里推薦給大家,有需要的小伙伴可以參考下
    2017-04-04
  • 初步解析Java中AffineTransform類的使用

    初步解析Java中AffineTransform類的使用

    這篇文章主要介紹了Java中AffineTransform類的使用,AffineTransform類經(jīng)常被用來處理圖片,需要的朋友可以參考下
    2015-10-10
  • SpringCloud Feign傳遞HttpServletRequest對象流程

    SpringCloud Feign傳遞HttpServletRequest對象流程

    HttpServletRequest接口的對象代表客戶端的請求,當客戶端通過HTTP協(xié)議訪問Tomcat服務器時,HTTP請求中的所有信息都封裝在HttpServletRequest接口的對象中,這篇文章介紹了Feign傳遞HttpServletRequest對象的流程,感興趣的同學可以參考下文
    2023-05-05
  • 劍指Offer之Java算法習題精講鏈表與二叉樹專項訓練

    劍指Offer之Java算法習題精講鏈表與二叉樹專項訓練

    跟著思路走,之后從簡單題入手,反復去看,做過之后可能會忘記,之后再做一次,記不住就反復做,反復尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • SpringBoot yaml中的數(shù)組類型取值方式

    SpringBoot yaml中的數(shù)組類型取值方式

    這篇文章主要介紹了SpringBoot yaml中的數(shù)組類型取值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評論

南陵县| 来宾市| 通许县| 汝阳县| 长治市| 通江县| 肃南| 杭锦旗| 周至县| 南开区| 翁牛特旗| 温宿县| 黄大仙区| 太保市| 清徐县| 宁城县| 克东县| 宜兰县| 蓝田县| 德兴市| 孟津县| 根河市| 旺苍县| 微山县| 黄大仙区| 麻栗坡县| 高台县| 章丘市| 额济纳旗| 皋兰县| 长垣县| 郓城县| 秀山| 石阡县| 德化县| 儋州市| 青铜峡市| 兰西县| 钦州市| 新宾| 望奎县|