1. 程式人生 > 其它 >學習JAVA的第一天——我的筆記**

學習JAVA的第一天——我的筆記**

技術標籤:Java程式設計WEB前端java程式語言監督學習web程式人生

  1. 環境變數配置:在path中加上jdk的安裝路徑 ;D:/Program Files/Java/jdk1.6/bin,新增CLASSPATH .; 表示從當前目錄中尋找要執行的
  2. javac是編譯,java是解釋,生成的.class檔案在JVM上執行
  3. 一個.java檔案只能有一個public class,並且檔名必須與類名相同,可以用class定義其他名字的類
  4. 類,介面,陣列是引用資料型別,其他是基本資料型別。
  5. 資料型別轉換。
    int i = 'a';i是a的ASSII碼值
    float f = (float)5/2;
  6. break:結束本層迴圈;continue
    :結束本次迴圈
  7. 陣列
    宣告:type var[]或者type[] var;宣告時不能指定大小;在棧記憶體中,預設值為null;
    建立陣列物件:使用new在堆記憶體中開闢空間;var = new type[10];
    二者用一條語句完成:type var[] = new type[10];
    動態初始化:先開闢陣列空間再賦值;
    靜態初始化:定義陣列的同時就分配空間並賦值;int i[] = {1,2,3};i.length表示陣列的大小;
    陣列的引用:int i[] = new int[10];int j[] = i;兩個陣列指向相同的記憶體空間,對二者的操作等價;引用傳遞實際上傳遞的是記憶體地址的使用權,從記憶體的角度考慮即可。
    複製陣列:
int source[] = {1,2,3,4,5,6} ;int dest[] = {11,22,33,44,55,66,77,88,99};
                    System.arraycopy(source,0,dest,0,source.length) ;
   陣列初始化及列印:
    public static void main(String args[])
    {
    // 呼叫init方法就可以為陣列初始化
     int i[] = init(20) ;
     // 列印陣列
     print(i) ;
    }
    //此方法可以為陣列初始化內容
// 0--> 1、1--> 2 public static int[] init(int len) { // java中的陣列是可以動態開闢的 int x[] = new int[len] ; // 進行陣列的初始化 for (int y=0;y<x.length;y++) { x[y] = y + 1 ; } return x ; } public static void print(int x[]) { for (int y=0;y<x.length;y++) { System.out.println("陣列["+y+"] = "+x[y]) ; } }
  1. 記憶體分析:
    ①棧stack:方法執行的記憶體模型,執行緒私有
    ②堆heap:存放建立好的物件和陣列,可以為所有執行緒共享(使用new)
    ③方法區method area:(靜態區)實際上也是堆
    存放程式中永遠不變的量,儲存類的相關程式

  2. 構造方法:
    方法名必須和類名相同
    通過new關鍵字呼叫
    構造器雖然有返回值,但是不能定義返回值的型別,(返回建立物件的地址)不能用return返回某個值
    如果沒有定義構造器,則編譯器會自動定義一個無參建構函式,如果已定義,不會自動新增

  3. this的本質:
    (當前物件的地址)
    ①區分區域性變數和成員變數
    ②呼叫過載的構造方法,並且只可出現在構造方法的第一句
    ③不能用在static類中

  4. static:
    修飾的成員變數和方法,從屬類;
    普通變數和方法,從屬物件。
    靜態方法中不可以找到非靜態方法,但是反之不可以包機制:
    處理類的資料夾(package)

  5. import:
    匯入類,在本類中則可以直接通過類名來呼叫
    Import static匯入靜態類
    注:若匯入兩個同名類,則使用包名+類名

  6. 繼承:
    ①只能單繼承,即只有一個父類
    ②子類呼叫父類,可以獲得父類的全部屬性和方法(除了父類的構造方法),但不見得可以直接訪問,如私有屬性和方法
    ③如果定義一個類時,沒有呼叫extends,則他的父類是java.lang.object

  7. 重寫:
    子類自身的行為替換父類
    ①方法名,形參列表相同
    ②返回值型別子類要小於父類

  8. Object:
    是Java的根基類

  9. Equal:
    物件內容是否相同(==是否同一個物件)

  10. Super:
    直接父類物件的引用,可以用來訪問被子類掩蓋的方法和屬性
    注:構造方法第一句總是super(…)