您現在的位置是:首頁 > 農業

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

由 大葉科技 發表于 農業2021-12-14
簡介println(Arrays

建構函式何時被呼叫

我們既然學習了很多Java中,那麼今天我們來搞一點事情怎麼樣?今天我們來嘗試學習一下陣列,我們馬上開始。

開發工具

IDEA(2020.3.20日更新的版本) ,JDK(1.8.1的版本)

注:不需要和小編一樣的版本,只要是IDEA的任何版本就可以,語法方面沒有什麼不同的。

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

加油大家,還有很多路要走

今天的內容很有趣的,有時間多敲

一下程式碼

就可以熟練運用了,還可以在程式碼中加入自己的思考。學習就是需要這樣的思考在其中,錯了也沒事至少你知道了自己在什麼地方出錯。大家都已經開始上班開學了吧,大家加油。

一、陣列

1。陣列概念

陣列就是用來儲存多個數據型別(基本資料型別和引用資料型別)一致,順序特定的變數(元素)的容器。

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

不使用陣列接收資料

2。陣列格式

資料型別[] 陣列名:

int[ ] a

定義了一個int型別陣列a

資料型別 陣列名[]:

int b [ ]

定義了int型別的陣列b。

推薦使用第一種的格式,比較規範。

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

陣列的定義方法以及陣列資料的獲取方法

System。out。println(a。length);

這句程式碼的意思就是輸出陣列a的陣列長度,

陣列的下標是從0開始的

,這個和python中的索引位置是型別的,我個人是這麼理解的。

System。out。println(a[5]);

會報錯,報陣列下標溢位

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

溢位報警

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

列印陣列中所有資料的方法

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

鍵盤錄入+迴圈

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

陣列的求和運算

大家記住,有時候為了方便我們也可以使用

int [] a = {1,2,3,4,5,6}; 的形式來定義一個數組。最後的程式碼 sum = sum +a [i] 也可以寫成:sum += a[i];的形式也是可以的。

3。陣列初始化

java中陣列必須進行初始化,初始化就是為陣列中陣列元素分配記憶體空間,併為每個陣列元素賦值。

3。1、動態初始化

初始化指定陣列長度,由系統為陣列分配初始化值。

格式:

資料型別[] 陣列名 = new 資料型別[陣列長度]

陣列長度其實就是陣列中元素的個數。

new : 分配記憶體空間。

透過陣列名訪問資料格式:陣列名[下標]。

3。2、靜態初始化

初始化時指定每個陣列元素的初始化值,由系統決定陣列長度

格式:

資料型別[] 陣列名 = new 資料型別[]{元素1,元素2,…}

可以簡寫:

資料型別[] 陣列名 ={元素1,元素2,…}

二、陣列的遍歷

方法一

使用for迴圈進行遍歷,通常遍歷陣列都是使用for迴圈來實現的。遍歷一維陣列很簡單。

遍歷二維陣列需要使用雙層for迴圈,透過陣列的length屬性可獲得陣列的長度 。

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

for迴圈遍歷陣列

方法二

使用forEach對陣列進行遍歷

這種迴圈遍歷陣列和集合更加

簡潔

。使用foreach迴圈遍歷陣列時,無須獲得陣列和集合長度,無須根據索引來訪問陣列元素,foreach迴圈自動遍歷陣列和集合的每一個元素。

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

遍歷陣列的第二個方式foreach

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

輸出結果

注意:

使用foreach迴圈迭代陣列元素時,並不能改變陣列元素的值,因此不要對foreach的迴圈變數賦值。foreach迴圈可以使用快捷鍵iter.遍歷結束輸出結果的時候它不是用的下標,而是變數i。

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

快捷鍵

三、對陣列的操作

1。陣列的資料插入

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

插入資料

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

新增後的結果

2。陣列的資料刪除

當我們把陣列下標前一位的刪除時,後一位會向前補齊,最後一個數會變成0。

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

刪除陣列中的資料

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

刪除陣列中的值後輸出結果

注意:

為什麼使用的是a.length-1而不是a.length這個方式,是因為沒有a[5]這個的下標。

四、二維陣列

其實就是元素為一維陣列的陣列。容易理解就是:

一維陣列中儲存的是數值,二維陣列中儲存的多個一維陣列。

1。陣列定義格式

格式一

資料型別

陣列名(變數名)

定義一個二維陣列的變數

格式二

資料型別[] 陣列名[]

推薦使用第一種;

2。初始化:

2。1動態初始化

資料型別[][] 陣列名 = new 資料型別[m][n]

m代表的是這個二維陣列有多少個一維陣列

n代表的是每一個一維陣列的元素個數

2。2靜態初始化

資料型別

陣列名 = {{1,2},{4,3,5},{6,7,8}}

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

二維陣列的一些筆記

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

定義二維陣列並取值

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

取二維陣列中的一維陣列的值

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

二維陣列中遍歷一維陣列的方法

五、Arrays類以及常用函式

1。Arrays。sort() ;

將陣列a升序排序,就是

從小到大排序。

示範程式碼

int

[]

a

=

{

1

5

9

8

6

3

7

4

2

10

};

Arrays

sort

a

);

for

int

i

a

){

System

out

print

i

+

“ ”

);

}

