通過這章的基礎介紹,希望大家能夠基本上掌握百寶雲的語法與使用方法,能夠根據自己的需要編寫出自己的雲服務。這章的知識可能有點無味,但是卻是百寶雲的基礎所在,所以大家還是好好把基礎打下,這樣才能更好更快的學習後面的知識。
陣列這個知識點還是非常重要的,日常的專案裡也少不了它的存在,因此,通過這節課,希望大家能掌握陣列的一些常規使用方法,以便大家在日後的專案裡熟練運用。
陣列是一系列資料的集合,可以儲存大量資料,通過陣列的下標、key,可以實現對資料的快速訪問。
為什麼要使用陣列,什麼場景使用陣列?
好!首先我們來分析乙個需求。
小花參加一次唱歌比賽中,有5名裁判打分,得到如下成績: 89分, 90分, 80分, 95分, 82分。那麼要求是:去掉最高分與最低分,最後成績是多少? 判斷出是哪個裁判的分最高與最低?
如果我們還是按照以前的思路去寫的話,**是這樣的:
功能 得到成績()
變數 裁判1成績 = 89
變數 裁判2成績 = 90
變數 裁判3成績 = 80
變數 裁判4成績 = 95
變數 裁判5成績 = 82
// 這樣的寫法去判斷,**思路比較亂,而且也不方便擴充套件,所以就不寫了
// 想這樣寫的讀者,可以自己去寫寫看.
結束這樣使用了5個變數儲存5個成績,要計算出最後成績的話,需要5 個成績兩兩比較,這樣的處理比較麻煩。那麼有沒有方便的處理辦法呢?
有!這就需要用到陣列了,使用陣列之後,這些處理就方便很多了,後期的擴充套件也方便了。
那麼用陣列之後的寫法是怎麼的呢?如下:
功能 得到成績()
變數 裁判成績 = 陣列()
裁判成績[0] = 89
裁判成績[1] = 90
裁判成績[2] = 80
裁判成績[3] = 95
裁判成績[4] = 82
//變數 裁判成績 = 陣列(89,90,80,95,82)
變數 最高分 = 裁判成績[0],最高分裁判 = 0,最低分 = 裁判成績[0],最低分裁判 = 0,總成績 = 0
遍歷(變數 i = 1; i < 5; i++)
如果(最高分 < 裁判成績[i])
最高分 = 裁判成績[i]
最高分裁判 = i
結束如果(最低分 > 裁判成績[i])
最低分 = 裁判成績[i]
最低分裁判 = i
結束結束
遍歷(變數 i = 0; i < 5; i++)
如果(i == 最高分裁判 || i == 最低分裁判)
繼續結束
總成績 = 總成績 + 裁判成績[i]
結束傳送文字訊息("總成績為:" & 總成績)
傳送文字訊息("最高分裁判是:" & (最高分裁判 +1) & "號裁判")
傳送文字訊息("最低分裁判是:" & (最低分裁判 +1) & "號裁判")
結束這樣一寫之後,**簡潔了很多,條理看起來也清楚了很多。擴充套件起來也簡單多了,就是增加陣列元素,其他的都不要改了。
陣列裡面是可以同時儲存多種型別資料。常用的陣列分下面三大型別。
5.2.1索引陣列
這類的陣列是最簡單的陣列,操作起來也很簡單,這類陣列的下標基本上是從0開始,到陣列長度-1。如上面的例子,使用的就是索引陣列。簡單示例如下:
//變數 a = 陣列[3]("寶馬","卡宴","奧迪")//
//或者
變數 a = 陣列[3]
a[0] = "寶馬"
a[1] = "卡宴"
a[2] = "奧迪"
//遍歷陣列
遍歷(變數 i=0;i<3;i++)
傳送文字訊息(a[i])
結束5.2.2關聯陣列
這類陣列的特點是:key è value。也就是乙個key對應乙個value。這裡的key可以是任意字串。如下列的示例:
//變數 a = 陣列("key1"="寶馬","key2"="卡宴","key3"="奧迪")
//或者
變數 a = 陣列()
a["key1"] = "寶馬"
a["key2"] = "卡宴"
a["key3"] = "奧迪"
//顯示指定陣列元素
傳送文字訊息(a["key2"])
索引陣列與關係陣列的區別:
選項描述
索引陣列
定義//索引陣列變數定義有五種寫法
1、變數 資料 = 陣列[5] //未初始成員元素,預設所有元素為null,陣列大小為5
2、變數 資料 = 陣列[5]() //未初始成員元素,預設所有元素為null,陣列大小為5
3、變數 資料 = 陣列[5](1,2,3,4,5) //初始化成員元素,陣列大小為5
4、變數 資料 = 陣列(1,2,3,4,5) //能過初始化成員元素,確定陣列大小為5
5、變數 資料 = 陣列 //定義陣列大小為0的陣列
元素範圍
下標是從0開始,到陣列大小-1,如果訪問元素,超過下標範圍,程式會報錯,提示訪問陣列越界
訪問方式
變數 內容 = 資料[0]
在訪問的時候中間一定是整數型值,否則程式會提示訪問越界陣列
關聯陣列
定義//關聯陣列定義有三種寫法
變數 資料 = 陣列() //未初始化成員元素的定義,沒有成員元素,陣列大小為0
變數 資料 = 陣列("a","b","c",4,5,6) //初始化成員元素的定義,陣列大小為6
變數 資料 = 陣列("a"="a","b"="b","c"="c","d"=4,"e"=5,"f"=6) //初始化指定key的成員元素的定義,陣列大小為6
元素範圍
關聯陣列理論上可以無限大,且不會存在越界等錯誤.
訪問方式
關聯陣列採用的是一種key->value對應的方式存在,我們在訪問關聯陣列,採用如下方法
變數 內容 = 資料["abc"]
在這裡,關聯陣列本身具有自動增加元素的特性,當元素不存在,第一次訪問的時候會自動增加,並設定初始值為null
5.2.3 多維陣列
百寶雲裡的多維陣列定義與其他語言的不同,不是
變數 b = 陣列[2][2] // 此
寫法是錯誤的
這樣的寫法在百寶雲裡是錯誤的,應該是下面這樣的寫法:
//索引多維陣列
變數 車輛資料 = 陣列[3](陣列[3]("volvo",22,18), 陣列[3]("bmw",15,13), 陣列[3]("saab",5,2))
//或者
變數 車輛資料 = 陣列[3]()
車輛資料[0] = 陣列[3]("volvo",22,18)
車輛資料[1] = 陣列[3]("bmw",15,13)
車輛資料[2] = 陣列[3]("saab",5,2)
變數 n = 陣列大小(車輛資料)
遍歷(變數 i=0;i < n;i++)
變數 臨時陣列 = 車輛資料[i]
變數 n1 = 陣列大小(臨時陣列)
遍歷(變數 j=0;j < n1;j++)
傳送文字訊息(臨時陣列[j])
結束 結束
在日常的專案當中,我們用到二維陣列就差不多了,再增加維數,那樣操作起來就麻煩了。
以下我們再來學習下keyàvalue型別的多維陣列。示例如下:
//關聯索引陣列
變數 車輛資料 = 陣列()
車輛資料["張三"] = 陣列("品牌" = "volvo","里程" = 22,"車鈴" = 18)
車輛資料["李四"] = 陣列("品牌" = "bmw","里程" = 15,"車鈴" = 13)
車輛資料["王五"] = 陣列("品牌" = "saab","里程" = 5,"車鈴" = 2)
//通過遍歷的方式,訪問關聯陣列中所有的元素
變數 n = 陣列大小(車輛資料)
遍歷(變數 i=0;i < n;i++)
變數 臨時值
陣列獲取元素(車輛資料,i,臨時值)
變數 n1 = 陣列大小(臨時值)
遍歷(變數 j=0;j < n1;j++)
變數 臨時鍵1,臨時值1
關聯陣列獲取元素(臨時值,j,臨時值1,臨時鍵1) //記住這裡只能是關聯陣列,否則會獲取元素失敗
傳送文字訊息("key:"&臨時鍵1&" "&"value:"&臨時值1)
結束 結束
//也可以通過關聯陣列的key 直接訪問對應的元素
傳送文字訊息("李四的車輛品牌是:" & 車輛資料["李四"]["品牌"])
百寶雲還提供了一系列運算元組的命令,大家有時間的時候,都去看看這些命令,最好能把命令的示例給執行下,這樣就更容易掌握各個命令的用途了。
百寶雲語法變數與常量新手教程
通過這章的基礎介紹,希望大家能夠基本上掌握百寶雲的語法與使用方法,能夠根據自己的需要編寫出自己的雲服務。這 章的知識可能有點無味,但是卻是百寶雲的基礎所在 所以大家還是好好把基礎打下,這樣才能 更好更快的學習後面的知識。這節課,主要是學會變數的 使用方法 理解變數的作用域,以及變數與常量的區別。變數...
百寶雲常用運算子教程
通過 這節課,讓大家掌握 簡單的加減乘除 字串連線 邏輯運算子 百寶雲裡支援了豐富的運算子,同時,運算子的優先順序影響著整個功能的執行流程 百寶雲中,運算子不支援短路運算 注意 優先順序代表同一表示式中運算子的運算順序,從高到低!同一級別的按從左到右的原則運算。下圖的優先順序是從高到低排列的 優先順...
百寶雲 讓辦公更高效便捷的辦公系統
19 年國慶節百寶雲迎來了自 16 年發布以來的最大一次更新,此次更新,百寶雲從互動,易用性,功能的全面性,系統的可擴充套件,各個方面都來了一次大的進步 百寶雲是乙個低代www.cppcns.com碼辦公應用搭建工具,使用者可以根據自己的需要搭建自己想要的辦公系統,基本能包含了辦公所需的所有功能,可...