一. Java
1.變數定義:一個由標識符定義的資料項目,包括類型、名稱和值三個部分
2.變數分類:
類型 |
大小 |
說明 |
byte |
1位元組(8位) |
範圍:-128~127,常用於位元組數組,如將數字存入位元組數組(見小練習2),將字串轉換成位元組數組(見codeh). |
short |
2位元組(16位) |
範圍:-32767~32768 |
int |
4位元組(32位) |
int是整形的預設類型,即所有初始化的整形都是int型,如 byte i = 22; byte j = 3; i + j 和5不是byte型而是int型 |
long |
8位元組(64位) |
如果將一個整數定義成long型必須在數後加L或l,如256L |
float |
4位元組(32位) |
浮點數類型,如果將整數或浮點定義為float類型,則其後要加f,因為浮點預設類型是double,將整形賦值給float時,如果整形的位元超過32則需加f,否則不f也可以 |
double |
8位元組(64位) |
浮點數類型的預設類型,但double類型後可以加D也可不加 |
char |
2位元組(16位) |
用於存放字元,表示Unicode編碼錶中的字元,佔兩個位元組,其中英文字元和數字在儲存時只佔其中的一個位元組,而漢字佔兩個位元組,char可以和int互相轉換。可以賦值為:’ ’但是不可以是’’,可以用ASCII碼標識字元,範圍:01~255,在用字元判斷範圍時常用到ASCII碼。 |
boolean |
1/8位元組(1位) |
有兩個值:true,false 可以和0、1互換,是boolean類型的最小定址空間是1byte,即佔用空間1byte,但是只佔其中的1位。 |
註:雖然float和int位元相同,double和long的位元相同,但是int和long均沒有float
和double表示的範圍大,因為double和float有小數位。
3.資料類型的轉換
說明:
較小的類型可以直接賦值給較大的類型,如byte i = 8; int j= i; 較大的類型賦值給較小的類型需要強制轉換,如int m = 256;byte n = (int)m;但是此時會損失精度,因為byte最多儲存8位,但是如果m不超過8位,就不會損失精度。圖示如下:
256:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 (32位)
強制轉換成byte型只剩8位0 0 0 0 0 0 0 0 就變成了0,隨時精度,其它幾種數實值型別也是如此(包括char轉換成數值型)。