成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java中的基本數(shù)據(jù)類型轉(zhuǎn)換(自動、強制、提升)

開發(fā) 后端
說基本數(shù)據(jù)類型轉(zhuǎn)換之前,先了解下 Java 中的 8 種基本數(shù)據(jù)類型,以及它們的占內(nèi)存的容量大小和表示的范圍。自動類型轉(zhuǎn)換是指:數(shù)字表示范圍小的數(shù)據(jù)類型可以自動轉(zhuǎn)換成范圍大的數(shù)據(jù)類型。

說基本數(shù)據(jù)類型轉(zhuǎn)換之前,先了解下 Java 中的 8 種基本數(shù)據(jù)類型,以及它們的占內(nèi)存的容量大小和表示的范圍,如下圖所示。

重新溫故了下原始數(shù)據(jù)類型,現(xiàn)在來解釋下它們之間的轉(zhuǎn)換關(guān)系。

自動類型轉(zhuǎn)換

自動類型轉(zhuǎn)換是指:數(shù)字表示范圍小的數(shù)據(jù)類型可以自動轉(zhuǎn)換成范圍大的數(shù)據(jù)類型。

如:

 

  1. long l = 100;  
  2. int i = 200;  
  3. long ll = i; 

 

具體自動轉(zhuǎn)換如如下圖所示。

實線表示自動轉(zhuǎn)換時不會造成數(shù)據(jù)丟失,虛線則可能會出現(xiàn)數(shù)據(jù)丟失問題。

自動轉(zhuǎn)換也要小心數(shù)據(jù)溢出問題,看下面的例子。

 

  1. int count = 100000000;  
  2. int price = 1999;  
  3. long totalPrice = count *  
  4. price; 

 

編譯沒任何問題,但結(jié)果卻輸出的是負(fù)數(shù),這是因為兩個 int 相乘得到的結(jié)果是 int, 相乘的結(jié)果超出了 int 的代表范圍。這種情況,一般把***個數(shù)據(jù)轉(zhuǎn)換成范圍大的數(shù)據(jù)類型再和其他的數(shù)據(jù)進(jìn)行運算。

 

  1. int count = 100000000;  
  2. int price = 1999;  
  3. long totalPrice = (long) count * price; 

 

另外,向下轉(zhuǎn)換時可以直接將 int 常量字面量賦值給 byte、short、char 等數(shù)據(jù)類型,而不需要強制轉(zhuǎn)換,只要該常量值不超過該類型的表示范圍都能自動轉(zhuǎn)換。

強制類型轉(zhuǎn)換

強制類型轉(zhuǎn)換我們再清楚不過了,即強制顯示的把一個數(shù)據(jù)類型轉(zhuǎn)換為另外一種數(shù)據(jù)類型。

如:

 

  1. short s = 199;  
  2. int i = s; 
  3. // 199  
  4. double d = 10.24;  
  5. long ll = (long) d;  
  6. // 10 

 

以上的轉(zhuǎn)換結(jié)果都在我們的預(yù)期之內(nèi),屬于正常的轉(zhuǎn)換和丟失精度的情況,下面的例子就一樣屬于數(shù)據(jù)溢出的情況。

 

  1. int ii = 300;  
  2. byte b = (byte)ii; 

 

300 已經(jīng)超出了 byte 類型表示的范圍,所以會轉(zhuǎn)換成一個毫無意義的數(shù)字。

類型提升

所謂類型提升就是指在多種不同數(shù)據(jù)類型的表達(dá)式中,類型會自動向范圍表示大的值的數(shù)據(jù)類型提升。

把上面的溢出的例子再改下。

 

  1. long count = 100000000;  
  2. int price = 1999;  
  3. long totalPrice = price * count

 

price 為 int 型,count 為 long 型,運算結(jié)果為 long 型,運算結(jié)果正常,沒有出現(xiàn)溢出的情況。 

責(zé)任編輯:龐桂玉 來源: Java技術(shù)棧
相關(guān)推薦

2011-05-26 14:27:56

java

2016-08-18 14:13:55

JavaScript基本數(shù)據(jù)引用數(shù)據(jù)

2010-10-08 09:02:03

JavaScript基

2010-04-27 11:03:39

Oracle Java

2022-10-27 20:42:04

JavaScripJava編程語言

2023-03-27 10:04:27

數(shù)據(jù)類型浮點型布爾型

2020-10-26 13:46:07

Java基礎(chǔ)入門篇

2021-04-28 18:16:24

Rust數(shù)據(jù)類型

2017-02-27 08:34:09

JavaScript數(shù)據(jù)引用

2019-11-11 14:55:25

Redis數(shù)據(jù)類型命令

2021-04-13 08:42:29

C語言數(shù)據(jù)類型轉(zhuǎn)換自動類型轉(zhuǎn)換

2009-08-14 11:15:45

C#基本數(shù)據(jù)類型

2024-06-11 08:30:31

2024-11-04 06:20:00

Redis單線程

2024-11-12 13:01:46

2023-07-04 08:41:08

Redis數(shù)據(jù)類型

2010-01-18 16:49:36

VB.NET基本數(shù)據(jù)類

2010-09-06 17:35:43

SQL函數(shù)

2024-12-09 12:00:00

Python編程數(shù)據(jù)類型轉(zhuǎn)換

2022-03-14 09:41:10

POJO類型系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美一级片黄色 | 91黄色片免费看 | 国产一区二区三区视频免费观看 | 天堂网色 | 国产福利91精品 | 欧美激情视频一区二区三区在线播放 | 一区中文字幕 | 国产成人网 | 久久久久久国产精品 | 在线视频成人 | 国产免费av网 | 成人三区 | 一区二区三区四区不卡 | 成人在线免费 | 欧美精品综合 | 喷潮网站 | 亚洲毛片 | 亚洲精品二区 | 亚洲精品一区av在线播放 | 91国内产香蕉 | 国产精品久久久久久一区二区三区 | 欧美日韩专区 | 亚洲精品久久久久中文字幕二区 | 韩日有码 | 日本天堂视频在线观看 | 国产97人人超碰caoprom | 狠狠色综合网站久久久久久久 | av国产精品毛片一区二区小说 | 亚洲日韩中文字幕一区 | 最新国产精品视频 | 精品国产乱码久久久久久a丨 | 亚洲国产成人av好男人在线观看 | 国产精品日产欧美久久久久 | 国产精品777一区二区 | 国产美女网站 | 亚洲激情一区二区 | 精产国产伦理一二三区 | 国产精品久久久久久久久久久新郎 | 欧美自拍视频 | 亚洲一区二区中文字幕 | 超碰电影 |