byte 是一個單位元組整數,8位的有符號整數,也就是-127-127之間
byte b;
b=3;
b=b*3 //這裡JAVA自動進行了一次向上的類型轉換,將相X的結果轉換成了int類型,而將一個int賦給byte出現精度丟失
這裡有個知識點(類型自動轉換)b=b*3這裡,JAVA在編譯時間為了保證精度,會自動對byte進行向int的轉換,以保證結果的精度,所以實際上b*3之後的結果是一個int類型,而將一個int類型賦值給一個byte會導致精度丟失,因此這裡會編譯不通過。==>因此必須b=byte(b*3)
short 2位元組的整數16位 -32768-32767 有符號的兩位元組整數
int 4位元組的有符號整數
long 8位元組的有符號的整數
char 兩位元組,無符號的0-65535 儲存的時候以ASSC II碼來儲存
float 4位元組的無符號浮點數
一般的小數常量都是double類型,比如1.3所以準確表示是1.3f ,來表示他是float類型 4位元組和int的一樣的長度一共32位,第一位表示符號,2-9表示指數,後面23位表示小數部分。
double 和float一樣,只是8位的,對應於long
boolean 只有兩個值 true與false
數組 數組在定義的時候是不能分配空間的,所以不能寫int num[3]這樣的類似於C的寫法。
這是錯誤的
int num[] = new int[3]; //這樣是錯誤的,下面有正確的寫法
建議的方式是
int[] num;
定義的時候初始化數組
int[] num = {1,2,3} ;//這種方式定義的初始化,只能在定義的時候使用
而下面這種方式初始化是錯誤的
int[] num;
num = {1,2,3 }; // 如果你先定義在,然後在按上面的方法進行初始化是錯誤的。
還有另外一種定義數組
int[] num = new int[]{1,2,3};//定義的時候new
非常常用定義方法
int[] num;
num = new int[3]//分配三個空間
num[0] = 1;
num[1] = 2;
num[3] = 3; //用索引去賦值
二維數組
int[][] num;
num = new int[3][4];//訪問方式同C操作