Java中變量的範圍[帶有編碼示例]

已發表: 2021-02-05

目錄

介紹

程序員在 Java中定義變量的範圍,告訴編譯器變量可訪問或可見的區域。 Java 中變量的範圍本質上是靜態的。 這意味著我們只需要在編譯時聲明它。 在本文中,您將了解 Java 變量的範圍及其類型。

Java中變量的作用域是什麼?

編程語言中使用的每個變量都有一個作用域。 作用域告訴編譯器程序中可以訪問或使用變量的段。 在 Java 變量的情況下,程序員可以對變量進行詞法或靜態作用域。

靜態範圍變量意味著程序員必須在編譯時而不是在運行時確定 Java 中變量的範圍。 另外,請注意,每個類都是 Java 包的一部分。 這歸結為 Java 中變量的兩種不同類別的範圍

1.具有類作用域的成員變量:成員變量是類的成員,因此在類內部聲明,但不在任何方法或函數內部。 因此,我們可以將變量作用域稱為類作用域或類級作用域。 程序員在類的花括號 ( {} ) 中聲明這些變量以及訪問修飾符。 程序員可以在 Java 類的任何地方使用這些變量,但不能在它之外使用。

例子:

公共類 EgOfClassScope {

私人整數 amt = 10;

公共無效 egMethod() {

上午 += 10;

}

公共無效另一個示例方法(){

整數 AmtIncr = amt + 6;

}

}

我們可以看到在類的所有方法中都可以訪問“amt”變量。 如果我們使用 public 訪問修飾符而不是 private,則該變量將可以從包中的任何位置訪問。

修飾符 包子世界

民眾 是的 是的 是的

受保護 是的 是的

默認(無
修飾符)

私人的

2.局部作用域或方法作用域:程序員可以在具有較小範圍的局部作用域中聲明局部變量(假設在方法內)。 程序員不能從 Java 方法之外訪問這些變量,即使在同一個類中也是如此。 它們在可訪問性方面有限制,並且它們的可見性在 Java 方法的範圍結束時結束。

示例 1:

公共類 EgOfMethodScope {

公共無效FirstMethod(){

整數工資 = 6000;

}

公共無效第二方法(){

// 這會遇到一個編譯時錯誤,說:area cannot be resolve to a variable

工資 = 工資 + 2000;

}

}

它是方法範圍的示例。 在這裡,我在 FirstMethod(){....} 中創建了變量“salary”。 因此,它的作用域在 FirstMethod() 的末尾結束。 因此,在 SecondMethod() 中使用此變量將產生錯誤,因為變量“salary”超出範圍。

示例 2:

類 EgOfMethodScope2

{

私人int g;

公共無效集G(int g)

{

這個.g = g;

}

}

在這裡,我們使用 'this' 關鍵字來區分本地範圍和類變量的範圍。 程序員使用這個關鍵字來指向當前對像作為引用變量。 在這裡,程序員將變量作為參數傳遞給方法。

請注意,一旦方法執行結束,局部變量將不存在。 Java 方法中使用了其他形式的本地範圍,但在其中的特定部分。

  • 循環範圍:在某些情況下,我們在循環內聲明變量。 此類變量將具有循環範圍,並且只能從循環內訪問。

例子:

公共類 EgOfLoopScope {

List<String> listOfEmp = Arrays.asList (“Karlos”, “Gaurav”, “Sue”, “Dee”);

公共無效 iterateEmpName() {

字符串全部=“”;

for(字符串名稱:listOfEmp)

{ // 循環的範圍從這裡開始

全部=全部+“”+名稱;

} // 循環範圍到此結束

// 你會遇到編譯時錯誤:name cannot be resolved to a variable – if you try to access the variable in the next line

字符串 lastEmpName = 名稱;

}

}

在這個方法 iterateEmpName() 中,變量 'names' 有一個循環範圍(因為它是一個計數器變量)並且可以在 'for' 語句的 { 和 } 中訪問。

  • 括號範圍:程序員可以在程序中的任何地方定義額外的範圍。 程序員可以使用 { 和 } 括號定義這個額外的範圍。

例子:

公共類 EgOfBracketScope {

公共無效EgAddOp(){

整數 tot = 0;

{ // 括號從這裡開始

整數編號 = 6;

tot = tot + 否;

} // 括號範圍到此結束

// 它會產生一個編譯時錯誤,說:number cannot besolved as a variable – if used in the next line

不- ;

}

}

Java中變量作用域的要點

  • 與其他編程語言(C、C++ 和 C#)一樣,我們必須使用一組大括號( { 和 } )來定義 Java 中變量的範圍。
  • 如果我們在任何方法範圍之外的類中定義變量,我們可以從任何方法訪問變量。
  • 要在循環終止後使用變量,我們必須在循環體之前或上方聲明它。
  • 但是如果沒有構造函數、Java 方法和塊,我們就無法實現或訪問它。
  • 靜態變量的範圍僅駐留在類中。
  • 範圍定義了程序中可以訪問變量的區域。

從世界頂級大學在線學習軟件開發課程獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

結論

本文展示了程序員如何使用 Java 作用域來編寫不同的程序。 它還告訴我們程序中變量可見的區域。 由於範圍的概念,可訪問性和可見性在編程中都起著重要作用。 定義變量範圍的任何單一錯誤都可能導致程序員出現編譯時錯誤。

如果您想提高您的 Java 技能,您需要掌握這些 Java 項目。 如果您有興趣了解有關 Java、全棧開發的更多信息,請查看 upGrad 和 IIIT-B 的全棧軟件開發執行 PG 計劃,該計劃專為工作專業人士設計,提供 500 多個小時的嚴格培訓、9 個以上的項目,和任務、IIIT-B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。

Java中的變量作用域是什麼?

變量的作用域是程序中可以引用它的地方。 變量範圍使用變量聲明中的“範圍”關鍵字指定。 可以在“任何”範圍內訪問的變量絕對可以在程序中的任何位置訪問。 只能在特定範圍內訪問的變量只能在該範圍內訪問。 範圍可以是函數、塊、方法、類,或者在所有方法、塊和類之外。

Java 中的訪問修飾符有哪些類型?

Java 中有四種類型的訪問修飾符:public、protected、default(包)和 private。 public 使變量、類或函數可以在任何地方訪問,protected 使定義它的類及其子類可以訪問,默認(包)使同一包中的任何類都可以訪問它,private 使只有它可以訪問定義它的類。

Java中的靜態關鍵字是什麼?

Java 類中的 static 關鍵字表示這樣聲明的類不是該類的實例,而是一個類本身。 類的靜態數據成員對所有實例都是通用的。 static 關鍵字用於訪問類的靜態方法和字段。 在 Java 中,static 關鍵字用於訪問類的靜態方法和字段。 要訪問類的靜態方法和字段,您應該使用類的名稱、點 (.) 以及靜態方法或字段名稱。