java 二维数组的定义及操作

二维数组的定义有很多方式:
第一种方式:
数据类型[][] 数组名 = new数据类型[行的个数][列的个数];
下面以第一种方式声明一个数组,如下所示。
int[][] xx= new int[3][4]; 表示有三行,每行方四个数据


第二种方式:
数据类型[][] 数组名 = new int[行的个数][];
下面以第二种方式声明一个数组,如下所示。
int[][] xx= new int[3][];
第二种方式和第一种类似,只是数组中每行元素的长度不确定。

第三种方式:
数据类型[][] 数组名= {
          
   {
          
   第0行初始值},{
          
   第1行初始值},...,{
          
   第n行初始值}};
下面以第三种方式声明一个数组,如下所示。
int[][] xx= {
          
   {
          
   1,2},{
          
   3,4,5,6},{
          
   7,8,9}};
上面的二维数组arr中定义了三个元素,这三个元素都是数组,分别为{
          
   1,2}、{
          
   3,4,5,6}、{
          
   7,8,9}。

public class shuzu {
          
   
	public static void main(String[] args){
          
   
	//method01();
	//method02();
}
		
public static void method03()
{
          
   

/格式三:数据类型[][] 数组名= {
          
   {
          
   元素,元素,元素},{
          
   元素,元素,元素...}...};

int[][]arr ={
          
   {
          
   10,20},{
          
   30,40,50}};	
//获取二维数组中的数据
System.out.println(arr[0][0]);//结果:10
System.out.println(arr[0][1]);//结果:20
System.out.println(arr[1][0]);//结果:30
System.out.println(arr[1][1]);//结果:40
System.out.println(arr[1][2]);//结果:50
	
}
	
	
	
	
public static void method01()
{
          
   
  /格式二:数据类型[][] 数组名 = new数据类型[x][];
	int[][]arr=new int[2][];
	//定义2个一维数组
	int []arr1={
          
   10,20};
	int []arr2={
          
   30,40,50,60};
	arr[0]=arr1;//将arr1中的元素放在第0行
	arr[1]=arr2;//将arr2中的元素放在第1行
	//获取二维数组中的数据
			System.out.println(arr[0][0]);//结果:10
			System.out.println(arr[0][1]);//结果:20
			System.out.println(arr[1][0]);//结果:30
			System.out.println(arr[1][1]);//结果:40
			System.out.println(arr[1][2]);//结果:50
	
}
	
	
public static void method02()	
{
          
     /格式一:数据类型[][] 数组名 = new数据类型[x][y];		
		//创建一个长度为2的二维数组,可以保存2行,每行放2个元素
		int[][]arr=new int[2][2];
		System.out.println(arr);
		System.out.println(arr[0]);//打印的是索引是0行的地址[I@70dea4e	                            
		System.out.println(arr[1]);//打印的是索引是1行的地址[I@5c647e05
	//定义2个一维数组
		int []arr1={
          
   10,20};
		int []arr2={
          
   30,40};
		arr[0]=arr1;//将arr1中的元素放在第0行
		arr[1]=arr2;//将arr2中的元素放在第1行
		//获取二维数组中的数据
		System.out.println(arr[0][0]);//结果:10
		System.out.println(arr[0][1]);//结果:20
		System.out.println(arr[1][0]);//结果:30
		System.out.println(arr[1][1]);//结果:40
}
	
			
}




案例:通过二维数组保存公司销售组的销售数据
	 求每个销售小组的销售总金额
	 求公司所有销售小组的总金额
	
public class shux {
          
   
	public static void main(String[] args){
          
   
	int sum=0;
	int[][]arre={
          
    {
          
   10,20},{
          
   30,40},{
          
   50,60,70}};   //三个小组的金额
	
	for(int i=0;i<arre.length;i++)              //arre.length判断几行
	{
          
   	int groupsum=0;
		for(int j=0;j<arre[i].length;j++)        //arre[i].length判断m每行的元素个数
		{
          
   
		groupsum +=arre[i][j];
		}
		System.out.println("第"+(i+1)+"个小组总金额:"+groupsum);
		sum +=groupsum;	
	}
	System.out.println("公司总金额"+sum);
		
		
}
}
经验分享 程序员 微信小程序 职场和发展