2009年9月30日 星期三

JAVA筆記:第三篇-變數型別

變數型別:

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)強制轉型成浮點數

  單純做數值運算時,若其結果是浮點數,而我們卻只需要整數時,只須強制轉型成整數型態即可

沒有留言:

張貼留言