天天看點

java基礎知識

常量與變量

     java語言是強類型語言,對于每一種資料都定義了明确的具體資料類型,在記憶體中配置設定了不同大小的記憶體空間。

    在java中,整數預設為int型,是以:byte b=3; b=b+2; 第一句不錯,第二句會出錯。因為java是強類型語言。應改為:byte b=3; b=(byte)(b+2);

    小數預設為double型,是以:float f=2.3; 會出錯。應為:float f=2.3f;

    布爾類型值為:true和false

        boolean b1=true;    boolean b2=false;

運算符

    算術運算符   如:+,-

    指派運算符   如:=,+=

    比較運算符   如:==,!=,<,>,

    邏輯運算符   如:&,|,!,^(異或),&&,||

    位運算符       如:<<,>>,>>>,&,|,^,~

    三元運算符   為:(條件表達式)?x:y

    算術運算符        

        字元串資料和任何資料使用“+”相連接配接,最終都會變成字元串。

    轉義字元

       通過'\'來轉變後面字母或者符号的含義。如:\n:換行;\b:倒退,相當于backspace。\r:Enter鍵;\t:制表符,相當于tab鍵。

        在linux中換行由一個字元表示:\n

        在windows中,換行,回車符是由兩個字元來表示:\r\n

        在dos裡,可直接識别\n   

        char c='我';      這樣在java中是可以的,因為char為兩個位元組,而一個漢字也為兩個位元組。  

    指派運算符

        short s=4;  //沒有錯,4為整型,s為short型,隻要右側數在short的範圍内,指派運算符會自動完成類型轉換。

        s=s+5;    //會出錯,因s+5時,s會轉換變為int型,與int型5相加,結果為int型,此時将int型賦給short型變量s,會裝不下,易精度丢失,是以會出錯。

        s+=5;    //不會出錯,因為+=是一個指派運算符,負責指派,内部會自動轉換。

    邏輯運算符

        作用:用于連接配接boolean類型的表達式

        &和&&的差別:

            &:無論左邊是true還是false,右邊都運算。

            &&:當左邊為false時,右邊不運算了。

        | 和|| 的差別:

            |:兩邊都參與運算。

            ||:當左邊為true,右邊不運算。

    位運算符

         >>: 最高位補什麼,由原有資料的最高位決定,

               如果最高位為0,右移後,用0補;

               如果最高位為1,右移後,用1補。

        >>>: 無論最高位是什麼,右移後,都用0補。         

        3<<2; 表示左移2位,右邊補0,結果為3*4=12;

        6>>2; 表示右移2們,左邊補0,結果為6/4=1;

        -6>>2; 表示左邊最高位補什麼,和原來最高位的值相同。

        取反:~6=-7;

        7^4^4=7;   一個數異或同一個數兩次,結果還是那個數。

程式流程控制

    順序結構

    判斷結構   如: if語句

    選擇結構

    循環結構

    if...else語句與三元運算符的差別

    三元運算符,

        好處:可以簡化if...else代碼

        弊端:因為隻要是運算符,運算完必須要有一個結果,而輸出語句是輸出到終端,沒有結果。

數組

數組定義:

    格式1:

    元素類型[] 數組名=new 元素類型[元素個數或數組長度]

        如:int[] x= new int[3]; 

    數組名x不是int型,為數組類型,即引用類型。

    棧區:資料使用完畢,會自動釋放。

    堆區:1. 如new配置設定的空間,由垃圾回收機制釋放,不需程式員自己釋放(優于c++)。2. 堆記憶體中配置設定好的記憶體有預設值,int型預設為0,float預設為0.0,double預設為0.0,布爾類型預設為false。

    格式2,靜态初始化:

    元素類型[] 數組名 = new 元素類型[]{元素,元素,... ...}    

        如:int[] arr = new int[]{1,2,3,4};     或   int[] arr = {3,5,1,7}         

    冒泡排序:相鄰的兩個元素進行比較,如條件符合換位,第一圈比較完,最值出現在最後位。

    排序算法中,效率最高的是希爾排序