一 二维数组的定义
1.第一种方法
格式:
数据类型[][] 数组名 = new 数据类型[大一维数组长度][小一维数组长度]
例如:
int[][] arr = new int[3][2]; arr[0][0]=99; arr[0][1]=100; arr[2][0]=88; System.out.println(arr[0][0]); System.out.println(arr[0][1]); System.out.println(arr[2][0]); System.out.println(arr[1][0]); System.out.println(arr[0]); System.out.println(arr);
2.第二种方法
格式:
数据类型[][] 数组名=new 数据类型[大一维数组长度][]
例如:
double[][] arr = new double[3][]; double[] arr1 = {1.2,1.6,1.8}; double[] arr2 = {7.7,6.6}; double[] arr3 = {1.3}; arr[0]=arr1; arr[1]=arr2; arr[2]=arr3; System.out.println(arr[0][0]);
3.第三种方法
格式:
数据类型[][] 数组名={{元素,元素...},{元素,元素...}...}
例如:
String[][] arr = {{"amy","tom","tony"},{"jerry","baidu"},{"blue"}};
二 二维数组元素的访问
操作二维数组时,经常需要获取数组中元素的值。
例如:
class ArrayDemo08 { public static void main(String[] args){ //定义二维数组的方式 int[][] arr = new int[3][4]; System.out.println( arr ); System.out.println("二维数组的长度: " + arr.length); //获取二维数组的3个元素 System.out.println( arr[0] ); System.out.println( arr[1] ); System.out.println( arr[2] ); System.out.println("打印第一个一维数组的元素值"); System.out.println( arr[0][0] ); System.out.println( arr[0][1] );//访问的为二维数组中第1个一维数组的第2个元素 System.out.println( arr[0][2] ); System.out.println( arr[0][3] ); System.out.println("打印第二个一维数组的元素值"); System.out.println( arr[1][0] ); System.out.println( arr[1][1] ); System.out.println( arr[1][2] ); System.out.println( arr[1][3] ); System.out.println("打印第三个一维数组的元素值"); System.out.println( arr[2][0] ); System.out.println( arr[2][1] ); System.out.println( arr[2][2] ); System.out.println( arr[2][3] ); } }
三 二维数组的遍历和累加
class ArrayDemo09 { public static void main(String[] args){ //一维数组的求累加和并遍历 int[] arr = {10,20,30,40,50}; int sum = 0; for (int i=0; i<arr.length; i++) { //System.out.println(arr[i]); sum += arr[i]; } System.out.println("sum= " + sum); System.out.println("---------------------"); //二维数组的求累加和并遍历 int[][] arr2 = { {1,2},{3,4,5},{6,7,8,9,10} }; int sum2 = 0; for (int i=0; i<arr2.length; i++) { for (int j=0; j<arr2[i].length; j++) { //System.out.println(arr2[i][j]) sum2 += arr2[i][j]; } } System.out.println("sum2= "+ sum2); } }
四 例题
1.统计一个公司三个销售小组中每个小组的总销售额以及整个公司的销售额。如下所示
第一小组销售额为{11, 12}万元
第二小组销售额为{21, 22, 23}万元
第三小组销售额为{31, 32, 33, 34}万元。
int[][] arr = {{11,12},{21,22,23},{31,32,33,34}}; int sum1=0; int sum2=0; for (int i = 0;i<arr.length ;i++ ){ for (int j = 0;j<arr[i].length ;j++ ){ sum1+=arr[i][j]; } System.out.println("第"+(i+1)+"小组的总销售额为:"+sum1); sum2+=sum1; } System.out.println("========================="); System.out.println("整个公司的销售额为:"+sum2);
2.随机点名器,即在全班同学中随机的打印出一名同学名字。
要做的随机点名器,它具备以下3个内容:
存储所有同学姓名
总览全班同学姓名
随机点名其中一人,打印到控制台
System.out.println("========================="); String[] name ={"张三","李四","王五","赵六","孙七"}; for (int i = 0;i<name.length ;i++ ){ System.out.print(name[i]+" "); } System.out.println(); Random ra = new Random(); int i = ra.nextInt(name.length); System.out.println(name[i]);