更新時間:2022-08-22 11:39:57 來源:動力節(jié)點 瀏覽1395次
Java中的變量是一個數(shù)據(jù)容器,在Java程序執(zhí)行期間保存數(shù)據(jù)值。每個變量都被分配了一個數(shù)據(jù)類型,該數(shù)據(jù)類型指定了它可以保存的值的類型和數(shù)量。變量是數(shù)據(jù)的內(nèi)存位置名稱。
Java變量是賦予內(nèi)存位置的名稱。它是程序中存儲的基本單位。
存儲在變量中的值可以在程序執(zhí)行期間更改。
變量只是賦予內(nèi)存位置的名稱。對變量執(zhí)行的所有操作都會影響該內(nèi)存位置。
在 Java 中,所有變量都必須在使用前聲明。
我們可以在 Java 中聲明變量,如下圖所示作為視覺輔助。
從圖中可以很容易地看出,在聲明一個變量時,我們需要注意兩件事:
1. datatype:可以存儲在這個變量中的數(shù)據(jù)類型。
2. data_name:賦予變量的名稱。
這樣,只能給內(nèi)存位置起一個名字。可以通過兩種方式為其賦值:
變量初始化
通過輸入賦值
可以借助以下 3 個組件來感知它:
datatype:可以存儲在此變量中的數(shù)據(jù)類型。
variable_name:賦予變量的名稱。
value:它是存儲在變量中的初始值。
插圖:
浮動簡單利息;
// 聲明浮點變量
int 時間 = 10,速度 = 20;
// 聲明和初始化整型變量
char var = 'h';
// 聲明和初始化字符變量
現(xiàn)在讓我們討論不同類型的變量, 如下所示:
局部變量
實例變量
靜態(tài)變量
讓我們詳細討論這里列出的每種變量的特征。
1. 局部變量
在塊、方法或構造函數(shù)中定義的變量稱為局部變量。
這些變量在進入塊時創(chuàng)建,或者函數(shù)在退出塊后被調(diào)用和銷毀,或者調(diào)用從函數(shù)返回時被創(chuàng)建。
這些變量的作用域只存在于聲明變量的塊內(nèi),即我們只能在該塊內(nèi)訪問這些變量。
在定義的范圍內(nèi)使用局部變量之前,必須對其進行初始化。
/*package whatever //do not write package name here */
// Contributed by Shubham Jain
import java.io.*;
class GFG {
public static void main(String[] args)
{
int var = 10; // Declared a Local Variable
// This variable is local to this main method only
System.out.println("Local Variable: " + var);
}
}
輸出
局部變量:10
2. 實例變量
實例變量是非靜態(tài)變量,并且在任何方法、構造函數(shù)或塊之外的類中聲明。
由于實例變量是在類中聲明的,因此這些變量在創(chuàng)建類的對象時創(chuàng)建,并在對象被銷毀時銷毀。
與局部變量不同,我們可以對實例變量使用訪問說明符。如果我們不指定任何訪問說明符,則將使用默認訪問說明符。
實例變量的初始化不是強制性的。它的默認值為 0。
實例變量只能通過創(chuàng)建對象來訪問。
/*package whatever //do not write package name here */
import java.io.*;
class GFG {
public String bjpowernode; // Declared Instance Variable
public GFG()
{ // Default Constructor
this.bjpowernode = "動力節(jié)點"; // initializing Instance Variable
}
//Main Method
public static void main(String[] args)
{
// Object Creation
GFG name = new GFG();
// Displaying O/P
System.out.println("bjpowernode name is: " + name.bjpowernode);
}
}
輸出
bjpowernode名字是:動力節(jié)點
3. 靜態(tài)變量
靜態(tài)變量也稱為類變量。
這些變量被聲明為實例變量。不同之處在于靜態(tài)變量是在任何方法、構造函數(shù)或塊之外的類中使用 static 關鍵字聲明的。
與實例變量不同,每個類只能擁有一個靜態(tài)變量的副本,而不管我們創(chuàng)建了多少對象。
靜態(tài)變量在程序執(zhí)行開始時創(chuàng)建,并在執(zhí)行結束時自動銷毀。
靜態(tài)變量的初始化不是強制性的。它的默認值為 0。
如果我們訪問像實例變量這樣的靜態(tài)變量(通過對象),編譯器將顯示一條警告消息,該消息不會停止程序。編譯器會自動將對象名替換為類名。
如果我們訪問一個沒有類名的靜態(tài)變量,編譯器會自動附加類名。
/*package whatever //do not write package name here */
import java.io.*;
class GFG {
public static String bjpowernode = "動力節(jié)點"; //Declared static variable
public static void main (String[] args) {
//bjpowernode variable can be accessed without object creation
//Displaying O/P
//GFG.bjpowernode --> using the static variable
System.out.println("bjpowernode Name is : "+GFG.bjpowernode);
}
}
輸出
bjpowernode名字是:動力節(jié)點
現(xiàn)在讓我們討論實例變量和靜態(tài)變量之間的區(qū)別:
每個對象都有自己的實例變量副本,而每個類只能有一個靜態(tài)變量的副本,無論我們創(chuàng)建了多少對象。
使用一個對象對實例變量所做的更改不會反映在其他對象中,因為每個對象都有自己的實例變量副本。在靜態(tài)變量的情況下,更改將反映在其他對象中,因為靜態(tài)變量對類的所有對象都是通用的。
我們可以通過對象引用來訪問實例變量,靜態(tài)變量可以直接使用類名來訪問。
語法:靜態(tài)和實例變量
GFG 類
{
// 靜態(tài)變量
靜態(tài)整數(shù)一個;
// 實例變量
詮釋 b;
}
以上就是關于“Java中的變量介紹”,大家如果想了解更多相關知識,可以關注一下動力節(jié)點的Java視頻教程,里面的課程內(nèi)容從入門到精通,細致全面,通俗易懂,很適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助哦。