Java?在游戲中探索數(shù)組二維數(shù)組
什么是數(shù)組
數(shù)組(Array)是有序的元素序列。 若將有限個(gè)類型相同的變量的集合命名,那么這個(gè)名稱為數(shù)組名。組成數(shù)組的各個(gè)變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時(shí)也稱為下標(biāo)變量/12713827)。用于區(qū)分?jǐn)?shù)組的各個(gè)元素的數(shù)字編號(hào)稱為下標(biāo)。數(shù)組是在程序設(shè)計(jì)中,為了處理方便, 把具有相同類型的若干元素按有序的形式組織起來的一種形式。 這些有序排列的同類數(shù)據(jù)元素的集合稱為數(shù)組。 數(shù)組是用于儲(chǔ)存多個(gè)相同類型數(shù)據(jù)的集合。
舉例(裝備欄)

數(shù)組,元素和下標(biāo):
比如打王者榮耀時(shí)每個(gè)人都要出裝備,每個(gè)人都有自己的裝備欄。那么這個(gè)裝備欄就是一個(gè)數(shù)組,里面的裝備就是元素,裝備放的位置就是下標(biāo)。也就是說每個(gè)下標(biāo)都對(duì)應(yīng)一個(gè)裝備,下標(biāo)是從0開始的,所以第一個(gè)裝備對(duì)應(yīng)的下標(biāo)為0
聲明數(shù)組
int類型
聲明數(shù)組時(shí)固定數(shù)組長(zhǎng)度,數(shù)組的長(zhǎng)度是不變的。 兩種聲明方式,第一種聲明時(shí)直接賦值。第二種聲明時(shí)不賦值,但固定長(zhǎng)度,雖然沒有賦值但是會(huì)默認(rèn)將全部元素賦值0。
public class Test {
public static void main(String[] args) {
//聲明int類型數(shù)組并初始化賦值
int[] a={1,2,3,4,5,};
//聲明數(shù)組設(shè)值數(shù)組長(zhǎng)度,并初始化全為0
int[] b=new int[10];
}
}String類型
這里與上面沒什么區(qū)別也是兩種聲明方法。
public class Test {
public static void main(String[] args) {
//聲明int類型數(shù)組并初始化賦值
int[] a={1,2,3,4,5,};
//聲明數(shù)組設(shè)值數(shù)組長(zhǎng)度,并初始化全為0
int[] b=new int[10];
//聲明String類型數(shù)組并初始化賦值
String[] d={"aa","bb","cc"};
//聲明數(shù)組固定長(zhǎng)度,默認(rèn)初始化全為0
String[] c=new String[10];
}
}數(shù)組操作
遍歷數(shù)組
遍歷數(shù)組: 兩種方法,for循環(huán)和for in 循環(huán)
for循環(huán),這里我在數(shù)組中放了三個(gè)元素,也就是裝備。循環(huán)輸出,從下標(biāo)為0的開始輸出. zb.length 是這個(gè)數(shù)組的大小
public class Test {
public static void main(String[] args) {
String[] zb={"冷靜之靴","泣血之刃","名刀司命"};
for (int i = 0; i < zb.length; i++) {
System.out.println(zb[i]);
}
}
}結(jié)果:

for in循環(huán),忘了這個(gè)循環(huán)怎么用的可以參考上一篇文章,金丹篇有詳細(xì)介紹。
public class Test {
public static void main(String[] args) {
String[] zb={"冷靜之靴","泣血之刃","名刀司命"};
for (String s : zb) {
System.out.println(s);
}
}
}二維數(shù)組
二維數(shù)組本質(zhì)上是以數(shù)組作為數(shù)組元素的數(shù)組,即“數(shù)組的數(shù)組”,類型說明符 數(shù)組名[常量表達(dá)式][常量表達(dá)式]。二維數(shù)組又稱為矩陣,行列數(shù)相等的矩陣稱為方陣。對(duì)稱矩陣a[i][j] = a[j][i],對(duì)角矩陣:n階方陣主對(duì)角線外都是零元素。
二維數(shù)組就是一個(gè)普通一維數(shù)組中每個(gè)元素都是一個(gè)一維數(shù)組,組合起來就是二維數(shù)組。

