天天看點

JAVA---常量與變量常量:變量:

常量:

概念:

  • 表示不能改變的數值

分類:

  • 整數常量---所有整數
  • 小數常量---所有小數
  • 布爾型常量---隻有兩個數值,true和false
  • 字元常量---将一個數字字母或者符号用單引号('')表示
  • 字元串常量---将一個或者多個字元用雙引号辨別
  • null常量---隻有一個數值就是null

定義格式:

  • 用final修飾(也稱最終變量)
  • 常量在聲明時必須賦初值,指派後不能再修改值
  • 常量名通常用全大寫字母表示
  • 聲明時需要添加final或static final類型修飾符,例如:
private final int PI=3.141596; //常量,類加載時确定或者更靠後确定值
private static final int PI=3.14159;//靜态常量(編譯期常量),編譯時就确定值(編譯為class檔案)
           

存儲區域:

  • 方法區

變量:

概念:

  • 記憶體中的一個存儲區域
  • 該區域有自己的名稱(變量名)和類型(資料類型)
  • 該區域的資料可以在同一類型範圍内不斷變化

為什麼要定義變量:

  • 用來不斷的存放同一類型的常量,并可以重複使用
  • 定義變量就是要告訴編譯器這個變量的資料類型,這樣編譯器才知道需要配置設定多少空間給它,以及它能存放什麼樣的資料。在程式運作過程中空間的值是變化的,這個記憶體空間就成為變量。為了便于操作,給這個變量取個名字,稱為變量名。

定義格式:

  • 資料類型 變量名 =初始值;

(ps:變量就如同數學的未知數)

成員變量和局部變量:

範圍:

  • 成員變量(在類體中所定義的變量為成員變量):在整個類中都有效
  • 局部變量(再類的方法内聲明變量,包括方法的參數都屬于局部變量):隻在目前定義的方法内有效,不能用于類的其他方法中。局部變量的生命周期取決于方法,當方法被調用時,Java虛拟機為方法中的局部變量配置設定記憶體空間,當該方法調用結束後,則會釋放方法中局部變量占用的記憶體空間,局部變量也将被銷毀。
  • 局部變量可與成員變量的名字相同,此時成員變量将被隐藏,即這個成員變量在此方法中暫時失效

初始值

  • 成員變量可以不賦初始值值,因為成員變量在堆中,會自動給變量賦初值
  • 局部變量必須賦初值,因為局部變量在棧中,不會為其自動賦初值

聲明周期

  • 成員變量:随着對象的消失而消失,會被jvm的垃圾回收器來回收掉
  • 局部變量:定義的時候産生,目前的方法的括号,語句塊的括号執行完畢就會消失

存儲位置

  • 成員變量:在堆中
  • 局部變量:在棧中

繼續閱讀