更新時(shí)間:2020-07-08 15:53:39 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2202次
變量的作用域
規(guī)定了變量所能使用的范圍,只有在作用域范圍內(nèi)變量才能被使用。根據(jù)變量聲明地點(diǎn)的不同,變量的作用域也不同。
根據(jù)作用域的不同,一般將變量分為不同的類型:類變量、局部變量、方法參數(shù)變量及異常處理參數(shù)變量。下面對這幾種變量進(jìn)行詳細(xì)說明。
類變量
類變量也稱為成員變量,聲明在類中,不屬于任何一個(gè)方法,作用域是整個(gè)類。
例1:假設(shè)在一個(gè)類中聲明了3個(gè)變量,下面編寫一個(gè)測試類輸出引起變量的值改變的示例代碼。變量聲明,實(shí)現(xiàn)代碼如下所示:
public?class?DataClass
{
int?price=100;?//定義類變量?price
price?String?name;?//定義類變量?name
name?int?num;?//定義類變量?num
}
測試類代碼如下所示:
public?class?Test
{
public?static?void?main(String[]?args)
{
DataClass?dc=new?DataCLass();
System.out.println("name="+dc.name);
System.out.println("num="+dc.num);
System.out.println("price="+dc.price);
}
}
運(yùn)行結(jié)果如下:
name=null
num=0
price=100
在第一段代碼中3個(gè)成員變量,并對其中第一個(gè)變量price進(jìn)行了初始化,而第二個(gè)name變量和第三個(gè)變量num沒有進(jìn)行初始化。由輸出結(jié)果可以看出,第一個(gè)變量的值為顯示初始化的值,第二個(gè)和第三個(gè)變量的值則為系統(tǒng)默認(rèn)初始化的值。
局部變量
局部變量是指在方法或者方法代碼塊中定義的變量,其作用域是其所在的代碼塊。
例2:聲明兩個(gè)局部變量并輸出其值,實(shí)現(xiàn)代碼如下:
public?class?Test2
{
public?static?void?main(String[]?args)
{
int?a=7;
if(5>3)
{
int?s=3;?//聲明一個(gè)int類型的局部變量
System.out.println("s="+s);
System.out.println("a="+a);
}
System.out.println("a="+a);
}
}
上述實(shí)例中定義了a和s兩個(gè)局部變量,其中int類型的a的作用域是整個(gè)main()方法,而int類型的變量s的作用域是if語句的代碼塊內(nèi),運(yùn)行結(jié)果如下:
s=3
a=7
a=7
方法參數(shù)變量
作為方法參數(shù)聲明的變量的作用域是整個(gè)方法。
例3:聲明一個(gè)方法參數(shù)變量,實(shí)現(xiàn)代碼如下:
public?class?Test3
{
public?static?void?testFun(int?n)
{
System.out.println("n="+n);
}
public?static?void?main(String[]?args)
{
testFun(B);
}
}
在上例中定義了一個(gè)testFun()方法,該方法中包含一個(gè)int類型的參數(shù)變量n,其作用域是testFun()方法體內(nèi)。當(dāng)調(diào)用方法時(shí)傳遞進(jìn)了一個(gè)參數(shù)3,因此其輸出控制臺(tái)的n值是3。
異常處理參數(shù)變量
異常處理參數(shù)變量的作用域是在異常處理塊中,該變量是將異常處理參數(shù)傳遞給異常處理塊,與方法參數(shù)變量類似。
例4:聲明一個(gè)異常處理語句,實(shí)現(xiàn)代碼如下:
public?class?Test4
{
public?static?void?test()
{
try
{
System.out.println("Hello!Exception!");
}
catch(Exception?e)
{?//異常處理塊,參數(shù)為?Exception?類型
e.printStackTrace();
}
}
public?static?void?main(String[]?args)
{
test();
}
}
在上例中定義了異常處理語句,異常處理塊catch的參數(shù)為Exception類型的變量e,作用域是整個(gè)catch塊。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“編程基礎(chǔ)內(nèi)容分享,Java變量的作用域”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743