我們都知道既然有前端語言就有后端語言,那么我們今天就來說說后端語言java中有關于“在JAVA中全局變量怎么聲明與定義?”這個問題吧!下面是相關內容和資料,希望可以幫助到大家。
在java中我們知道對于全局變量來說可以分為這兩種:靜態(tài)變量和實例變量;那么對于在類體中定義的變量我們需要注意這三點:
1、成員變量不可以在類體中先聲明之后在復制,但是在靜態(tài)變量中是可以先在類體中聲明之后在進行賦值的,當然我們的實例變量是不行的,我們來看看下面這個代碼:
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)先于構造方法執(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ù)的轉換中,分為隱式轉換和顯示轉換。
隱式轉換:
它是指智能從高字節(jié)的數(shù)據(jù)類型向低字節(jié)的數(shù)據(jù)類型進行轉換的,因為這樣不會丟失原有數(shù)據(jù)類型的精準度如果要將變量從我們的低字節(jié)的數(shù)據(jù)類型轉換成高字節(jié)的數(shù)據(jù)類型,這個時候我們只能使用顯示轉換,代碼如下所示:
short a=3;
int b=65537;
a=b;
對于這個方式程序是會出現(xiàn)報錯的,我們只有寫成:?a=(short)b
?這樣才不會報錯。但是對于這個方法的話有時候是會失去數(shù)據(jù)原有的精確性的。
總結:
那么對于我們后端語言java中的“全局變量怎么聲明與定義?”這個問題,我們的分析和代碼解釋就到這里了,如果你有其他更好的見解也可以和大家一同分享,當然更多有關于java的相關知識和內容我們都可以在W3Cschool中進行學習和了解更多的后端語言知識。