java數(shù)組的初始化及操作詳解
數(shù)組的基本概念
如果說現(xiàn)在要求你定義100個整型變量,那么如果按照之前的做法,可能現(xiàn)在定義的的結(jié)構(gòu)如下:
int i1, i2, i3, ... i100;
但是這個時候如果按照此類方式定義就會非常麻煩,因為這些變量彼此之間沒有任何的關(guān)聯(lián),也就是說如果現(xiàn)在突然再有一個要求,要求你輸出這100個變量的內(nèi)容,意味著你要編寫System.out.println()語句100次。
其實所謂的數(shù)組指的就是一組相關(guān)類型的變量集合,并且這些變量可以按照統(tǒng)一的方式進(jìn)行操作。數(shù)組本身屬于引用數(shù)據(jù)類型,那么既然是引用數(shù)據(jù)類型,這里面實際又會牽扯到內(nèi)存分配,而數(shù)組的定義語法有如下兩類。
數(shù)組動態(tài)初始化:
聲明并開辟數(shù)組:
數(shù)據(jù)類型 [] 數(shù)組名稱 = new 數(shù)據(jù)類型[長度];
數(shù)據(jù)類型 [] 數(shù)組名稱 = new 數(shù)據(jù)類型[長度];
分布進(jìn)行數(shù)組空間開辟(實例化)
| Tables | Are |
| ------------- |:-------------😐
| 聲明數(shù)組: | 數(shù)組類型 數(shù)組名稱[] = null; | | | 數(shù)組類型 [] 數(shù)組名稱 =null; | | 開辟數(shù)組空間: | 數(shù)組名稱 =new` 數(shù)組類型[長度]; |
那么當(dāng)數(shù)組開辟空間之后,就可以采用如下的方式的操作:
數(shù)組的訪問通過索引完成,即:“數(shù)組名稱[索引]”,但是需要注意的是,數(shù)組的索引從0開始,所以索引的范圍就是0 ~ 數(shù)組長度-1,例如開辟了3個空間的數(shù)組,所以可以使用的索引是:0,1,2,如果此時訪問的時候超過了數(shù)組的索引范圍,會產(chǎn)生java.lang.ArrayIndexOutOfBoundsException 異常信息;
當(dāng)我們數(shù)組采用動態(tài)初始化開辟空間后,數(shù)組里面的每一個元素都是該數(shù)組對應(yīng)數(shù)據(jù)類型的默認(rèn)值;
數(shù)組本身是一個有序的集合操作,所以對于數(shù)組的內(nèi)容操作往往會采用循環(huán)的模式完成,數(shù)組是一個有限的數(shù)據(jù)集合,所以應(yīng)該使用 for 循環(huán)。
在 Java 中提供有一種動態(tài)取得數(shù)組長度的方式:數(shù)組名稱.length;
java編程中,我們知道程序=算法+數(shù)據(jù)結(jié)構(gòu),而最基本的數(shù)據(jù)結(jié)構(gòu)就是數(shù)組;相同的數(shù)據(jù)類型的元素的集合,我們稱之為數(shù)組;以下對數(shù)組的初始化及操作做簡單介紹。
聲明數(shù)組:聲明數(shù)組時,我們需要設(shè)定數(shù)組元素的類型,數(shù)組中的元素是具有相同數(shù)據(jù)類型的;然后需要一個變量或者叫引用來指向此數(shù)組,如int[] arr 或者int arr[],兩個都可以。聲明數(shù)組:聲明數(shù)組時,我們需要設(shè)定數(shù)組元素的類型,數(shù)組中的元素是具有相同數(shù)據(jù)類型的;然后需要一個變量或者叫引用來指向此數(shù)組,如int[] arr 或者int arr[],兩個都可以。
初始化數(shù)組:
有兩種方式進(jìn)行初始化,一是直接new,二是直接賦值
數(shù)組的訪問:獲取數(shù)組長度
調(diào)用數(shù)組的length屬性即可獲取數(shù)組長度。
數(shù)組的訪問:通過下標(biāo)訪問數(shù)組元素
注意下標(biāo)是從0開始到length-1,訪問方式為arr[i],i為下標(biāo)。
數(shù)組的訪問:遍歷數(shù)組元素
以數(shù)組元素下標(biāo)為遞增變量,循環(huán)輸出即可遍歷。
數(shù)組的復(fù)制:System.arraycopy()
使用封裝的System.arraycopy()方法即可對當(dāng)前數(shù)組進(jìn)行復(fù)制操作。
數(shù)組的復(fù)制:Array.copyOf()
使用java.util.Array類的此方法,也可以實現(xiàn)數(shù)組復(fù)制,此方法有以下特點:
1.如果newLength大于原數(shù)組長度,則用0或者null進(jìn)行補充,相當(dāng)于擴容;
2.如果newLength小于原數(shù)組的長度,則截??;
數(shù)組的排序:
常見的數(shù)組排序有插入排序,冒泡排序以及快速排序法,這里介紹最常用的冒泡排序法,即相鄰兩個元素進(jìn)行比較,大的元素交換到后,小的交換到前,循環(huán)以此類推。
數(shù)組的排序:Arrays.sort()
JDK中提供的Arrays.sort()方法,也可以進(jìn)行數(shù)組排序。
相關(guān)文章
java聯(lián)調(diào)生成測試數(shù)據(jù)工具類方式
這篇文章主要介紹了java聯(lián)調(diào)生成測試數(shù)據(jù)工具類方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03詳解@ConfigurationProperties實現(xiàn)原理與實戰(zhàn)
這篇文章主要介紹了詳解@ConfigurationProperties實現(xiàn)原理與實戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10MybatisPlus使用@TableId主鍵id自增長無效的解決
本文主要介紹了MybatisPlus使用@TableId主鍵id自增長無效的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04