Java中變數的使用
1.java中變數的介紹
程式的基本功能是處理資料,程式用變數來接收並表示資料,程式中必須先定義變數才能使用;
定義變數是指設定變數的資料型別和變數的名字,Java語言要求變數遵循先定義->再初始化->然後使用的規則。
變數的使用有一個作用域的問題,作用域是指它的存在範圍,只有在這個範圍內,程式程式碼才能訪問它。其次,作用域決定了變數的生命週期。變數的生命週期是指從一個變數被建立並分配記憶體空間開始,到這個變數被銷燬並清除其所佔用記憶體空間的過程。當一個變數被定義時,它的作用域就被確定了。按照作用域的不同,
變數可分為以下型別:
. 成員變數:在類中宣告,它的作用域是整個類;成員變數又叫做屬性/例項變數
. 區域性變數:在一個方法的內部或方法的一個程式碼塊的內部宣告。如果在一個方法內部宣告,它的作用域是整個方法;如果在一個方法的某個程式碼塊的內部宣告,它的作用域是這個程式碼塊。程式碼塊是指位於一對大括號"{}"以內的程式碼。
. 方法引數:方法或者構造方法的引數,它的作用域是整個方法或者構造方法。
. 異常處理引數:和方法引數很相似,差別在於前者是傳遞引數給異常處理程式碼塊,而後者是傳遞引數給方法或者構造方法。異常處理引數是指catch(Exception e)語句中的異常引數"e",它的作用域是緊跟著catch(Exception e)語句後的程式碼塊。
2.區域性變數
1) 定義在方法的內部或方法的一個程式碼塊的內部;
public void method1() {
int a = 0; //區域性變數,作用域為整個method01方法;
if(a==0)
{
int b = 0; //區域性變數,作用域為所處的程式碼塊;
b = a;
}
b = 20; //編譯出錯,b不能被訪問
}
2) 區域性變數沒有預設值,使用之前必須先初始化;
3) 生命週期
從宣告開始,到這個區域性變數直接所在的程式碼塊結束為止
public class Sample {
public int add() {
int addResult = 1; //定義addResult變數
addResult = addResult+2;
return addResult;
}//區域性變數生命週期結束
public int subtract() {
int subResult = 1; //定義subResult變數
subResult = subResult-2;
return subResult;
}
public static void main(String[] args) {
Sample s = new Sample();
s.add();
s.add();
}
}
3.例項變數
1) 在類中宣告,它的作用域是整個類;
class Test {
private int n1=0;
private int n2=0;
public int add() {
int result = n2 + n2;
return result;
}
}
2) 例項變數有預設值,使用之前無須初始化;
注意每種變數的預設值
基本型別中的:
整型變數預設值都為0
浮點型預設值都為0.0
char預設值'\u0000'
boolean預設值false
引用型別的預設值都為null
3) 生命週期
從類的一個物件被建立開始,到這個物件被銷燬
class Test {
private int n1=0;
private int n2=0;
public int add() {
int result = n2 + n2;
n1 = n1+1;
n2 = n2+2;
return result;
}
public static void main(String[] args) {
Test t1 = new Test();
Test t2 = new Test();
t1.add();
t1.add();
t2.add();
}
}
以上就是變數的介紹