您現在的位置是:首頁 > 農業
簡單學JAVA,一篇文章教你搞懂陣列、集合、氣泡排序的運用
建構函式何時被呼叫
我們既然學習了很多Java中,那麼今天我們來搞一點事情怎麼樣?今天我們來嘗試學習一下陣列,我們馬上開始。
開發工具
:
IDEA(2020.3.20日更新的版本) ,JDK(1.8.1的版本)
注:不需要和小編一樣的版本,只要是IDEA的任何版本就可以,語法方面沒有什麼不同的。
加油大家,還有很多路要走
今天的內容很有趣的,有時間多敲
一下程式碼
就可以熟練運用了,還可以在程式碼中加入自己的思考。學習就是需要這樣的思考在其中,錯了也沒事至少你知道了自己在什麼地方出錯。大家都已經開始上班開學了吧,大家加油。
一、陣列
1。陣列概念
陣列就是用來儲存多個數據型別(基本資料型別和引用資料型別)一致,順序特定的變數(元素)的容器。
不使用陣列接收資料
2。陣列格式
資料型別[] 陣列名:
int[ ] a
;
定義了一個int型別陣列a
。
資料型別 陣列名[]:
int b [ ]
;
定義了int型別的陣列b。
推薦使用第一種的格式,比較規範。
陣列的定義方法以及陣列資料的獲取方法
System。out。println(a。length);
這句程式碼的意思就是輸出陣列a的陣列長度,
陣列的下標是從0開始的
,這個和python中的索引位置是型別的,我個人是這麼理解的。
System。out。println(a[5]);
會報錯,報陣列下標溢位
溢位報警
列印陣列中所有資料的方法
鍵盤錄入+迴圈
陣列的求和運算
大家記住,有時候為了方便我們也可以使用
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屬性可獲得陣列的長度 。
for迴圈遍歷陣列
方法二
使用forEach對陣列進行遍歷
這種迴圈遍歷陣列和集合更加
簡潔
。使用foreach迴圈遍歷陣列時,無須獲得陣列和集合長度,無須根據索引來訪問陣列元素,foreach迴圈自動遍歷陣列和集合的每一個元素。
遍歷陣列的第二個方式foreach
輸出結果
注意:
使用foreach迴圈迭代陣列元素時,並不能改變陣列元素的值,因此不要對foreach的迴圈變數賦值。foreach迴圈可以使用快捷鍵iter.遍歷結束輸出結果的時候它不是用的下標,而是變數i。
快捷鍵
三、對陣列的操作
1。陣列的資料插入
插入資料
新增後的結果
2。陣列的資料刪除
當我們把陣列下標前一位的刪除時,後一位會向前補齊,最後一個數會變成0。
前
刪除陣列中的資料
刪除陣列中的值後輸出結果
注意:
為什麼使用的是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}}
二維陣列的一些筆記
定義二維陣列並取值
取二維陣列中的一維陣列的值
二維陣列中遍歷一維陣列的方法
五、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
。
(
i
+
“ ”
);
}
輸出:
1 2 3 4 5 6 7 8 9 10
2。Arrays。equals() ;
比較兩個陣列是否相等。
對比兩個陣列是否相等
示範程式碼
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
。
(
i
+
“ ”
);
}
輸出:
50 50 50 50 50 50 50 50 50 50
示例的例子
輸出結果
六、陣列排序
1。氣泡排序
比較相鄰的元素,如果第一個比第二個大,就交換他們兩個
的
比較相鄰的元素,如果第一個比第二個大,就交換他們兩個
。
對每一對相鄰元素作同樣的工作,從開始
元素
到結尾的
第一對
。在這一點,最後的元素應該會是最大的數。
針對所有的元素重複以上的步驟,除了最後一個。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
動態圖
氣泡排序的動態圖
示範程式碼
//氣泡排序演算法
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
。
(
numbers
[
i
]
+
“ ”
);
氣泡排序手打程式碼
輸出結果
2。選擇排序
就是拿
最後一對
和
第一個數
一個一個的進行
後面的數
。
選擇排序動圖
選擇排序的程式碼實現
結果
比較
二分查詢是一種查詢效率非常高的查詢演算法,又被稱為
3.二分查詢
。
折半查詢
二分查詢的思想
,每一次都是
有序的序列
來與
以序列的中間位置的數
進行比較,每一次縮小一半的查詢範圍,直到匹配成功。
待查詢的關鍵字
,則在
如果中間位置的值比待查關鍵字大
這個查詢的過程,如果
前半部分迴圈
,則在
中間位置的值比待查關鍵字小
的過程。直到查詢到了為止,
後半部分迴圈這個查詢
二分查詢圖示
請記住大家我們在使用二分查詢的時候,
否則序列中沒有待查的關鍵字。
才能使用二分查詢。我們會定義三個值:起始位置,中間位置,最後位置
需要對陣列進排序
二分查詢的程式碼實現
呼叫方法
結果輸出
。
優點:比較的次數較少,查詢速度快。
缺點:需要待查的表為有序表,插入刪除比較困難。
總結來說,
二分查詢的優缺點:
今天的知識點有點多大家需要多理解和多練習程式碼,排序方法只是講了十種最經典的兩種。大家加油!!!
推薦文章
- 湄洲島的第一晚,我們就被坑了,心情很不爽
我們到湄洲島停車場的時候,正在找車位,這個停車場好大好大,這時候過來一個騎摩托車的人,他告訴我們這裡到碼頭還有很遠,你們如果走過去的話,要好長時間,說裡面還有一個停車場,就在碼頭售票大廳邊上,他讓我們跟他去,他也去停車,我們想也行,到了那裡...
- 50歲女人,冬天要選就選這3種羽絨服,時髦又保暖,照著穿準美
【第二篇】50歲女人,冬天穿羽絨服的小技巧技巧①營造露膚度,增加時髦感眾所周知,羽絨服屬於保暖度較高的款式,但同時也會顯得沉悶、臃腫,想看起來顯瘦一些,那在搭配下裝的同時,最好是營造出“露膚度”...
- 蒲公英根茶的功效與作用,蒲公英根茶和什麼調配最好
蒲公英根茶的功效與作用清熱解毒蒲公英根是一種寒涼的中藥材,具有很好的清熱解毒的作用,這也是最主要的成效之一,在臨床上能夠輔佐各種熱毒症,尤其是肝炎亢進或肝臟熱時能夠直接服用蒲公英根茶...