Java基础_多维数组

1.数组语法

int[][] arrs
int[][] arrs={{1,2,3},{4,5},{6}};

一维数组:数组中的每个元素都是一个值。

二维数组:数组中的每个元素又是一个一维数组。

三维数组:数组中的每个元素又是一个二维数组。

严格意义上在Java中不存在多维数组和C语言做区分。

2.二维数组迭代

package HelloWorld;

public class ArrayInArrayDemo {

	public static void main(String[] args) {
		int [][] arr =new int[][] {{1,2,3},{4,5},{6}};
		for(int i=0;i<arr.length;i++) {
			for(int j=0;j<arr[i].length;j++) {
				System.out.print(arr[i][j]+" ");
			}
		}

	}

}

3.杨辉三角

package HelloWorld;
public class TriangleArray{
   public static void main(String[] args)
   {
      final int NMAX = 10; 
      int[][] odds = new int[NMAX + 1][];
      for (int n = 0; n <= NMAX; n++)
         odds[n] = new int[n + 1];  
      for (int n = 0; n < odds.length; n++)
         for (int k = 0; k < odds[n].length; k++)
         {
            int lotteryOdds = 1;
            for (int i = 1; i <= k; i++)
               lotteryOdds = lotteryOdds * (n - i + 1) / i;
 
            odds[n][k] = lotteryOdds;
         }
      for (int[] row : odds)
      {
         for (int odd : row)
            System.out.printf("%4d", odd);
         System.out.println();
      }
   }
}

4.实现int的数组的拷贝

package HelloWorld;

public class ArrayCopy {
	 // src:原数组 ,srcPos:从第几个开始,dast:目标数组,destPost:目标位置 length:长度
	static void arrayCopy(int[] src,int srcPos,int[] dast,int destPos ,int length) { 
		for(int i=0;i<length;i++) {
			dast[i+destPos]=src[i+srcPos];
		}
	}
    // 遍历数组
	static void PrintArray(int[] arr) {
		for(int a:arr) {
			System.out.print(a+" ");
		}
		System.out.println();	
	}
	public static void main(String[] args) {
		int[] src=new int[] {0,4,8,6,2,7,9};
		int[] dest=new int[src.length];
		PrintArray(src);
		arrayCopy(src,4,dest,3,2);
		PrintArray(dest);
	}

}

(2)

package HelloWorld;

public class ArrayCopy {
    // 遍历数组
	static void PrintArray(int[] arr) {
		for(int a:arr) {
			System.out.print(a+" ");
		}
		System.out.println();	
	}
	public static void main(String[] args) {
		int[] src=new int[] {0,4,8,6,2,7,9};
		int[] dest=new int[src.length];
		PrintArray(src);
		System.arraycopy(src,4,dest,3,2);
		PrintArray(dest);
		
	}

}

5.Java内置数组工具类Arrays

package HelloWorld;
public class ArrayUtil {
	public static void main(String[] args) {
		int[] arr=new int[]{13,7,5,6,8,10};
		//java.util.Arrays.sort(arr); //直接排序
		java.util.Arrays.sort(arr,1,3); //从1开始排,到2 [1,3)
		System.out.println(java.util.Arrays.toString(arr)); // 遍历
		System.out.println("索引:"+java.util.Arrays.binarySearch(arr,8)); //查找
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值