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

淺談Java數(shù)值類型的轉(zhuǎn)換與強(qiáng)制轉(zhuǎn)換

 更新時間:2019年04月08日 09:48:19   作者:Clearlight™  
這篇文章主要介紹了Java數(shù)值類型的轉(zhuǎn)換與強(qiáng)制轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

數(shù)值類型之間的轉(zhuǎn)換

6個實心箭頭箭頭表示無信息丟失的轉(zhuǎn)換;
3個虛箭頭表示可能有精度損失的轉(zhuǎn)換.

當(dāng)使用上面兩個數(shù)值進(jìn)行二元操作時,先要將兩個操作數(shù)轉(zhuǎn)換為同一類型,然后再進(jìn)行計算.
規(guī)則:`兩個數(shù)中小類型的值將自動轉(zhuǎn)換為大類型的值.
小轉(zhuǎn)大可以,但是大轉(zhuǎn)小會損失精度,則需要強(qiáng)制轉(zhuǎn)換.

強(qiáng)制類型轉(zhuǎn)換

語法格式

在圓括號中給出想要轉(zhuǎn)換的目標(biāo)類型,后面緊跟待轉(zhuǎn)換的變量名.

例:
double m = 9.99;
int n = (int)m;
其中n的值為9.

強(qiáng)制類型轉(zhuǎn)換通過截斷小數(shù)部分將浮點值轉(zhuǎn)換為整形.

Math.Round()

返回最接近參數(shù)的 int。結(jié)果將舍入為整數(shù):加上 1/2,對結(jié)果調(diào)用 floor 并將所得結(jié)果強(qiáng)制轉(zhuǎn)換為 int 類型。換句話說,結(jié)果等于以下表達(dá)式的值:

(int)Math.floor(a + 0.5f)

特殊情況如下:
如果參數(shù)為 NaN,那么結(jié)果為 0。
如果結(jié)果為負(fù)無窮大或任何小于等于 Integer.MIN_VALUE 的值,那么結(jié)果等于 Integer.MIN_VALUE 的值。
如果參數(shù)為正無窮大或任何大于等于 Integer.MAX_VALUE 的值,那么結(jié)果等于 Integer.MAX_VALUE 的值。

public static int round(float a) :
若傳入Round方法的值為float,返回值為int,可直接用int類型的值接收即可.
public static long round(double a) :
但傳入Round方法的值為double時,返回值為long,則需要手動強(qiáng)轉(zhuǎn)為int類型.

代碼示例:

public class MathRoundDemo {
	public static void main(String[] args) {
		double a = 1.847;
		System.out.println(Math.round(a));
		
		float b = 1.847f;
		System.out.println(Math.round(b));
		
		int c = (int)Math.round(a);
		System.out.println(c);
		
		System.out.println(Math.round(a*100)/100.0);
		System.out.printf("%.2f",a);
	}
}
/*輸出:
2
2
2
1.85
1.85
*/

代碼分析:

float b = 1.847f;若不添加后綴f,則需要將1.847進(jìn)行強(qiáng)轉(zhuǎn),默認(rèn)小數(shù)位double類型.賦給float(大轉(zhuǎn)小會損失精度,則需要強(qiáng)制轉(zhuǎn)換).
int c = (int)Math.round(a);傳入的參數(shù)為double類型,返回類型為long,同理,大轉(zhuǎn)小,需要強(qiáng)制轉(zhuǎn)換.

對于想要進(jìn)行小數(shù)位數(shù)的保留方法,此代碼中想要1.847保留小數(shù)點后兩位:
System.out.println(Math.round(a*100)/100.0);
原理:小數(shù)點先右移兩位后應(yīng)用Math.round方法進(jìn)行四舍五入后,在將小數(shù)點向左移兩位.

System.out.printf("%.2f",a);
原理:應(yīng)用了格式化輸出,推薦使用這種方式簡單高效穩(wěn)定.具體介紹請看:Java中格式化輸出

以上所述是小編給大家介紹的Java數(shù)值類型的轉(zhuǎn)換與強(qiáng)制轉(zhuǎn)換詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java解析XML的四種方法詳解

    Java解析XML的四種方法詳解

    XML現(xiàn)在已經(jīng)成為一種通用的數(shù)據(jù)交換格式,平臺的無關(guān)性使得很多場合都需要用到XML。本文將詳細(xì)介紹用Java解析XML的四種方法
    2012-10-10
  • Spring的事務(wù)機(jī)制實例代碼

    Spring的事務(wù)機(jī)制實例代碼

    這篇文章主要介紹了Spring的事務(wù)機(jī)制實例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • Java使用跳轉(zhuǎn)結(jié)構(gòu)實現(xiàn)隊列和棧流程詳解

    Java使用跳轉(zhuǎn)結(jié)構(gòu)實現(xiàn)隊列和棧流程詳解

    這篇文章主要介紹了Java使用跳轉(zhuǎn)結(jié)構(gòu)實現(xiàn)隊列和棧流程,連續(xù)結(jié)構(gòu)和跳轉(zhuǎn)結(jié)構(gòu)是數(shù)據(jù)結(jié)構(gòu)中常見的兩種基本數(shù)據(jù)結(jié)構(gòu),而我們本次的主角棧和隊列都 既可以使用使用跳轉(zhuǎn)結(jié)構(gòu)實現(xiàn)也可以使用連續(xù)結(jié)構(gòu)實現(xiàn)
    2023-04-04
  • 詳解Java實現(xiàn)的k-means聚類算法

    詳解Java實現(xiàn)的k-means聚類算法

    這篇文章主要介紹了詳解Java實現(xiàn)的k-means聚類算法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • SpringBoot+MybatisPlus+Mysql+JSP實戰(zhàn)

    SpringBoot+MybatisPlus+Mysql+JSP實戰(zhàn)

    這篇文章主要介紹了SpringBoot+MybatisPlus+Mysql+JSP實戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • idea 打包maven項目忽略test文件的操作

    idea 打包maven項目忽略test文件的操作

    這篇文章主要介紹了idea 打包maven項目忽略test文件的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • SpringBoot 編程式事務(wù)使用及兩種實現(xiàn)方式

    SpringBoot 編程式事務(wù)使用及兩種實現(xiàn)方式

    編程式事務(wù)管理是通過編寫代碼來管理事務(wù),相對于聲明式事務(wù)(@Transactional注解),它提供了更細(xì)粒度的事務(wù)控制,這篇文章主要介紹了SpringBoot 編程式事務(wù)使用及兩種實現(xiàn)方式,需要的朋友可以參考下
    2024-12-12
  • 基于Log4j2阻塞業(yè)務(wù)線程引發(fā)的思考

    基于Log4j2阻塞業(yè)務(wù)線程引發(fā)的思考

    這篇文章主要介紹了基于Log4j2阻塞業(yè)務(wù)線程引發(fā)的思考,基于很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 實例詳解Java中如何對方法進(jìn)行調(diào)用

    實例詳解Java中如何對方法進(jìn)行調(diào)用

    這篇文章主要介紹了實例詳解Java中如何對方法進(jìn)行調(diào)用,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-10-10
  • 新手初學(xué)Java網(wǎng)絡(luò)編程

    新手初學(xué)Java網(wǎng)絡(luò)編程

    網(wǎng)絡(luò)編程是指編寫運行在多個設(shè)備(計算機(jī))的程序,這些設(shè)備都通過網(wǎng)絡(luò)連接起來。本文介紹了一些網(wǎng)絡(luò)編程基礎(chǔ)的概念,并用Java來實現(xiàn)TCP和UDP的Socket的編程,來讓讀者更好的了解其原理
    2021-07-07

最新評論