二維數(shù)組的概述:
二維數(shù)組其實(shí)就是一個(gè)元素為一維數(shù)組的數(shù)組吊奢;
格式1:
- 數(shù)據(jù)類型[][] 變量名=new 數(shù)據(jù)類型[m][n];
m表示這個(gè)二維數(shù)組有多少個(gè)數(shù)組
n表示每一個(gè)一維數(shù)組的元素個(gè)數(shù) - 舉例:
int[][] arr=new int[3][2];
定義了一個(gè)二維數(shù)組arr
這個(gè)二維數(shù)組有3個(gè)一維數(shù)組,名稱是ar[0],arr[1],arr[2]
每個(gè)一維數(shù)組有2個(gè)元素加矛,可以通過arr[m][n]來獲取
格式2:
- 數(shù)據(jù)類型[][] 變量名=new 數(shù)據(jù)類型[m][];
m表示這個(gè)二維數(shù)組有多少個(gè)數(shù)組
這一次沒有直接給出一維數(shù)組的元素個(gè)數(shù),可以動態(tài)的給出 - 舉例:
int[][] arr=new int[3][];
arr[0] = new int[2];
arr[1]= new int[3];
arr[2]=new int[1];
格式3:
數(shù)據(jù)類型[][] 變量名=new 數(shù)據(jù)類型[][]{{元素...},{元素...},{元素...}};
也可以是:
數(shù)據(jù)類型[][] 變量名={{元素...},{元素...},{元素...}};
舉例:int[][] arr={{1,2,3},{4,6},{6}}
練習(xí):
1.遍歷一個(gè)行列確定的二維數(shù)組;
package cn.manman.com;
/*
* 創(chuàng)建一個(gè)二維數(shù)組
* 并且遍歷二維數(shù)組
*/
public class erweishuzu {
public static void main(String[] args) {
int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
for(int x=0;x<arr.length;x++){
for(int y=0;y<arr[x].length;y++){
System.out.print(arr[x][y]);
}
System.out.println();
}
}
}
用方法改進(jìn):
package cn.manman.com;
/*
* 創(chuàng)建一個(gè)二維數(shù)組
* 并且遍歷二維數(shù)組
*/
public class erweishuzu {
public static void main(String[] args) {
int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
printArray(arr);
}
public static void printArray(int[][] arr){
for(int x=0;x<arr.length;x++){
for(int y=0;y<arr[x].length;y++){
System.out.print(arr[x][y]);
}
System.out.println();
}
}
}
結(jié)果
2.遍歷一個(gè)行列變化的數(shù)組
package cn.manman.com;
/*
* 遍歷一個(gè)行列變化的數(shù)組
*/
public class bianlishuzu2 {
public static void main(String[] args) {
int [][] arr={{1,2,3},{4,5},{6}};
printArray(arr);
}
public static void printArray(int[][] arr){
for(int x=0;x<arr.length;x++){
for(int y=0;y<arr[x].length;y++){
System.out.print(arr[x][y]);
}
System.out.println();
}
}
}
我們會發(fā)現(xiàn)其實(shí)代碼是一樣的焕济,所以說所有的二維數(shù)組的遍歷使用的都是雙層for循環(huán),第一層遍歷的是x,第二層遍歷的是y盔几;
3.公司年銷售額求和
某公司按照季度和月份統(tǒng)計(jì)的數(shù)據(jù)如下:
第一季度:22晴弃,66,44
第二季度:77逊拍,33上鞠,88
第三季度:11,66芯丧,99
第四季度:25芍阎,45,65
package cn.manman.com;
/*
* 公司年銷售額求和
某公司按照季度和月份統(tǒng)計(jì)的數(shù)據(jù)如下:
第一季度:22缨恒,66谴咸,44
第二季度:77,33骗露,88
第三季度:11岭佳,66,99
第四季度:25椒袍,45驼唱,65
分析:將題目中的數(shù)據(jù)用二位數(shù)組來表示
int[][] arr ={{22,66,44},{77,33,88},{25,45,65},{11,66,99}}
*/
public class lianxi {
public static void main(String[] args) {
int[][] arr ={{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
printArray(arr);
}
public static void printArray(int[][] arr){
int sum=0;
for(int x=0;x<arr.length;x++){
for(int y=0;y<arr[x].length;y++){
sum+=arr[x][y];
}
}
System.out.println(sum);
}
}
結(jié)果