數(shù)組

數(shù)組:

數(shù)組可以看成是多個(gè)相同類型數(shù)據(jù)的組合實(shí)現(xiàn)對這些數(shù)據(jù)的統(tǒng)一和管理數(shù)組里存儲的每一個(gè)數(shù)據(jù)叫元素

元素的數(shù)據(jù)類型在數(shù)組被聲明創(chuàng)建時(shí)確定

元素的數(shù)據(jù)類型必須統(tǒng)一,一旦創(chuàng)建不能更改,其它數(shù)據(jù)類型的元素不可以裝進(jìn)數(shù)組,數(shù)組中元素的個(gè)數(shù),稱為數(shù)組長度。(length)

java中聲明數(shù)組時(shí),不能指定長度

數(shù)組的聲明

數(shù)組類型[]數(shù)組名;

數(shù)組的創(chuàng)建(初始化)

new數(shù)組類型[數(shù)組的長度];(索引從0開始最大編號是數(shù)組長度-1)

int[]arr;定義一個(gè)int型的數(shù)組數(shù)組名是arr
int arr[];定義一個(gè)int型的變量,變量名是arr數(shù)組
int[] wher = {1,3,10};
int[] wher = new int []{5,1,0,4};
for(int i= 1 ;i<wher.length;i++){}//獲取數(shù)組元素個(gè)數(shù)(遍歷數(shù)組)

整形默認(rèn)為0、String默認(rèn)為null、char默認(rèn)為‘0’

浮點(diǎn)默認(rèn)為0.0、Boolean默認(rèn)為false

遍歷數(shù)組:依次訪問數(shù)組中的元素

增強(qiáng)for循環(huán)
for(int x:wher){system.out.println(x)}

for(數(shù)組類型 臨時(shí)變量:要遍歷的數(shù)組){}

初始化:
就是為數(shù)組開辟內(nèi)存空間,并為數(shù)組中的每個(gè)元素賦予初始值。

靜態(tài)初始化:給出初始值,由系統(tǒng)決定長度

動態(tài)初始化:只給出長度,有系統(tǒng)給出初始值

數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長度];

java中的內(nèi)存分配

棧(存儲的是局部變量)

堆(存儲的是new出來的東西)實(shí)體(對象)

方法區(qū)(面向?qū)ο筮M(jìn)階講)

本地方法區(qū)(和系統(tǒng)相關(guān))

寄存器(給CPU使用)

堆:
A:每一個(gè)對象都有地址值

B:每一個(gè)對象的數(shù)據(jù)都有默認(rèn)值

整形默認(rèn)為0、String默認(rèn)為null、char默認(rèn)為‘0’

浮點(diǎn)默認(rèn)為0.0、Boolean默認(rèn)為false

棧:

存儲的是局部變量,局部變量就是定義在方法中的變量使用完畢,立即回收

Array IndexOutOfBoundsException:數(shù)據(jù)索引越界異常

產(chǎn)生原因:我們訪問了不存在的索引

NullPointerException:空指針異常

產(chǎn)生原因:數(shù)組已經(jīng)不在指向?qū)?nèi)存的數(shù)據(jù)了,還使用數(shù)組名去訪問

數(shù)組獲取最值得思路:

A:先拿數(shù)組中一個(gè)元素作為參照物

B:遍歷數(shù)組讓后面所有的元素依次和參照物進(jìn)行比較

C:整個(gè)循環(huán)遍歷比較結(jié)束,留下來的就是最值

二維數(shù)組:其實(shí)就是元素為一維數(shù)組的數(shù)組

定義格式:

A:數(shù)組類型[][] 數(shù)組名;(推薦)

B:數(shù)據(jù)類型 數(shù)組名[][];

C:數(shù)據(jù)類型[] 數(shù)組名[];

初始化:
A:動態(tài)初始化

數(shù)據(jù)類型[][] 數(shù)組名 = new 數(shù)據(jù)類型[M][N];

M表示的是二維數(shù)組中一維數(shù)組的個(gè)數(shù)

N表示的是一維數(shù)組中的元素個(gè)數(shù)

B:靜態(tài)初始化

數(shù)據(jù)類型[][] 數(shù)組名 = new 數(shù)據(jù)類型[][]{{元素},{},{}……}

簡化:

數(shù)據(jù)類型[][] 數(shù)組名 = {{元素},{元素},……};

二維數(shù)組名配合索引可以獲取到每一個(gè)一維數(shù)組,每一個(gè)一維數(shù)組配合索引名可以獲取到數(shù)組中的元素;

system.out.println();換行輸出

systrm.out.print();不換行輸出

int[][] arr = new int [3][4];
for(int p = 0;p<arr.length;p++){
    for(int q = 0;p<arr[p].length;q++){
      system.out.println(arr[p][q]);}}

數(shù)組的復(fù)制

system.arraycopy(src,srcpos,dest,destpos,length);
system.arraycopy(原數(shù)組,原起始位,目標(biāo)數(shù)組,目標(biāo)起始位,長度);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第四天 數(shù)組【悟空教程】 第04天 Java基礎(chǔ) 第1章數(shù)組 1.1數(shù)組概念 軟件的基本功能是處理數(shù)據(jù),而在處理數(shù)...
    Java幫幫閱讀 1,681評論 0 9
  • 數(shù)組是一種特殊的對象,保存零個(gè)或多個(gè)基本類型或引用類型的值。這些值是數(shù)組的元素,是通過所在位置或索引引用的無名變量...
    郭藝賓閱讀 582評論 0 1
  • 轉(zhuǎn)載:在開發(fā)中,數(shù)組的使用場景非常多,平日中也涉及到很多數(shù)組的api/相關(guān)操作,一直也沒有對這塊內(nèi)容進(jìn)行一塊整理總...
    七色煙火閱讀 3,397評論 0 3
  • 一、數(shù)組定義 array() 1、索引數(shù)組 在一個(gè)變量中,存儲一個(gè)或多個(gè)值。數(shù)組中的每一個(gè)元素都有一個(gè)訪問ID,根...
    竹與豆閱讀 580評論 0 0
  • 九辯先秦:宋玉悲哉,秋之為氣也!蕭瑟兮草木搖落而變衰。憭栗兮若在遠(yuǎn)行,登山臨水兮送將歸。泬漻兮天高而氣清,寂寥兮收...
    To者也閱讀 507評論 0 2

友情鏈接更多精彩內(nèi)容