標籤:
1.Java運行原理
編譯+解釋型語言:
程式碼經編譯後轉換為一種稱為java位元組碼(.class檔案)的中繼語言 file.java---》Class.class
java虛擬機器JVM將位元組碼解釋為機器碼,然後在電腦上運行。
編譯只進行一次,而解釋在每次運行程式時都會進行。
2.定義常量
聲明賦值常量 final type 標示符=值final float PI=3.1415926F;
規範:大寫表示 見其名知其意
3.變數
資料類型 變數名int age=25;
記憶體空間的值就是變數值
規則:
@1.變數名必須為一個有效標識符(字母 數字 底線和美元$符號不允許以數字開頭)
@2.不能聲明多個相同的變數名
@3.區分大小寫
@4.不能使用關鍵字
@5.選擇有意義的變數名
資料區分為堆區和棧區
變數的生命週期——從聲明一個變數並分配記憶體開始到釋放該變數並清除所佔用的記憶體空間結束
@成員變數
分為:靜態變數和執行個體變數
靜態變數——通過static修飾聲明
範圍:整個類,在類中聲明,整個類中有效。可以被類的所有執行個體共用存在於待用資料區
調用 : 類名.變數名
生命週期——載入類時為靜態變數分配空間記憶體(之後無論建立多少執行個體都不會再為靜態變數分配空間,所有執行個體公用同一靜態變數),
卸載類時,釋放靜態變數空間,靜態變數被銷毀。
@執行個體變數
範圍:與類的執行個體對應範圍為整個執行個體,每建立一個類的執行個體,就會為當前執行個體分配執行個體變數的記憶體空間,所以執行個體變數的生命週期取決於執行個體的生命週期,
聲明周期——執行個體被建立時,執行個體變數被分配記憶體空間,當銷毀時,釋放記憶體空間。
@局部變數
在方法內或方法內某代碼塊中聲明
(方法內指位於{}中的代碼)代碼塊中聲明的變數只在當前代碼塊中有效,在代碼塊外、方法內聲明的變數在整個方法內有效。
生命週期——方法被調用時,java虛擬機器為方法中的局部變數分配空間,方法調用結束後,方法中的局部變數記憶體空間釋放並被銷毀。
若成員變數與局部變數同名
若在方法中訪問該變數 針對的是方法中的局部變數。
類變數可在類中任何地方使用(一級一級向下)
而局部變數只能在方法中使用(一級一級向下)
代碼塊中的變數只能在代碼塊中使用。
在php中全域變數必須通過GLOBALS[]資料或global 聲明才能在方法中使用
注意:在聲明時,不能使用public protected private static對局部變數進行修飾
訪問局部變數時,不能通過類名或引用變數來訪問局部變數
Java常量和變數