App下載

在JAVA中全局變量怎么聲明與定義?全局變量聲明與定義代碼分析!

猿友 2021-07-07 14:35:22 瀏覽數(shù) (8796)
反饋

我們都知道既然有前端語言就有后端語言,那么我們今天就來說說后端語言java中有關(guān)于“在JAVA中全局變量怎么聲明與定義?”這個(gè)問題吧!下面是相關(guān)內(nèi)容和資料,希望可以幫助到大家。


在java中我們知道對于全局變量來說可以分為這兩種:靜態(tài)變量和實(shí)例變量;那么對于在類體中定義的變量我們需要注意這三點(diǎn):

1、成員變量不可以在類體中先聲明之后在復(fù)制,但是在靜態(tài)變量中是可以先在類體中聲明之后在進(jìn)行賦值的,當(dāng)然我們的實(shí)例變量是不行的,我們來看看下面這個(gè)代碼:

public class Test {
   static int a;        //在類體中聲明整型靜態(tài)變量a。
   int  b;                //在類體中聲明整型實(shí)體變量b。
  a=3;                 //在類體中對靜態(tài)變量a賦初值。
  b=5;                //在類體中對實(shí)體變量b賦初值。
        public static void main(String[] args) {
             System.out.println("a+b="+(a+b));
             }
}

對于這個(gè)程序我們是會出現(xiàn)問題,那么就有人會說為什么在 java 中全局變量不能先聲明在賦值了,我們來看下面的這個(gè)代碼:

public class Test{

  int i;

  {i = 3;} //寫在{}里就可以了(這種代碼塊優(yōu)先于構(gòu)造方法執(zhí)行)

}

在代碼中?i=3?這個(gè)是我們的賦值語句,不能單獨(dú)的出現(xiàn)在方法或者?“{ }”?以外的地方,所以我們將代碼改成上面的樣式就可以了,我們在回過頭來看下面這個(gè)代碼就是可以運(yù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)變量的話就會報(bào)錯(cuò),代碼如下所示:

public class hello {
    int a;        //在類體中聲明整型實(shí)體變量a。
        public static void main(String[] args) {
              a=3;                 //在方法中對實(shí)體變量a賦值。
             System.out.println("a="+a);
             }
}

2、成員變量可以在類體中聲明的時(shí)候同時(shí)賦值

我們來看下這個(gè)代碼就可以清楚的知道了,代碼如下所示:

public class Test {
   static int a=3;        //在類體中聲明整型靜態(tài)變量a并賦初值。
   int  b=5;                //在類體中聲明整型實(shí)體變量b并賦初值。
          public static void main(String[] args) {
             System.out.println("a+b="+(a+b));
             }
}

從代碼中我們可以了解到,在類體中進(jìn)行賦值的方式,這樣還不容易出錯(cuò)。


3、不可以連續(xù)賦值

先來看這串代碼:?int a=b=3;  ?我們在變量中是不可以以這種形式聲明和賦值的不論是在類體中還是在方法中。因?yàn)樵诠ぞ叩淖g系統(tǒng)中 b 是被認(rèn)為沒有聲明任何數(shù)據(jù)類型的。不僅如此在數(shù)據(jù)的轉(zhuǎn)換中,分為隱式轉(zhuǎn)換和顯示轉(zhuǎn)換。

隱式轉(zhuǎn)換:

它是指智能從高字節(jié)的數(shù)據(jù)類型向低字節(jié)的數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換的,因?yàn)檫@樣不會丟失原有數(shù)據(jù)類型的精準(zhǔn)度如果要將變量從我們的低字節(jié)的數(shù)據(jù)類型轉(zhuǎn)換成高字節(jié)的數(shù)據(jù)類型,這個(gè)時(shí)候我們只能使用顯示轉(zhuǎn)換,代碼如下所示:

short a=3;  
int b=65537;
a=b;

對于這個(gè)方式程序是會出現(xiàn)報(bào)錯(cuò)的,我們只有寫成:?a=(short)b?這樣才不會報(bào)錯(cuò)。但是對于這個(gè)方法的話有時(shí)候是會失去數(shù)據(jù)原有的精確性的。


總結(jié):

那么對于我們后端語言java中的“全局變量怎么聲明與定義?”這個(gè)問題,我們的分析和代碼解釋就到這里了,如果你有其他更好的見解也可以和大家一同分享,當(dāng)然更多有關(guān)于java的相關(guān)知識和內(nèi)容我們都可以在W3Cschool中進(jìn)行學(xué)習(xí)和了解更多的后端語言知識。


0 人點(diǎn)贊