欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

Java float 與 double 的區(qū)別

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

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

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

2、java中默認(rèn)聲明的小數(shù)是double類(lèi)型的

如double d=4.0

如果聲明: float x = 4.0則會(huì)報(bào)錯(cuò),需要如下寫(xiě)法:float x = 4.0f或者float x = (float)4.0

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

3、對(duì)編程人員來(lái)而

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

Java float、double、long類(lèi)型變量賦值添加f、d、L尾綴問(wèn)題

1、添加尾綴說(shuō)明 

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

其中,long類(lèi)型最好以大寫(xiě)L來(lái)添加尾綴,因?yàn)樾?xiě)l容易和數(shù)字1混淆。

例如:

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

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

2、不添加尾綴也不會(huì)報(bào)錯(cuò)的情況  

Java語(yǔ)言中,整數(shù)直接量(例如:1、2、10等),JVM虛擬機(jī)是默認(rèn)為int類(lèi)型數(shù)據(jù)的。所以,當(dāng)整數(shù)直接量賦給long、float或者double,而不添加尾綴,虛擬機(jī)也會(huì)直接將int類(lèi)型數(shù)據(jù)自動(dòng)轉(zhuǎn)換為對(duì)應(yīng)類(lèi)型然后賦值。因?yàn)閿?shù)據(jù)長(zhǎng)度短的轉(zhuǎn)換為長(zhǎng)的并不會(huì)造成數(shù)據(jù)丟失,所以默認(rèn)可以自動(dòng)轉(zhuǎn)換。   

例如:

long  lNum  = 5;   //不報(bào)錯(cuò),因?yàn)閕nt自動(dòng)轉(zhuǎn)換為long類(lèi)型,不會(huì)報(bào)錯(cuò)
float fNum  = 7;   //不報(bào)錯(cuò),因?yàn)閕nt自動(dòng)轉(zhuǎn)換為float類(lèi)型,不會(huì)報(bào)錯(cuò)
double dNum = 10;  //同上

  

但是,當(dāng)浮點(diǎn)直接量(例如:1.2等),JVM虛擬機(jī)默認(rèn)為double類(lèi)型,如果直接賦值給float就會(huì)引起編譯器報(bào)錯(cuò)。

float fNum  = 1.2; //報(bào)錯(cuò),因?yàn)?.2虛擬機(jī)是默認(rèn)為double類(lèi)型,不能直接賦值給float類(lèi)型變量
float fNew  = 1.3f;//正確,因?yàn)槲簿Y添加了f,即告訴了虛擬機(jī)1.3屬于float類(lèi)型變量

3、總結(jié)  

所以,當(dāng)Java中遇到這三種類(lèi)型變量需要賦直接量時(shí)候,最好都添加上相應(yīng)的尾綴。這樣不僅會(huì)防止編譯器報(bào)錯(cuò),也會(huì)增加程序的可讀性?! ?/p>

但是下面這種情況就算添加尾綴也是錯(cuò)的,因?yàn)槲簿Y僅是為了告訴虛擬機(jī)該直接數(shù)屬于什么數(shù)據(jù)類(lèi)型,而不能實(shí)現(xiàn)數(shù)據(jù)類(lèi)型強(qiáng)制轉(zhuǎn)換。

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

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

