primitive type 基本型態
-整數-
| bit | byte | 數值範圍 | |
| byte | 8 | 1 | -2^7 ~ +2^7-1 |
| short | 16 | 2 | -2^15~+2^15-1 |
| int | 32 | 4 | -2^31~+2^31-1 |
| long | 64 | 8 | -2^63~+2^63-1 |
-小數(浮點數)-
| bit | byte | 數值範圍 | ||
| float | 32 | 4 | max:3.4028235*10^38 | min:1.4*10^-45 |
| double | 64 | 8 | max:1.7976931348623157*10^308 | min:4.9*10^-324 |
JAVA內部預設碰到浮點數即將該數值當作double型別,若以float型別變數承接會出現錯誤,若要使用float變數承接該數值則需要在該數值後加上f,或是在數值前加上(float)強制轉型。
-ASCII碼-
| bit | byte | 數值範圍 |
| char | 16 | 2 |
內容為7 或是 '\0007'時 使主機板蜂鳴器響
-布林代數-
| bit | byte | 數值範圍 |
| boolean | 1 |
初始值只能給 true/false
變數表:兩型態變數作算術運算後其內容型態會轉為此表相交錯的型態。例:byte+byte=int
| double | double | double | double | double | double | double |
| float | float | float | float | float | float | double |
| byte | short | int | long | float | double | |
| byte | int | int | int | long | float | double |
| short | int | int | int | long | float | double |
| int | int | int | int | long | float | double |
| long | long | long | long | long | float | double |
整數與浮點數型別的變數可以在變數前面加上"(型別)"強制將該變數轉換為指定的型別,要注意的是,若是由浮點數轉為整數,則其小數點後數字會被去除。
運算後的晉升、轉型問題
在算術運算時,需要注意的是型別轉換的狀況!
通常來說,兩個變數在做運算時,得出的答案都會升級到bit較大的型態,稱為晉升
所以要注意到承接兩變數運算結果的變數型態!
例如:一個int型態的A與一個byte型態的B做運算時,答案會變成int型態。
如果碰到浮點數,則結果以浮點數儲存。
單純碰到數值運算時,例如:X=9/3 其結果預設以int儲存。
單純碰到數值運算時,且需要取完整的浮點數時,則在其中之一個數值加上.0即可,
例如:x=10/4 直接這樣運算的結果會是2,若我們希望他出來的答案是2.5時,有兩種解決辦法
第一種:在10或是4的後方加上.0
第二種:在運算時(10/4)前方加上(float)或是(double)強制轉型成浮點數
單純做數值運算時,若其結果是浮點數,而我們卻只需要整數時,只須強制轉型成整數型態即可
沒有留言:
張貼留言