標籤:https 語言 idt 字元 地址 tab 轉換 字元型 高精度
Java語言是一個強調資料類型的語言,在聲明任何變數時,必須將該變數定義為一種資料類型。
Java中的資料類型包括基礎資料型別 (Elementary Data Type)和參考型別。
Java程式中,總共有8大基本類型,其中4種整型、1種字元型、2種浮點型、1種布爾型,除了這幾種基本類型外,其他都屬於參考型別的資料。
基礎資料型別 (Elementary Data Type)1、數值型
| 整數型別 |
位元組大小 |
聲明方式 |
表示範圍 |
| byte位元組型 |
1 byte |
byte num = 12 |
-128~127 |
| short短整型 |
2 bytes |
short num = 12 |
-32768~32767 |
| int整型 |
4 bytes |
int num = 12 |
-2147483648~2147483647 |
| long長整型 |
8 bytes |
long num = 12L |
-9223372036854775808 ~9223372036854775807 |
1、float單精確度浮點型
佔4 bytes大小,有效數字最長為7位,有效數字長度包括了整數部分和小數部分。
float num = 255.32f;
在每個單精確度浮點型資料後面,都有 一個標誌性符號“F”或者“f”,有這個標誌就代表是單精確度浮點型資料。
2、double雙精確度浮點型
雙精確度浮點型資料佔據8個位元組,有效數字最長為15位。
系統預設不帶標誌性符號的浮點型資料是雙精確度浮點型資料。
關於java中float和double資料類型的精度問題可以查看這篇文章:浮點數那些事兒
注意:
由於浮點數是不精確的,千萬不要用於比較。如果非要比較兩個數,可以使用java.math包下面的兩個類:BigInteger和BigDecimal。前者實現了任意精度的整數運算,後者實現了任意精度的浮點數運算。
2、字元型(無小數點的資料)
字元型資料佔2 bytes大小。
字元變數用單引號表示。
雙引號表示字串,在java中字串用String類型表示。String是一個類。
char s = ‘a‘;char s = ‘中‘;
在對char做運算的時候,char類型用來表示在Unicode編碼錶中的字元,具有0-65536之間的編碼,從‘\u0000‘-‘\uffff‘之間的十六進位值來表示。首碼為u表示Unicode。
3、布爾型
布爾型資料佔一個位元組。true為真,false為假。
引用資料類型
引用資料類型佔4 bytes,儲存的是對象的地址。除了基礎資料型別 (Elementary Data Type)以外,其它的都是引用資料類型。比如:類(對象)介面、數組等。
資料類型轉換1、自動類型轉換
轉換關係:byte < short < int < long < float < double。
精度低的資料類型可以自動的往精度高的資料類型進行轉換。在java中,精度高低可以理解成表示的能夠表示的資料範圍的大小,而不是資料類型所佔的位元組數的大小。
所以自動類型轉換也可以理解成容量小的資料類型能夠自動轉換成容量大的資料類型,這裡的容量指的是所能表示數的個數。比如浮點數能表示資料的個數是大於整型資料的,所以整型資料可以自動轉換為浮點型資料。
自動類型轉換關係圖
2、強制類型轉換
從高精度資料類型轉換為低精度資料類型。用於顯示的轉換一個數值的類型,在有可能丟失資訊的情況下進行的轉換是通過強制類型轉換得到的。可能造成精度降低或溢出。
int num = (int) 3.14;//num = 3
java基礎資料型別 (Elementary Data Type)