第二章 基礎知識(1)

Mr-Wanter發表於2018-06-14

1、命名規範

  1. 包名都小寫 com.companyname.xxxx
  2. 類名、介面名所有單詞首字母大寫 HelloWorld
  3. 變數名、方法名駝峰命名法 getData
  4. 常量名都大寫,多個單詞下劃線分開 FILE_PATH、JAVA_HOME

2、資料型別


資源分配



資料型別

2.1 Q&A

1、什麼是值型別、引用型別? 值型別:基本資料型別;引用型別:除了基本資料型別之外的;

2、值型別儲存在棧中,棧中分配記憶體空間,直接儲存所包含的值,其值就代表資料本身。值型別的資料具有較快的存取速度。

3、引用型別儲存在堆中。在堆中分配記憶體空間,不直接儲存所包含的值,而是指向所要儲存的值,其值代表的是所指向的地址。

4、Java中有垃圾回收機制,棧記憶體中的變數隨著方法的結束記憶體自然銷燬了,而用引用型別的時候,當方法結束的時候,這個物件可能被另一個引用型別所應用,不會銷燬,只有當一個物件沒有任何引用變數引用的時候,垃圾回收機制才會回收。

    java    18行
public class Test {  
    public static void main(String[] args) {  
        //記憶體劃分為棧記憶體(小)和堆記憶體(大)  
        // 值型別  
        int i=10;//儲存在棧記憶體  
        int m=i;//把值複製給m  
        i=11;  
        System.out.println("m="+m+"i="+i);  
          
        //引用型別;除了基本資料型別,陣列,String,類  
        //實際內容存在堆,棧裡只存對應到堆的地址  
        int[] a= new int[]{1,2,3,4};  
        int[] b=a;//把對應到堆的地址給了b  
        a[2]=100;  
        System.out.println("b[2]="+b[2]);  
    }  
} 

5、自動資料型別轉換:容量小轉容量大的型別會自動升級
char、byte、short ==>int ==>long ==>float ==>double
char、byte、short之間的運算都會自動換為int型別

6、從左到右執行


7、前++:先自增再運算;後++:先運算再自增


3、賦值運算子

+=、-=、*=、/=、%=
既可以實現運算,又不更改後設資料的資料型別

    java    9行
int i=10;
i +=10;//此時i=20,相當於 i=i+10;

short s=10;
s +=10//此時s=20,型別為short,相當於 s=(short)(s+10);

int k=1;
k *=0.1;//k=?  k = (int)(k *0.1) = 0