@value 静态变量_Java中的变量——通过示例学习Java编程(4)
作者:CHAITANYA SINGH
來源:
通過示例學習Java編程(4):Java中的變量-方家話題?www.koofun.com變量是用來存放可以更改的值的容器。例如,當我寫int i = 10; 這里變量名是i,它與值10相關聯,int i是表示該變量i可以存放整數值的數據類型。 我們將在下一個教程中介紹數據類型。 在本教程中,我們只討論變量。
如何在Java中聲明變量
要聲明變量,請遵循以下語法:
1data_type variable_name = value;
這里的data_type表示數據類型,variable_name代表變量名字,value代表具體的數值。這個語句data_type variable_name的意思就是聲明(宣布)一個叫variable_name的變量,這個變量的數據類型是data_type。后面的variable_name = value表示把數值value放到variable_name這個變量里面。在java編程中,您也可以先聲明變量,然后再將值賦值給它,這樣下面的兩條語句可以起到和上面的一條語句一樣的作用:
data_type variable_name;variable_name = value;
我們看這個例子:
int num;
這里num是變量名(變量命名一定要貼近變量的作用,這里num是數字這個單詞number的頭三個字母,表示用來存放數字),int是整數型數據類型,這條語句的意思就是聲明或宣布一個類型為整數型(int)的變量num。數據類型有很多種,最常見的是int(整數,如10,120,130,等等)和char(字符,如'A','B',等等)。int表示整數,是integer(整數)的前三個字母,char表示字符,是character(字符)的前二個字母。具體的各種數據類型我們在后續的教程里面還會有詳細的討論,所以不要太擔心它,只需了解到int num的意思就是聲明一個數據類型是int的變量num,這個num變量里面只能保存整數值。
類似地,我們可以在聲明變量時將值賦值,如下所示:char ch = 'A';int number = 100;
或者我們可以這樣做:char ch;int number;...ch = 'A';number = 100;
java中的變量命名規則:
1)變量命名不能包含空格,例如:int num ber=100;因為變量名中有空格,因此無效。
2)變量名可以特殊字符(如$和_)開頭。
3)根據java編碼標準,變量名應該以小寫字母開頭,例如int數;對于有多個單詞的長變量名稱,可以這樣做:int smallNumber;int bigNumber;(變量名里面第一個字母要小寫,后面的單詞的第一個字母要大寫,如smallNumber變量名里面,單詞small的s要小寫,但后面的單詞number的第一個字母N要大寫)。
4)變量名在Java中要區分大小寫,意思就是如果兩個變量即使字母一模一樣,但如果其中的字母有大小寫的不同,也表示這是兩個不同的變量。例如,smallN和smalln由于最后的字母一個是大寫N,一個是小寫n,就表示這是兩個不同的變量。
Java中的變量類型,共有三種:
1)局部變量(Local variable)
2)靜態(或類)變量(Static or class variable)
3)實例變量(Instance variable)
靜態(或類)變量(Static or class variable)
靜態變量也稱為類變量,因為它們與類相關聯,并且對于所有的類實例(class instance),也稱為對象(object),都是通用的。 例如,如果我創建一個類的三個對象并訪問這個類的靜態變量,那么對這個類所有的三個對象來說,結果都是一樣的。如果通過某個對象改變了靜態變量的值,那么在這個類所有的三個對象看來,這個靜態變量的值都改變了。
靜態變量示例public class StaticVarExample {public static String myClassVar="class or static variable(類或靜態變量)";public static void main(String args[]){StaticVarExample obj = new StaticVarExample();StaticVarExample obj2 = new StaticVarExample();StaticVarExample obj3 = new StaticVarExample();//下面三行代碼顯示以下文字: "class or static variable(類或靜態變量)"System.out.println(obj.myClassVar);System.out.println(obj2.myClassVar);System.out.println(obj3.myClassVar);//下面代碼通過調用對象obj2來改變靜態變量myClassVar的值obj2.myClassVar = "Changed Text(這是更新后的文字)";//下面三行代碼都可以顯示以下文字:"Changed Text(這是更新后的文字)"System.out.println(obj.myClassVar);System.out.println(obj2.myClassVar);System.out.println(obj3.myClassVar);}}
輸出文字:
class or static variable(類或靜態變量)class or static variable(類或靜態變量)class or static variable(類或靜態變量)Changed Text(這是更新后的文字)Changed Text(這是更新后的文字)Changed Text(這是更新后的文字)
正如您所看到的,所有三個語句都顯示相同的輸出結果,而不管通過哪個實例訪問它。這就是為什么我們可以訪問靜態變量而不使用這樣的對象:
System.out.println(myClassVar);
請注意,只有靜態變量才能像這樣訪問。例如,這種訪問方法不適用于局部變量。
實例變量(Instance variable)
類的每個實例(對象)都有自己的實例變量副本。 與靜態變量不同,實例變量擁有自己獨立的實例變量副本。 我們在下面的程序中使用對象obj2更改了實例變量值,當我們使用所有三個對象顯示變量時,只有obj2值被更改,其他二個對象的值保持不變。 這表明它們有自己的實例變量副本。
實例變量示例public class InstanceVarExample {String myInstanceVar="instance variable(這是實例變量)";public static void main(String args[]){InstanceVarExample obj = new InstanceVarExample();InstanceVarExample obj2 = new InstanceVarExample();InstanceVarExample obj3 = new InstanceVarExample();System.out.println(obj.myInstanceVar);System.out.println(obj2.myInstanceVar);System.out.println(obj3.myInstanceVar);obj2.myInstanceVar = "Changed Text(這是更新后的文字)";System.out.println(obj.myInstanceVar);System.out.println(obj2.myInstanceVar);System.out.println(obj3.myInstanceVar);}}
輸出文字:
instance variable(這是實例變量)instance variable(這是實例變量)instance variable(這是實例變量)instance variable(這是實例變量)Changed Text(這是更新后的文字)instance variable(這是實例變量)
局部變量(Local variable)
在類的方法中聲明的變量叫做局部變量,它們的使用范圍僅限于方法內部的代碼,這意味著您不能在方法之外的地方寫代碼來更改或訪問在方法中聲明的局部變量的值。
在本例中,為了演示局部變量的作用域,我聲明了與局部變量同名的實例變量,來看看有什么效果。
局部變量示例
public class VariableExample {// instance variablepublic String myVar="instance variable(這是實例變量)";public void myMethod(){// local variableString myVar = "Inside Method(進入方法內,這是局部變量)";System.out.println(myVar);}public static void main(String args[]){// Creating objectVariableExample obj = new VariableExample();/* We are calling the method, that changes the * value of myVar. We are displaying myVar again after * the method call, to demonstrate that the local * variable scope is limited to the method itself.*/System.out.println("Calling Method(開始調用方法)");obj.myMethod();System.out.println(obj.myVar);}}
輸出文字:Calling Method(開始調用方法)Inside Method(進入方法內,這是局部變量)instance variable(這是實例變量)
注意在方法之外的代碼語句是不能更改和訪問方法之內聲明的局部變量的,如果我在類的代碼中沒有聲明實例變量myVar,只在類的某個方法中聲明了局部變量myVar,那么語句System.out.println(obj.myVar)就會引發編譯報錯。
總結
以上是生活随笔為你收集整理的@value 静态变量_Java中的变量——通过示例学习Java编程(4)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有银行流水可以办信用卡吗?怎么办理?
- 下一篇: java美元兑换,(Java实现) 美元