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

Java中的基本數據類型轉換(自動、強制、提升)

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

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

重新溫故了下原始數據類型,現在來解釋下它們之間的轉換關系。

自動類型轉換

自動類型轉換是指:數字表示范圍小的數據類型可以自動轉換成范圍大的數據類型。

如:

 

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

 

具體自動轉換如如下圖所示。

實線表示自動轉換時不會造成數據丟失,虛線則可能會出現數據丟失問題。

自動轉換也要小心數據溢出問題,看下面的例子。

 

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

 

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

 

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

 

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

強制類型轉換

強制類型轉換我們再清楚不過了,即強制顯示的把一個數據類型轉換為另外一種數據類型。

如:

 

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

 

以上的轉換結果都在我們的預期之內,屬于正常的轉換和丟失精度的情況,下面的例子就一樣屬于數據溢出的情況。

 

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

 

300 已經超出了 byte 類型表示的范圍,所以會轉換成一個毫無意義的數字。

類型提升

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

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

 

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

 

price 為 int 型,count 為 long 型,運算結果為 long 型,運算結果正常,沒有出現溢出的情況。 

責任編輯:龐桂玉 來源: Java技術棧
相關推薦

2011-05-26 14:27:56

java

2016-08-18 14:13:55

JavaScript基本數據引用數據

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

數據類型浮點型布爾型

2020-10-26 13:46:07

Java基礎入門篇

2021-04-28 18:16:24

Rust數據類型

2017-02-27 08:34:09

JavaScript數據引用

2019-11-11 14:55:25

Redis數據類型命令

2021-04-13 08:42:29

C語言數據類型轉換自動類型轉換

2009-08-14 11:15:45

C#基本數據類型

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數據類型

2010-01-18 16:49:36

VB.NET基本數據類

2010-09-06 17:35:43

SQL函數

2024-12-09 12:00:00

Python編程數據類型轉換

2022-03-14 09:41:10

POJO類型系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩美女在线看免费观看 | 欧美日韩黄色一级片 | 狠狠爱综合 | 国产亚洲精品精品国产亚洲综合 | 日韩一区三区 | 亚洲一区二区三区视频 | 狠狠操av| 亚洲一区二区久久 | 久久精品亚洲精品 | 久久久人成影片一区二区三区 | 日本精品一区二区三区视频 | 日韩一区二区福利视频 | 欧美另类视频 | 日日碰狠狠躁久久躁婷婷 | 91高清视频在线观看 | 欧美888 | 看一级黄色毛片 | 欧美日韩电影一区二区 | 99久久精品国产一区二区三区 | 国产日韩精品在线 | 一区免费 | 亚洲精品一级 | 精品视频一区二区三区在线观看 | 国产一区二区三区四区区 | www.男人天堂.com | 久久久精品综合 | 91在线视频观看免费 | 免费观看黄色片视频 | 日韩欧美二区 | 91偷拍精品一区二区三区 | 亚洲在线| 欧美一级片免费看 | 2022精品国偷自产免费观看 | 欧美久久天堂 | 国产伦精品一区二区三区照片91 | 成人动漫一区二区 | 亚洲精品乱 | 亚洲一区二区三区久久久 | 精品亚洲一区二区三区 | 国产高清一区二区三区 | 在线观看成人 |