輸出:

1 2 3 4 5 6 7 8 9 10

2。Arrays。equals() ;

比較兩個陣列是否相等。

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

對比兩個陣列是否相等

示範程式碼

int

[]

a

=

{

1

2

3

4

};

int

[]

b

=

a

int

[]

c

=

{

1

2

3

4

};

System

out

println

a

==

b

);

System

out

println

a

equals

b

));

System

out

println

Arrays

equals

a

b

)); //將a的陣列與b的陣列比較

System

out

println

“————————”

);

System

out

println

a

==

c

);

System

out

println

a

equals

c

));

System

out

println

Arrays

equals

a

c

));

輸出

true

true

true

————————

false

false

true

3。Arrays。toString() ;

將陣列轉換成字串。

示範程式碼

int

[]

a

=

{

1

2

3

4

};

System

out

println

Arrays

toString

a

));

輸出:

[1, 2, 3, 4]

4。Arrays。fill() ;

把陣列中的所有元素替換成一個值。

示範程式碼

int

[]

a

=

new

int

10

];

Arrays

fill

a

50

);// 第一個放陣列的名稱,第二個放需要替換的值

for

int

i

a

){

System

out

print

i

+

“ ”

);

}

輸出:

50 50 50 50 50 50 50 50 50 50

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

示例的例子

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

輸出結果

六、陣列排序

1。氣泡排序

比較相鄰的元素,如果第一個比第二個大,就交換他們兩個

比較相鄰的元素,如果第一個比第二個大,就交換他們兩個

對每一對相鄰元素作同樣的工作,從開始

元素

到結尾的

第一對

。在這一點,最後的元素應該會是最大的數。

針對所有的元素重複以上的步驟,除了最後一個。

持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

動態圖

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

氣泡排序的動態圖

示範程式碼

//氣泡排序演算法

int

[]

numbers

=

new

int

[]{

1

5

8

2

3

9

4

};

int

i

j

for

i

=

0

i

<

numbers

length

-

1

i

++

{

for

j

=

0

j

<

numbers

length

-

1

-

i

j

++

{

if

numbers

j

>

numbers

j

+

1

])

{

int

temp

=

numbers

j

];

numbers

j

=

numbers

j

+

1

];

numbers

j

+

1

=

temp

}

}

}

System

out

println

“從小到大排序後的結果是:”

);

for

i

=

0

i

<

numbers

length

i

++

System

out

print

numbers

i

+

“ ”

);

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

氣泡排序手打程式碼

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

輸出結果

2。選擇排序

就是拿

最後一對

第一個數

一個一個的進行

後面的數

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

選擇排序動圖

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

選擇排序的程式碼實現

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

結果

比較

二分查詢是一種查詢效率非常高的查詢演算法,又被稱為

3.二分查詢

折半查詢

二分查詢的思想

,每一次都是

有序的序列

來與

以序列的中間位置的數

進行比較,每一次縮小一半的查詢範圍,直到匹配成功。

待查詢的關鍵字

,則在

如果中間位置的值比待查關鍵字大

這個查詢的過程,如果

前半部分迴圈

,則在

中間位置的值比待查關鍵字小

的過程。直到查詢到了為止,

後半部分迴圈這個查詢

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

二分查詢圖示

請記住大家我們在使用二分查詢的時候,

否則序列中沒有待查的關鍵字。

才能使用二分查詢。我們會定義三個值:起始位置,中間位置,最後位置

需要對陣列進排序

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

二分查詢的程式碼實現

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

呼叫方法

簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用

結果輸出

優點:比較的次數較少,查詢速度快。

缺點:需要待查的表為有序表,插入刪除比較困難。

總結來說,

二分查詢的優缺點:

今天的知識點有點多大家需要多理解和多練習程式碼,排序方法只是講了十種最經典的兩種。大家加油!!!

推薦文章

  • 湄洲島的第一晚,我們就被坑了,心情很不爽

    我們到湄洲島停車場的時候,正在找車位,這個停車場好大好大,這時候過來一個騎摩托車的人,他告訴我們這裡到碼頭還有很遠,你們如果走過去的話,要好長時間,說裡面還有一個停車場,就在碼頭售票大廳邊上,他讓我們跟他去,他也去停車,我們想也行,到了那裡...

  • 50歲女人,冬天要選就選這3種羽絨服,時髦又保暖,照著穿準美

    50歲女人,冬天要選就選這3種羽絨服,時髦又保暖,照著穿準美【第二篇】50歲女人,冬天穿羽絨服的小技巧技巧①營造露膚度,增加時髦感眾所周知,羽絨服屬於保暖度較高的款式,但同時也會顯得沉悶、臃腫,想看起來顯瘦一些,那在搭配下裝的同時,最好是營造出“露膚度”...

  • 蒲公英根茶的功效與作用,蒲公英根茶和什麼調配最好

    蒲公英根茶的功效與作用,蒲公英根茶和什麼調配最好蒲公英根茶的功效與作用清熱解毒蒲公英根是一種寒涼的中藥材,具有很好的清熱解毒的作用,這也是最主要的成效之一,在臨床上能夠輔佐各種熱毒症,尤其是肝炎亢進或肝臟熱時能夠直接服用蒲公英根茶...