Java 如何理解數組在Java中作為一個類?__c語言

來源:互聯網
上載者:User

Java數組的使用文法與C和C++的比較類似,但是它的本質是一個Java類,只是這個類比較特殊,所以很容易被人誤解。

   大家知道,Java的資料類型可以分為倆種:基礎資料型別 (Elementary Data Type)和引用資料類型。那麼數組屬於哪種呢。很顯然,數組不會是基礎資料型別 (Elementary Data Type),因為基本類型就只有那8種,那他應該就屬於引用資料類型了,也就是說每一個數組執行個體都是一個對象,這些對象同屬於一個類。

首先,看一看如何使用一個Java數組,大致有以下幾個步驟:

1.聲明數組,使用一個引用類運算元組

2.使用new關鍵字來為數組建立數組所需要的記憶體空間,並且返回一個引用的值,還可以用{}符號萊維數組賦初值。

3.使用數組下標對數組的值進行操作。

範例程式碼如下:

public class Test2 {public static void main(String[] args) {int [] arr=new int[]{1,2,3,4,5};//定義一個int陣列變數String []arr2=new String[3];//定義一個String陣列變數for(int i:arr){System.out.println(i);}for(String i:arr2){System.out.println(i);}}}

以上代碼建立了倆個數組,一個是int型的數組,對資料進行了初始化;另外一個是String型的數組,指定數組的長度為3~

運行結果如下:

12345nullnullNull

 倆種類型的數組有一個共同的特點,就是在建立的時候必須知道一個長度。其實,這是因為數組在建立的時候,會動態為這些類型知道數目的成員變數,並且為這些成員變數賦初值。但是,Java不會讓我們像普通類那樣去操作這些成員變數,而是通過[]符號,使用下標來訪問這些資料。另外,java還為每一個數組提供了一個length屬性,用於知道數組的長度。

注意:數組的下標是從0開始的。

    那麼,數組的類名是什麼呢。其實,數組的類型與它儲存的資料類型有關,它們的類名可以通過擷取數組的Class類型來擷取,如下代碼用於擷取上例倆個數組的類名:

System.out.println("int arr type name:"+arr.getClass().getName());

System.out.println("String arr2 type name:"+arr2.getClass().getName());

結果如下:

int arr type name:[I

String arr2 type name:[Ljava.lang.String;

可以看出,數組類名總是以左中括弧開頭,然後是不同的標示。例如,int類型的數組則是一個I字元,字串類型的數組則是Ljava.lang.String。通過這些標示,我們就可以知道該數組儲存的是哪種資料類型。

總結:

   java的數組本質是一個類,該類還儲存了資料類型的資訊。該類通過成員變數的形式類儲存資料,並且通過[]符號,使用下標來訪問這些資料。在處理基礎資料型別 (Elementary Data Type)(如int)時,數組儲存的是變數的值,如果我們未提供初始值,數組會把這些變數的初始值為0;而處理參考型別時(如String),數組儲存的是資料的引用,如果我們沒有初始化,數組會把變數的初始值為null。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.