我們都知道既然有前端語言就有后端語言,那么我們今天就來說說后端語言java中有關(guān)于“在JAVA中全局變量怎么聲明與定義?”這個問題吧!下面是相關(guān)內(nèi)容和資料,希望可以幫助到大家。
在java中我們知道對于全局變量來說可以分為這兩種:靜態(tài)變量和實例變量;那么對于在類體中定義的變量我們需要注意這三點:
1、成員變量不可以在類體中先聲明之后在復(fù)制,但是在靜態(tài)變量中是可以先在類體中聲明之后在進行賦值的,當(dāng)然我們的實例變量是不行的,我們來看看下面這個代碼:
public class Test {
static int a; //在類體中聲明整型靜態(tài)變量a。
int b; //在類體中聲明整型實體變量b。
a=3; //在類體中對靜態(tài)變量a賦初值。
b=5; //在類體中對實體變量b賦初值。
public static void main(String[] args) {
System.out.println("a+b="+(a+b));
}
}
對于這個程序我們是會出現(xiàn)問題,那么就有人會說為什么在 java 中全局變量不能先聲明在賦值了,我們來看下面的這個代碼:
public class Test{
int i;
{i = 3;} //寫在{}里就可以了(這種代碼塊優(yōu)先于構(gòu)造方法執(zhí)行)
}
在代碼中?i=3
?這個是我們的賦值語句,不能單獨的出現(xiàn)在方法或者?“{ }”
?以外的地方,所以我們將代碼改成上面的樣式就可以了,我們在回過頭來看下面這個代碼就是可以運行的了:
public class Test {
static int a; //在類體中聲明整型靜態(tài)變量a。
public static void main(String[] args) {
a=3; //在方法中對靜態(tài)變量a賦值。
System.out.println("a="+a);
}
}
我們來對比一下如果沒有在類體中聲明靜態(tài)變量的話就會報錯,代碼如下所示:
public class hello {
int a; //在類體中聲明整型實體變量a。
public static void main(String[] args) {
a=3; //在方法中對實體變量a賦值。
System.out.println("a="+a);
}
}
2、成員變量可以在類體中聲明的時候同時賦值
我們來看下這個代碼就可以清楚的知道了,代碼如下所示:
public class Test {
static int a=3; //在類體中聲明整型靜態(tài)變量a并賦初值。
int b=5; //在類體中聲明整型實體變量b并賦初值。
public static void main(String[] args) {
System.out.println("a+b="+(a+b));
}
}
從代碼中我們可以了解到,在類體中進行賦值的方式,這樣還不容易出錯。
3、不可以連續(xù)賦值
先來看這串代碼:?int a=b=3;
?我們在變量中是不可以以這種形式聲明和賦值的不論是在類體中還是在方法中。因為在工具的譯系統(tǒng)中 b 是被認為沒有聲明任何數(shù)據(jù)類型的。不僅如此在數(shù)據(jù)的轉(zhuǎn)換中,分為隱式轉(zhuǎn)換和顯示轉(zhuǎn)換。
隱式轉(zhuǎn)換:
它是指智能從高字節(jié)的數(shù)據(jù)類型向低字節(jié)的數(shù)據(jù)類型進行轉(zhuǎn)換的,因為這樣不會丟失原有數(shù)據(jù)類型的精準(zhǔn)度如果要將變量從我們的低字節(jié)的數(shù)據(jù)類型轉(zhuǎn)換成高字節(jié)的數(shù)據(jù)類型,這個時候我們只能使用顯示轉(zhuǎn)換,代碼如下所示:
short a=3;
int b=65537;
a=b;
對于這個方式程序是會出現(xiàn)報錯的,我們只有寫成:?a=(short)b
?這樣才不會報錯。但是對于這個方法的話有時候是會失去數(shù)據(jù)原有的精確性的。
總結(jié):
那么對于我們后端語言java中的“全局變量怎么聲明與定義?”這個問題,我們的分析和代碼解釋就到這里了,如果你有其他更好的見解也可以和大家一同分享,當(dāng)然更多有關(guān)于java的相關(guān)知識和內(nèi)容我們都可以在W3Cschool中進行學(xué)習(xí)和了解更多的后端語言知識。