JAVA數(shù)組學(xué)習(xí)總結(jié)-創(chuàng)新互聯(lián)

數(shù)組的定義與使用

超過(guò)十多年行業(yè)經(jīng)驗(yàn),技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營(yíng)模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè),成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,小程序開(kāi)發(fā),微信開(kāi)發(fā),成都app軟件開(kāi)發(fā),同時(shí)也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營(yíng)銷(xiāo)和我們一樣獲得訂單和生意!

一、數(shù)組的定義:相同數(shù)據(jù)類(lèi)型的集合,數(shù)組在內(nèi)存中是連續(xù)空間,Java中,數(shù)組是引用數(shù)據(jù)類(lèi)型,在堆中存儲(chǔ)。其特性有四點(diǎn),1.在數(shù)組中存放的元素類(lèi)型是相同的,2.數(shù)組的空間是連續(xù)的,一個(gè)元素和一個(gè)元素之間是緊挨的,3.每個(gè)數(shù)組元素都有編號(hào),第一個(gè)位置編號(hào)從0開(kāi)始,即數(shù)組的小標(biāo)從0開(kāi)始,4.數(shù)組的長(zhǎng)度一旦定義之后就是固定的,數(shù)組定長(zhǎng)。

數(shù)組的創(chuàng)建及初始化,1.靜態(tài)初始化,定義數(shù)組時(shí),隨即將每個(gè)元素的值也初始化好,語(yǔ)法為:

數(shù)組類(lèi)型[] 數(shù)組名稱(chēng) = {元素值1,元素值2,....元素值N};示例:創(chuàng)建一個(gè)包含數(shù)字1,3,5,7,9的靜態(tài)數(shù)組,

2.動(dòng)態(tài)初始化,定義數(shù)組時(shí),不給元素具體賦值,定義之后再賦值,數(shù)組中每個(gè)元素都是其數(shù)據(jù)類(lèi)型的默認(rèn)值,語(yǔ)法為:數(shù)據(jù)類(lèi)型[] 數(shù)組名稱(chēng) = new 數(shù)據(jù)類(lèi)型[數(shù)組長(zhǎng)度];示例:創(chuàng)建一個(gè)長(zhǎng)度為5的動(dòng)態(tài)數(shù)組,

?二、數(shù)組的基本使用

1.數(shù)組中元素的訪問(wèn),由于數(shù)組在內(nèi)存中是一塊連續(xù)的內(nèi)存空間,且每個(gè)數(shù)組元素都有編號(hào),元素的編號(hào)我們稱(chēng)為數(shù)組的偏移量,第一個(gè)元素的編號(hào)為0,程序只需要記錄第一個(gè)元素的地址(數(shù)組的首地址)即可,無(wú)需保存每個(gè)元素的內(nèi)存地址,根據(jù)首地址以及元素編號(hào)就可以立即取得任意一個(gè)元素的地址。數(shù)組中元素的下標(biāo)為[0...N],N就是數(shù)組的長(zhǎng)度,數(shù)組中最后一個(gè)元素的下標(biāo)為? N-1,我們要訪問(wèn)數(shù)組中任意一個(gè)元素,只需根據(jù)數(shù)組名稱(chēng) + 下標(biāo),即可立即取得,但要注意下標(biāo)的合法性問(wèn)題,即下標(biāo)的大小不能超過(guò)N-1,示例如下:

我們還可以通過(guò)數(shù)組名稱(chēng).length屬性取得數(shù)組的長(zhǎng)度,就可以根據(jù)數(shù)組長(zhǎng)度循環(huán)遍歷數(shù)組的每一個(gè)元素,如下:用for循環(huán)來(lái)遍歷數(shù)組1的每個(gè)元素

若我們只需要取得數(shù)組元素,不修改,可以用for-each循環(huán)來(lái)遍歷,如下:

三.堆區(qū)和棧區(qū)

數(shù)組,類(lèi),接口都屬于引用數(shù)據(jù)類(lèi)型,所有的引用數(shù)據(jù)類(lèi)型的變量,保存的都是一塊堆內(nèi)存的地址,不是具體數(shù)值,而它的對(duì)象也保存在對(duì)結(jié)構(gòu)中,所謂的引用只不過(guò)是給對(duì)象起了個(gè)別名而已。

棧區(qū)保存的是方法的棧幀,每個(gè)方法的調(diào)用以及結(jié)束,就對(duì)應(yīng)一個(gè)方法棧幀的入棧以及出棧過(guò)程,方法中的所有局部變量都保存在棧幀中。

四.數(shù)組的使用

數(shù)組是不能直接輸出的,直接輸出只會(huì)得到其加密后的地址,要想輸出數(shù)組可以自建個(gè)方法,調(diào)用方法輸出,或者用數(shù)組相關(guān)的工具類(lèi)Arrays中的toString方法,如下:

?要想拷貝數(shù)組就可以用工具類(lèi)Arrays中的copyOf方法,要是只想拷貝一部分的話,就用copyOfRange方法,如下:

在數(shù)組中有一些很經(jīng)典的問(wèn)題,例如在數(shù)組中查找是否存在指定數(shù)值的元素,這個(gè)問(wèn)題有很多種解法,但其中最經(jīng)典的就是二分查找法,二分查找法可以很大的提高我們尋找的時(shí)間和效率,二分查找法就是在有序數(shù)組中每回取數(shù)組中間那個(gè)數(shù)與指定數(shù)值進(jìn)行比較,代碼如下:

二分查找法,也可以用遞歸的思想來(lái)解決問(wèn)題,用遞歸的思想寫(xiě)出來(lái)的代碼如下:

還有就是在不創(chuàng)建新的數(shù)組的情況下逆序輸出一個(gè)數(shù)組,其思想就是讓數(shù)組最左邊和最右邊的數(shù)相互交換位置,然后左右都往前移一位,再繼續(xù)交換,知道數(shù)組的中間結(jié)束,代碼如下:

?還有就是將一個(gè)數(shù)組的元素進(jìn)行排列,數(shù)組中的所有偶數(shù)放在所有奇數(shù)前面,其思想就是讓左邊元素的下標(biāo)left從左向右掃描,掃到第一個(gè)奇數(shù)就停止,讓右邊元素的下標(biāo)right從右向左掃描,掃到第一個(gè)偶數(shù)就停止,然后讓它兩個(gè)的元素交換位置,依次往下用while循環(huán),直到當(dāng)left >= right時(shí)循環(huán)結(jié)束,代碼如下:

我們上面說(shuō)的數(shù)組都是一維數(shù)組,但是按照定義我們還有二維數(shù)組,三維數(shù)組等等,但基本上都用不上,只有二維數(shù)組偶爾會(huì)用到,二維數(shù)組就可以看作是一個(gè)表格,有行和列,二維數(shù)組的遍歷如下:

以上就是我學(xué)習(xí)Java數(shù)組部分所總結(jié)的知識(shí)點(diǎn),如有不對(duì)的地方,歡迎大家指正!

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)站名稱(chēng):JAVA數(shù)組學(xué)習(xí)總結(jié)-創(chuàng)新互聯(lián)
分享地址:http://bm7419.com/article20/ijcjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)站策劃、定制開(kāi)發(fā)、App開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)公司手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)