最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

150天打卡day08_數(shù)組

2021-03-25 17:04 作者:關(guān)阿姨的Java日記  | 我要投稿

今日內(nèi)容

  • 數(shù)組的定義

  • 數(shù)組的訪問

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

  • 數(shù)組的排序

1. 什么是數(shù)組

程序都是由數(shù)據(jù)結(jié)構(gòu)和算法組成,數(shù)組就是一種最簡單的數(shù)據(jù)結(jié)構(gòu),是具有?相同數(shù)據(jù)類型的一組數(shù)據(jù)?的集合。

if結(jié)構(gòu)、循環(huán),解決的都是算法問題。那什么是算法?所謂算法就是流程,像取錢怎么???插卡,輸入密碼,輸入要取錢的金額,確定。那這個(gè)過程,第一步怎么做,第二步怎么做,判斷還是循環(huán),解決問題的步驟 這就是算法。

解決問題(算法)需要選擇正確的數(shù)據(jù)結(jié)構(gòu)。

所謂數(shù)據(jù)結(jié)構(gòu),簡單的說就是把數(shù)據(jù)按照特定的某種結(jié)構(gòu)來保存,每種數(shù)據(jù)結(jié)構(gòu)都具有自己的特點(diǎn),設(shè)計(jì)合理的數(shù)據(jù)結(jié)構(gòu)是解決問題的前提條件。數(shù)組,就是最基本的、用得最多的一種數(shù)據(jù)結(jié)構(gòu)。

試想下,存儲(chǔ)一個(gè)學(xué)員的成績,可以聲明一個(gè)整型變量score來存儲(chǔ)。

假如用程序保存班級(jí)30人的Java考試成績?

一百個(gè)人?一千個(gè)人?甚至更多?聲明太多的變量,顯然很繁瑣,并且不適合整體的操作。像這種情況,可以使用數(shù)組這種數(shù)據(jù)結(jié)構(gòu)來解決。

數(shù)組為相同數(shù)據(jù)類型的元素組成的集合,數(shù)組元素按線性順序排列

所謂線性順序是指除第一個(gè)元素外,每一個(gè)元素都有唯一的前驅(qū)元素;除最后一個(gè)元素外,每一個(gè)元素都有唯一的后繼元素(“一個(gè)跟一個(gè)”),可以通過元素所在位置的順序號(hào)(下標(biāo))做標(biāo)識(shí)訪問每一個(gè)元素(下標(biāo)從0開始,最大到元素個(gè)數(shù)-1)。

數(shù)組的特點(diǎn)

1、數(shù)組是相同數(shù)據(jù)類型的元素組成的集合,也是用來存儲(chǔ)數(shù)據(jù)的

例如:

球類數(shù)組 [足球,籃球,兵乓球...]

電器類數(shù)組 [電視機(jī),電冰箱,電腦...]

2、數(shù)組元素都是按線性順序排列?除了第一個(gè)元素外,每一個(gè)元素都有唯一的前驅(qū)元素或者除最后一個(gè)元素外,每一個(gè)元素都有唯一的后繼元素(一個(gè)跟一個(gè))

Java的數(shù)組也分為兩大類型

  • 基本類型數(shù)組

  • 引用類型數(shù)組

基本類型數(shù)組

聲明數(shù)組的語法:數(shù)據(jù)類型 [] 數(shù)組名 = new 數(shù)據(jù)類型[大小];

例如:聲明一個(gè)int類型的arr數(shù)組,里面存放10個(gè)元素

int[]為數(shù)組類型,表示數(shù)組中的每一個(gè)元素為int類型;數(shù)組也是在內(nèi)存中用于存儲(chǔ)數(shù)據(jù)的,并且是存儲(chǔ)一組數(shù)據(jù),同樣需要一個(gè)對(duì)它的引用,該引用即為arr,arr稱為數(shù)組類型變量(引用);new為特定的聲明數(shù)組的關(guān)鍵字。數(shù)組的聲明必須要有元素個(gè)數(shù),10即為數(shù)組中元素的個(gè)數(shù),也稱為數(shù)組長度??偨Y(jié)下來,定義基本類型數(shù)組的要點(diǎn)包括:

1)??????確切的數(shù)據(jù)類型:用于開辟空間大小

2)??????整體的數(shù)組名字:用于對(duì)數(shù)據(jù)的引用

3)??????不能缺少的“[??]?”

注意在定義數(shù)組時(shí)使用的new關(guān)鍵字,正是因?yàn)閚ew語句,才使得數(shù)組分配到了指定大小的空間

聲明數(shù)組的兩種方式

1、數(shù)據(jù)類型 [] 數(shù)組名

2、數(shù)據(jù)類型 數(shù)組名 []

數(shù)組的初始化

Java語言中數(shù)組必須先初始化,然后才可以使用,所謂的初始化,就是為數(shù)組中的數(shù)組元素分配內(nèi)存空間,并為每個(gè)數(shù)組元素賦初始值。

  1. 數(shù)組的初始化有兩種方式:

    1. 動(dòng)態(tài)初始化:初始化時(shí)程序員只需要指定數(shù)組長度,由系統(tǒng)為數(shù)組元素分配空間

    2. 靜態(tài)初始化:初始化時(shí)由程序員顯示的指定每個(gè)數(shù)組元素的初始值,由系統(tǒng)決定數(shù)組長度

動(dòng)態(tài)初始化

基本類型(數(shù)據(jù)元素為基本類型)的數(shù)組創(chuàng)建后,默認(rèn)為其數(shù)組元素設(shè)置了初始值

  • byte、short、char、int、long為0

  • float和double為0.0

  • boolean為false

