成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java 數(shù)組對象

Half / 2667人閱讀

摘要:數(shù)組元素的內(nèi)容允許通過賦值形式改變,而對數(shù)組變量賦值則會指向不同數(shù)組對象。數(shù)組對象一定存放在堆上,數(shù)組變量則不一定。我們通過數(shù)組變量結(jié)合位置索引,即可操作數(shù)組中的元素。

數(shù)組是一種能夠通過位置索引,快速、隨機地存取其中元素的集合數(shù)據(jù)結(jié)構(gòu)。

對象類型
In the Java programming language, arrays are objects (§4.3.1), are dynamically created, and may be assigned to variables of type Object (§4.3.2). All methods of class Object may be invoked on an array.

注意:數(shù)組元素(內(nèi)容)本身可以是基本數(shù)據(jù)類型或?qū)ο笠妙愋?,但是?shù)組變量(引用)則指向數(shù)組對象。數(shù)組對象并非是從某個類實例化而來,而是由 JVM 直接創(chuàng)建的。因此查看數(shù)組對象類名的時侯會發(fā)現(xiàn)都是一些奇怪的類似于 "[I" 這樣的字符。

數(shù)組對象的父類是 java.lang.Object,所以可以調(diào)用 Object 類中的所有方法如 toString()。

實現(xiàn)如下:

public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

每個數(shù)組對象對應(yīng)的類,可以通過 RTTI(Run-Time Type Information)于運行時檢查

char[] c = {"a", "b", "c"} 
int[] i = {1, 2, 3}
long[] l = {1l, 2l, 3l}
float[] i = {1f, 2f, 3f}
String[] s={"aa","bb","cc"};

System.out.println(c);
System.out.println(i);
System.out.println(l);
System.out.println(f);
System.out.println(s);

Output:

[C
[I
[J
[F
[Ljava.lang.String

數(shù)組對象可以獲取長度屬性(只讀) length。
數(shù)組是不可變的,指的就是數(shù)組長度內(nèi)的內(nèi)存空間。數(shù)組元素的內(nèi)容允許通過賦值形式改變,而對數(shù)組變量賦值則會指向不同數(shù)組對象。

有關(guān)內(nèi)存分配:
聲明數(shù)組只是分配固定的引用空間大小,由于尚未賦值不指向任何數(shù)組對象。
數(shù)組對象一定存放在堆上,數(shù)組變量則不一定。不管是基本類型變量,還是對象引用類型變量,只要是局部變量就存放在上,對象引用類型變量指向的對象則一定存放在上。

數(shù)組使用

Java 是一門強類型、靜態(tài)類型語言,編譯器會根據(jù)數(shù)組的聲明類型防止放入錯誤類型。

數(shù)組初始化方式:

case 1:

int[] arr = {1, 2, 3};

case 2:

int[] arr = new int[]{1, 2, 3};

case 3:

int[] arr = new int[3];
arr[0] = 1; arr[1] = 2; arr[2] = 3;

bad case 1: 不能在給定初始值的同時給定長度

int[] arr = new int[3]{1, 2, 3};

初始值已經(jīng)決定數(shù)組長度,若再給出長度限制,兩者不一致 Java 將無法正常工作。

我們通過數(shù)組變量結(jié)合位置索引,即可操作數(shù)組中的元素。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/71799.html

相關(guān)文章

  • Java學(xué)習(xí)筆記(一)

    摘要:是完全面向?qū)ο蟮恼Z言,對象具有狀態(tài)行為和標(biāo)識。類一一是具有共同特征和行為的一類事物的統(tǒng)稱。受保護的,對同一包內(nèi)的類和所有子類可見。一種通用的內(nèi)存池,用于存放所有對象。類級變量又稱全局級變量或靜態(tài)變量,需要使用關(guān)鍵字修飾。 java語言的基本特點 java語言是面向?qū)ο蟮母呒壋绦蛟O(shè)計語言,它是編譯型的語言,Java語言不使用指針,并提供了自動的垃圾回收機制,使得程序員不必為內(nèi)存管理而擔(dān)...

    chengtao1633 評論0 收藏0
  • JAVA中堆和棧的區(qū)別

    摘要:堆內(nèi)存主要作用是存放運行時創(chuàng)建的對象。堆內(nèi)存用來存放由創(chuàng)建的對象和數(shù)組,在堆中分配的內(nèi)存,由虛擬機的自動垃圾回收器來管理。這也是比較占內(nèi)存的原因,實際上,棧中的變量指向堆內(nèi)存中的變量,這就是中的指針 堆:(對象) 引用類型的變量,其內(nèi)存分配在堆上或者常量池(字符串常量、基本數(shù)據(jù)類型常量),需要通過new等方式來創(chuàng)建。 堆內(nèi)存主要作用是存放運行時創(chuàng)建(new)的對象。(主要用于存放對象,...

    RyanQ 評論0 收藏0
  • Java集合框架概述和集合的遍歷

    摘要:第三階段常見對象的學(xué)習(xí)集合框架概述和集合的遍歷一集合框架的概述集合的由來如果一個程序只包含固定數(shù)量的且其生命周期都是已知的對象,那么這是一個非常簡單的程序。進而它們的遍歷方式也應(yīng)該是不同的,最終就沒有定義迭代器類。 第三階段 JAVA常見對象的學(xué)習(xí) 集合框架概述和集合的遍歷 (一) 集合框架的概述 (1) 集合的由來 如果一個程序只包含固定數(shù)量的且其生命周期都是已知的對象,那么這是一...

    happyhuangjinjin 評論0 收藏0
  • Java快速掃盲指南

    摘要:不相等的對象要具有不相等的哈希碼為了哈希表的操作效率,這一點很重要,但不是強制要求,最低要求是不相等的對象不能共用一個哈希碼。方法和方法協(xié)同工作,返回對象的哈希碼。這個哈希碼基于對象的身份生成,而不是對象的相等性。 本文面向 剛學(xué)完Java的新手們。這篇文章不講語法,而是一些除了語法必須了解的概念。 將要去面試的初級工程師們。查漏補缺,以免遭遇不測。 目前由于篇幅而被挪出本文的知識...

    Tony_Zby 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<