標籤:情況下 強制轉換 new t 簡寫 長度 棧記憶體 als 編譯 計算
1、變數:定義變數:【資料類型】 變數名 = 賦值(
這樣定義的變數一般屬於局部變數,放置在棧記憶體中);
2、標識符:可以有字母(可以使任意文字),數字,底線,$等組成;但是不能以數字開頭,不能是保留關鍵字,要求見名知意。
3、資料類型:byte,int,short,long,double,float,boolean。
a、其中byte,short,int類型三者不會發生相互轉換,但是三者在運算的時候會轉化成int類型。
b、在計算的時候容量小的會自動(ˇ?ˇ) 向容量大的轉換。如果需要把容量大的向容量小的轉化的話,需要強制類型裝換,某些情況下會損失精度。強制轉換:long n = 100L;int i = (int)n;
c、boolean只有true和false兩種值,做為判斷的條件。
4、運算子:+,-,*,/,%(模數),--,++。(需注意--,++,是在變數前面,還是在變數後面)。
5、賦值運算:=;注意不要用成關係運算子“==”;
6、關係運算子:>,<,>=,<=,!=,==;特別注意,不要把“==”使用成“=”;
7、邏輯運算子:&,|,!,^,&&(短路與),||(短路或)。
a、"^",異或,相同則為假,不用為真。
b、&和&&的區別:
&:先計算左邊,在計算右邊,然後再做與運算,得出結果。
&&:先計算左邊,判斷是否為真,為真在計算右邊運算式,為假則返回假,如果左邊的運算式為假則返回假,不用在計算右邊運算式。
8、位元運算:其是按位元運算,~(按位取反),|,&;
9、移位元運算:a<<b:a向左移b位,移出的低位補0;
a>>b向右移b位,移出的位補上原來的符號位;(帶符號的移位)
a>>>b向右移b位,移出的位補0;(不帶符號的移位)
10、三目運算子:x?y:z;x為真則輸出y條件,x為假則輸出x條件。
註:對於其中運算的優先順序,不要死記,請用括弧區別。
11、數組:作為儲存大資料的工具,其作為一種資料類型,但是本身其就是一種引用資料類型,也就是類指標。
靜態初始化:int [ ] Arr; //定義數組名
Arr = new int [ ] { 資料 } // 初始化,建立一個新的數組記憶體空間,並且分配3個記憶體空間,為其賦初始化值。 初始化還可以簡寫成:Arr = {資料}。
動態初始化:type Arr =new type [length] --> 在定義的時候就已經指定了數組長度,分配記憶體空間,但是由系統分配初始值。
注意:
1、數組的儲存是分成兩部分的,數組名存在棧記憶體中,可以直接引用;初始化的資料存在堆記憶體中,不可以直接引用,只有通過數組名才能引用才能使用堆記憶體中定義的資料。
2、當引用的數組的下標超出定義之後,編譯時間不會報錯,但是運行時會拋出異常,Array index out of Bounds Exception;(數組越界異常)。
3、引用了一個沒有初始化的數組的話,同樣編譯的時候不會報錯,但是運行時會報null 指標異常。
java入門學習(2)—基礎資料型別 (Elementary Data Type)