例如:聲明一個(gè)名為arr,長度為5的整數(shù)類型數(shù)組

new關(guān)鍵字在內(nèi)存中開辟了一塊長度為5的空間,其中系統(tǒng)為數(shù)組中的每一個(gè)值都設(shè)置了默認(rèn)的初始值為0(相當(dāng)于是聲明一個(gè)名為arr的數(shù)組,里面存儲(chǔ)了5個(gè)元素,其中每個(gè)元素的值都默認(rèn)為0)。

靜態(tài)初始化

可以在數(shù)組聲明的同時(shí)對(duì)數(shù)組的元素進(jìn)行初始化,這時(shí)可以省略new運(yùn)算符

例如

手動(dòng)為數(shù)組中的每個(gè)元素都賦了初始值,元素的個(gè)數(shù)即為數(shù)組的長度

初始化變量也可以先聲明后初始化,但是如下以下寫法只能用于聲明時(shí)的初始化,不能用于賦值,否則會(huì)有編譯錯(cuò)誤。

練習(xí)

將這5個(gè)學(xué)生的成績100,80,90,99,95存儲(chǔ)在一個(gè)數(shù)組里

定義一個(gè)長度為5的數(shù)組,并手動(dòng)為每個(gè)元素賦初始值

注意

  1. 不管采用哪種方式初始化數(shù)組,一旦初始化完成,數(shù)組的長度就不可改變。

  2. Java允許通過數(shù)組的length屬性來訪問數(shù)組的長度。

數(shù)組的訪問

數(shù)組中最常用的用法就是訪問數(shù)組元素,包括對(duì)數(shù)組元素進(jìn)行賦值和取出數(shù)組元素的值,

  • 通過下標(biāo)訪問數(shù)組元素

    訪問數(shù)組元素都是通過在數(shù)組引用變量后緊跟一個(gè)方括號(hào)[],方括號(hào)中是數(shù)組元素的索引值,這樣就可以訪問數(shù)組元素了,訪問到數(shù)組元素后,就可以把一個(gè)數(shù)組元素當(dāng)成一個(gè)普通變量使用,包括為該變量賦值和取值該變量的值,這個(gè)變量的類型就是定義數(shù)組時(shí)使用的是類型

注意:Java語言的數(shù)組索引是從0開始的,也就是說,第一個(gè)數(shù)組元素的索引值是0,最后一個(gè)數(shù)組元素的索引值為數(shù)組長度-1,

通過下標(biāo)訪問的時(shí)候下標(biāo)從 0 開始,最大到 length-1

如果訪問數(shù)組元素時(shí)指定的索引值小于0,或者大于等于數(shù)組的長度,編譯程序時(shí)不會(huì)出現(xiàn)任何錯(cuò)誤,但是運(yùn)行時(shí)會(huì)報(bào)數(shù)組下標(biāo)越界異常。

獲取數(shù)組的長度

所有 的數(shù)組都提供了一個(gè)length屬性,通過length屬性可以訪問到數(shù)組的長度,一旦獲得了數(shù)組的長度,就可以通過循環(huán)來遍歷該數(shù)組的每個(gè)數(shù)組元素。

通過調(diào)用數(shù)組的length屬性可以獲取到數(shù)組的長度。

定義引用類型數(shù)組

使用引用類型聲明的數(shù)組都是引用類型數(shù)組,引用類型數(shù)組的每個(gè)元素是一個(gè)引用類型變量,使用引用類型數(shù)組的目的是管理一組對(duì)象。

二維數(shù)組

定義

數(shù)組的數(shù)組:二維數(shù)組的每一個(gè)元素是一個(gè)一維數(shù)組

定義三行四列數(shù)組

3種定義格式

1、數(shù)據(jù)類型[][] 數(shù)組名 = new 數(shù)據(jù)類型[二維數(shù)組的長度][每個(gè)一維數(shù)組的長度];

arr[0]---下標(biāo)為0的位置上的一維數(shù)組

arr[1][3]---如果要獲取具體的元素需要兩個(gè)下標(biāo)

2、數(shù)據(jù)類型[][] 數(shù)組名 = new 數(shù)據(jù)類型[二維數(shù)組的長度/包含的一維數(shù)組的個(gè)數(shù)][];

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

注意:[]在變量名前的時(shí)候,是緊跟數(shù)據(jù)類型的;如果[]在后,則是屬于當(dāng)前變量名。

二維數(shù)組的應(yīng)用

二維數(shù)組的長度:數(shù)組名.length ---每個(gè)一維數(shù)組:數(shù)組名[下標(biāo)].length

二維數(shù)組的遍歷---兩重for循環(huán)

二維數(shù)組的反轉(zhuǎn)---頭尾交換

從控制臺(tái)輸入行數(shù),打印對(duì)應(yīng)的楊輝三角


歡迎??點(diǎn)贊+關(guān)注,學(xué)習(xí)編程不迷路,筆芯?~


150天打卡day08_數(shù)組的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
大英县| 长沙市| 沙河市| 且末县| 颍上县| 依兰县| 紫云| 遂平县| 永春县| 偏关县| 集贤县| 景东| 宁城县| 鞍山市| 克东县| 广水市| 乌拉特中旗| 库伦旗| 本溪市| 泰顺县| 于田县| 招远市| 克拉玛依市| 平江县| 霍州市| 安吉县| 荥经县| 海兴县| 湟源县| 金华市| 宁明县| 阿合奇县| 刚察县| 永仁县| 晋州市| 汝州市| 昌都县| 廊坊市| 从化市| 六枝特区| 伊宁县|