繼續(xù)用之前的例子。每局游戲開始,一方的數(shù)據(jù)面板有個(gè)默認(rèn)排序(顯示裝備,經(jīng)濟(jì)的那個(gè)面板)。每個(gè)人有一個(gè)裝備欄,相當(dāng)于是一個(gè)數(shù)組。那么信息面板上有五個(gè)裝備欄(一方隊(duì)伍),并且按默認(rèn)順序排列,也相當(dāng)于一個(gè)數(shù)組。一個(gè)裝備欄算一個(gè)元素,裝備欄的位置就是下標(biāo)。但是這個(gè)數(shù)組中的每個(gè)元素也是一個(gè)數(shù)組,所以數(shù)據(jù)面板就相當(dāng)于是一個(gè)二維數(shù)組。
聲明二維數(shù)組
聲明二維數(shù)組的方法和聲明數(shù)組沒什么區(qū)別還是兩種情況
public class Test {
public static void main(String[] args) {
//聲明二維數(shù)組并賦值
int[][] a={{123},{456},{789}};
//聲明二維數(shù)組固定大小
int[][] ns = new int[3][5];
}
}上面用王者榮耀介紹二維數(shù)組可能有些讀者還有點(diǎn)迷,現(xiàn)在把上面那個(gè)例子用代碼敲出來。
這里想不起來裝備啥名了,后面三個(gè)人的裝備我直接 復(fù)制了
public class Test {
public static void main(String[] args) {
//五個(gè)人,每個(gè)人裝備欄有三個(gè)裝備。
String[][] wzry=new String[5][3];
//給第一個(gè)人買裝備,就是給第一個(gè)數(shù)組賦值
wzry[0][0]="寶石";
wzry[0][1]="血刀";
wzry[0][2]="金身";
//給第二個(gè)人買裝備,就是給第二個(gè)數(shù)組賦值
wzry[1][0]="鐵劍";
wzry[1][1]="草鞋";
wzry[1][2]="護(hù)甲";
//給第三個(gè)人買裝備,就是給第三個(gè)數(shù)組賦值
wzry[2][0]="寶石";
wzry[2][1]="血刀";
wzry[2][2]="金身";
//給第四個(gè)人買裝備,就是給第四個(gè)數(shù)組賦值
wzry[3][0]="寶石";
wzry[3][1]="血刀";
wzry[3][2]="金身";
//給第五個(gè)人買裝備,就是給第五個(gè)數(shù)組賦值
wzry[4][0]="寶石";
wzry[4][1]="血刀";
wzry[4][2]="金身";
}
}現(xiàn)在來運(yùn)行一下看看每個(gè)人的裝備都有啥
//第三個(gè)人的第二個(gè)裝備
System.out.println("第三個(gè)人的第二個(gè)裝備");
System.out.println(wzry[2][1]);
//第一個(gè)人的第三個(gè)裝備
System.out.println("第一個(gè)人的第三個(gè)裝備");
System.out.println(wzry[0][2]);
//第五個(gè)人的全部裝備
System.out.println("第五個(gè)人的全部裝備");
for (int i = 0; i < 3; i++) {
System.out.println(wzry[4][i]);
}結(jié)果:

到此這篇關(guān)于Java 在游戲中探索數(shù)組二維數(shù)組的文章就介紹到這了,更多相關(guān)Java 數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用java數(shù)組 封裝自己的數(shù)組操作示例
這篇文章主要介紹了使用java數(shù)組 封裝自己的數(shù)組操作,結(jié)合實(shí)例形式分析了java數(shù)組索引、遍歷等相關(guān)封裝操作技巧與注意事項(xiàng),需要的朋友可以參考下2020-03-03
詳解如何把Java中if-else代碼重構(gòu)成高質(zhì)量代碼
這篇文章主要介紹了詳解如何把Java中if-else代碼重構(gòu)成高質(zhì)量代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
MybatisX無法自動(dòng)生成entity實(shí)體類的解決方法
本文主要介紹了MybatisX無法自動(dòng)生成entity實(shí)體類的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
java web實(shí)現(xiàn)用戶權(quán)限管理
這篇文章主要介紹了java web實(shí)現(xiàn)用戶權(quán)限管理,設(shè)計(jì)并實(shí)現(xiàn)一套簡(jiǎn)單的權(quán)限管理功能,感興趣的小伙伴們可以參考一下2015-11-11
在js與java中判斷json數(shù)據(jù)中是否含有某字段的案例
這篇文章主要介紹了在js與java中判斷json數(shù)據(jù)中是否含有某字段的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12
Java通過數(shù)據(jù)庫表生成實(shí)體類詳細(xì)過程
這篇文章主要介紹了Java通過數(shù)據(jù)庫表生成實(shí)體類,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-02-02

