什麼是陣列
陣列(Array)是有序的元素序列。若將有限個類型相同的變數的集合命名,那麼這個名稱為數組名。組成數組的各個變數稱為數組的分量,也稱為數組的元素,有時也稱為下標變數/12713827)。用於區分數組的各個元素的數字編號稱為下標。數組是在程式設計中,為了處理方便, 把具有相同類型的若干元素以有序的形式組織起來的一種形式。這些有序排列的同類資料元素的集合稱為數組。數組是用於儲存多個相同類型資料的集合。
舉例(裝備欄)
數組,元素與下標:
例如打王者榮耀時每個人都要出裝備,每個人都有自己的裝備欄。那麼這個裝備欄就是一個數組,裡面的裝備就是元素,裝備放的位置就是下標。也就是說每個下標都對應一個裝備,下標是從0開始的,所以第一個裝備對應的下標為0
#宣告陣列
int型別
宣告數組時固定數組長度,數組的長度是不變的。兩種聲明方式,第一種聲明時直接賦值。第二種聲明時不賦值,但固定長度,雖然沒有賦值但是會預設全部元素賦值0。
public class Test { public static void main(String[] args) { //声明int类型数组并初始化赋值 int[] a={1,2,3,4,5,}; //声明数组设值数组长度,并初始化全为0 int[] b=new int[10]; } }
String類型
這裡與上面沒什麼差別也是兩種宣告方法。
public class Test { public static void main(String[] args) { //声明int类型数组并初始化赋值 int[] a={1,2,3,4,5,}; //声明数组设值数组长度,并初始化全为0 int[] b=new int[10]; //声明String类型数组并初始化赋值 String[] d={"aa","bb","cc"}; //声明数组固定长度,默认初始化全为0 String[] c=new String[10]; } }
陣列操作
遍歷陣列
遍歷陣列:兩種方法,for迴圈和for in 迴圈
for循環,這裡我在陣列中放了三個元素,也就是裝備。循環輸出,從下標為0的開始輸出. zb.length 是這個陣列的大小
public class Test { public static void main(String[] args) { String[] zb={"冷静之靴","泣血之刃","名刀司命"}; for (int i = 0; i < zb.length; i++) { System.out.println(zb[i]); } } }
結果:
for in循環,忘了這個循環怎麼用的可以參考上一篇文章,金丹篇有詳細介紹。
public class Test { public static void main(String[] args) { String[] zb={"冷静之靴","泣血之刃","名刀司命"}; for (String s : zb) { System.out.println(s); } } }
二維數組
二維數組本質上是以數組作為數組元素的數組,即“數組的數組”,類型說明符數組名[常數表達式][常數表達式式]。二維數組又稱為矩陣,行列數相等的矩陣稱為方陣。對稱矩陣a[i][j] = a[j][i],對角矩陣:n階方陣主對角線外都是零元素。
二維數組就是一個普通一維數組中每個元素都是一個一維數組,組合起來就是一個二維數組。
繼續使用之前的範例。每局遊戲開始,一方的資料面板有個預設排序(顯示裝備,經濟的那個面板)。每個人有一個裝備欄,相當於一個陣列。那麼資訊面板上有五個裝備欄(一方隊伍),並且按預設順序排列,也相當於一個陣列。一個裝備欄算一個元素,裝備欄的位置就是下標。但是這個數組中的每個元素也是一個數組,所以資料面板就等於是一個二維數組。
宣告二維陣列
宣告二維陣列的方法和宣告陣列沒什麼差別還是兩種情況
public class Test { public static void main(String[] args) { //声明二维数组并赋值 int[][] a={{123},{456},{789}}; //声明二维数组固定大小 int[][] ns = new int[3][5]; } }
上面用王者榮耀介紹二維陣列可能有些讀者還有點迷,現在把上面那個例子用程式碼敲出來。
這裡想不起來裝備啥名了,後面三個人的裝備我直接複製了
public class Test { public static void main(String[] args) { //五个人,每个人装备栏有三个装备。 String[][] wzry=new String[5][3]; //给第一个人买装备,就是给第一个数组赋值 wzry[0][0]="宝石"; wzry[0][1]="血刀"; wzry[0][2]="金身"; //给第二个人买装备,就是给第二个数组赋值 wzry[1][0]="铁剑"; wzry[1][1]="草鞋"; wzry[1][2]="护甲"; //给第三个人买装备,就是给第三个数组赋值 wzry[2][0]="宝石"; wzry[2][1]="血刀"; wzry[2][2]="金身"; //给第四个人买装备,就是给第四个数组赋值 wzry[3][0]="宝石"; wzry[3][1]="血刀"; wzry[3][2]="金身"; //给第五个人买装备,就是给第五个数组赋值 wzry[4][0]="宝石"; wzry[4][1]="血刀"; wzry[4][2]="金身"; } }
現在來運行一下看看每個人的裝備都有啥
//第三个人的第二个装备 System.out.println("第三个人的第二个装备"); System.out.println(wzry[2][1]); //第一个人的第三个装备 System.out.println("第一个人的第三个装备"); System.out.println(wzry[0][2]); //第五个人的全部装备 System.out.println("第五个人的全部装备"); for (int i = 0; i < 3; i++) { System.out.println(wzry[4][i]); }
結果:
以上是Java二維數組的詳細介紹及實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

本文解釋了用於構建分佈式應用程序的Java的遠程方法調用(RMI)。 它詳細介紹了接口定義,實現,註冊表設置和客戶端調用,以解決網絡問題和安全性等挑戰。

本文詳細介紹了用於網絡通信的Java的套接字API,涵蓋了客戶服務器設置,數據處理和關鍵考慮因素,例如資源管理,錯誤處理和安全性。 它還探索了性能優化技術,我

本文詳細介紹了創建自定義Java網絡協議。 它涵蓋協議定義(數據結構,框架,錯誤處理,版本控制),實現(使用插座),數據序列化和最佳實踐(效率,安全性,維護


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。