相關(guān)文章

  • 淺析Java中線程的創(chuàng)建和啟動(dòng)

    淺析Java中線程的創(chuàng)建和啟動(dòng)

    這篇文章運(yùn)用實(shí)例代碼介紹了Java中線程的創(chuàng)建和啟動(dòng),非常詳細(xì),有需要的朋友們可以參考借鑒,下面一起來(lái)看看。
    2016-08-08
  • java通過(guò)復(fù)選框控件數(shù)組實(shí)現(xiàn)添加多個(gè)復(fù)選框控件示例分享

    java通過(guò)復(fù)選框控件數(shù)組實(shí)現(xiàn)添加多個(gè)復(fù)選框控件示例分享

    編寫(xiě)程序,通過(guò)復(fù)選框控件數(shù)組事先選擇用戶愛(ài)好信息的復(fù)選框,在該程序中,要求界面中的復(fù)選框數(shù)量可以根據(jù)指定復(fù)選框名稱的字符串?dāng)?shù)組的長(zhǎng)度來(lái)自動(dòng)調(diào)節(jié)
    2014-02-02
  • Spring源碼解析之Configuration

    Spring源碼解析之Configuration

    今天帶大家來(lái)學(xué)習(xí)Java Spring相關(guān)知識(shí),文中對(duì)Configuration源碼介紹的非常詳細(xì),有非常多的圖文解說(shuō)及代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • Java設(shè)計(jì)模式之橋接模式的示例詳解

    Java設(shè)計(jì)模式之橋接模式的示例詳解

    橋梁模式是對(duì)象的結(jié)構(gòu)模式。又稱為柄體(Handle and Body)模式或接口(Interface)模式。本文將通過(guò)示例來(lái)詳細(xì)講解一下這個(gè)模式,感興趣的可以學(xué)習(xí)一下
    2022-02-02
  • SpringBoot關(guān)閉過(guò)程中銷(xiāo)毀DisposableBean解讀

    SpringBoot關(guān)閉過(guò)程中銷(xiāo)毀DisposableBean解讀

    這篇文章主要介紹了SpringBoot關(guān)閉過(guò)程中銷(xiāo)毀DisposableBean解讀,一個(gè)bean的生命周期,指的是 bean 從創(chuàng)建,初始化,一系列使用,銷(xiāo)毀的過(guò)程,今天來(lái)講講 bean 的初始化和銷(xiāo)毀的方法,需要的朋友可以參考下
    2023-12-12
  • Java 轉(zhuǎn)型(向上或向下轉(zhuǎn)型)詳解及簡(jiǎn)單實(shí)例

    Java 轉(zhuǎn)型(向上或向下轉(zhuǎn)型)詳解及簡(jiǎn)單實(shí)例

    這篇文章主要介紹了Java 轉(zhuǎn)型(向上或向下轉(zhuǎn)型)詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • MyBatis-Plus聯(lián)表查詢以及分頁(yè)代碼實(shí)例

    MyBatis-Plus聯(lián)表查詢以及分頁(yè)代碼實(shí)例

    在開(kāi)發(fā)中遇到了一個(gè)問(wèn)題,需要進(jìn)行聯(lián)表查詢并進(jìn)行分頁(yè),因?yàn)椴幌胱约簛?lái)寫(xiě)分頁(yè),所以還是依靠MybatisPlus來(lái)實(shí)現(xiàn)想要的功能,下面這篇文章主要給大家介紹了關(guān)于MyBatis-Plus聯(lián)表查詢以及分頁(yè)的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • Java五子棋簡(jiǎn)單實(shí)現(xiàn)代碼舉例

    Java五子棋簡(jiǎn)單實(shí)現(xiàn)代碼舉例

    Java五子棋游戲是一種經(jīng)典的兩人對(duì)戰(zhàn)棋類(lèi)游戲,它基于簡(jiǎn)單的規(guī)則,即任何一方的棋子在棋盤(pán)上形成連續(xù)的五個(gè),無(wú)論是橫、豎還是斜線,都將獲勝,這篇文章主要介紹了Java五子棋實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2024-10-10
  • spring boot整合log4j2及MQ消費(fèi)處理系統(tǒng)日志示例

    spring boot整合log4j2及MQ消費(fèi)處理系統(tǒng)日志示例

    這篇文章主要為大家介紹了spring boot整合log4j2及MQ消費(fèi)處理系統(tǒng)日志的示例過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • IDEA actiBPM插件安裝圖文教程

    IDEA actiBPM插件安裝圖文教程

    這篇文章主要介紹了IDEA actiBPM插件安裝教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論