Java編程基礎總結(一)

來源:互聯網
上載者:User

   一、局部變數和成員變數

        1、局部變數,一般是指在方法體內部定義的變數,其範圍是在方法塊內部有效。局部變數必須先初始化,才能使用,否則程式無法編譯。

        2、成員變數,是指在類中定義的變數,也就是屬性,其範圍是在整個類中有效。成員變數在定義時可以不指定初始值,系統可以按預設原則初始化。初始化的具體原則如所示:

成員變數預設初始值
成員變數類型 預設初始值
Byte 0
Short 0
Int 0
Long 0L
Boolean false
Float 0.0f
Double 0.0d
Char '\u0000'
其他類型(參考型別) null
   

        3、二者的區別:

        (1)、public、protected、private、static等修飾符可用於修飾成員變數,但不能修飾局部變數。兩者都可以使用final修飾。

        (2)、成員變數儲存在堆記憶體中,局部變數儲存在棧記憶體中。

        (3)、範圍不同,成員變數在整個類中有效,局部變數在方法體中有效,在方法體之外不可見。

        (4)、成員變數可以預設初始化,局部變數必須顯示初始化。

    二、“+”操作符在Java內部是如何?字串串連的。

        Java不支援運算子多載,但在java內部提供了一些特殊運算子,它們具有重載的特徵。例如“+”在實現字串串連時,運算元可以是兩個字串,也可以是一個字串和一個其他類型。請看如下的一個例子:

String a = "a";String b = "b";String c = a + b;String d = c + 1;// 將上述代碼編譯後再反編譯,結果如下String a = "a";String b = "b";String c = (new StringBuilder(String.valueOf(a))).append(b).toString();String d = (new StringBuilder(String.valueOf(c))).append(1).toString();

        從上述代碼不難發現,“+”在實現字串串連過程中,實際上是藉助了StringBuilder類及其append()方法。

        String類代表大小固定的字串,一旦聲明定義後,內容和大小將不可改變。String類中提供的所有字串操作方法,都是操作結果建立了一個新的String對象並返回。

        為了考慮效率問題,在底層Java採用了StringBuilder類,該類代表大小可變的字串,利用StringBuilder類的append()和insert()方法可以在原字串基礎上修改。append()和insert()方法被重載過多次,可以接收多種類型的參數。

    三、變數之間傳值時可分為值傳遞和引用傳遞,那麼它們有何區別。

        1、儲存機制。

        簡單類型變數是直接在棧記憶體中開闢儲存空間儲存變數值。

        參考型別變數是由引用空間和儲存空間兩部分構成,引用空間在棧記憶體中,儲存空間在堆記憶體中,儲存空間負責儲存變數值,引用空間負責存放儲存空間的首地址。引用變數中存放的是地址值,通過地址值可以定義儲存位置並修改儲存資訊。

        2、變數傳遞。

        當變數與變數之間賦值時,參考型別變數和簡單變數都屬於值傳遞,不同的是簡單變數傳遞的是內容本身,而引用變數傳遞的卻是引用地址。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.