二维数组的初始化:
类型[ ][ ] 数组名 = new 类型[行 ][列 ] {{数据},{数据}};
二维数组相当于定义一个几行几列的矩形,第一个用来控制行号,第二个用来控制几列,也就是具体的数据。
例:第一个三行三列的二维数组:int[][] arr = new int[3][3]{{1,2,3},{4,5,6},{7,8,9}};
同样数组也可以分开来赋值,比如:
int[][] arr;
arr[][]=new int[][]{{1,2,3},{4,5,6},{7,8,9}};
二维数组的遍历:
public class Array2 {
public static void main(String[] args) {
// 定义一个五行五列的二维数组
int[][] arr = new int[5][5];
// 通过循环来给数组循环赋值
// 外层for循环用来控制二维数组第一个数的长度
for(int i=0;i<arr.length;i++){
// 内层用来控制,二维数组里的一维数组的长度,所以要写成arr[i].length
for (int j=0;j<arr[i].length;j++){
arr[i][j]=(int)(Math.random()*(100-60)+60);
}
}
// 通过循环遍历数组
for(int i=0;i<arr.length;i++){
for (int j=0;j<arr[i].length;j++){
// arr[i][j]=(int)(Math.random()*(100-60)+60);
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}
}
如果你要获取单个元素,一定要知道,他的行坐标,与列坐标,且,他们都是从0开始的,所以,最大长度(有效长度)就是,定义数组长度减一。
数组类方法:
package ArraysFor;
import java.util.*;
public class Array3 {
public static void main(String[] args) {
int[] arr1 = {11,22,33,44};
int[] arr2 = {11,22,33,44};
int[] arr3 = {12,56,3,4,65,12,};
// 比较两个数组是否相等
System.out.println("比较两个数是否相等,相等返回true,不相等返回false");
System.out.println(Arrays.equals(arr1,arr2));
// 进行升序排序
System.out.println("升序排列");
Arrays.sort(arr3);
// 把数组元素转换成字符串输出
System.out.println(Arrays.toString(arr3));
// 把数组中的元素都替换成指定的
System.out.println("赋值指定字符");
Arrays.fill(arr2,0);
// 在输出看下
System.out.println(Arrays.toString(arr2));
// 定义一个数组用来接收新数组,copyof是把指定顶的数组赋值给arr4
// 相当于把,arr3赋值给arr4,后面跟的长度,是多少就赋值给arr4多少。
// 输入长度小于元素组长度,就把arr3输入长度(下标)之前的数组赋值给arr4
// 如果超过元数组长度,多余的就赋值为默认值:0;
// 长度短的
System.out.println("长度短的");
int[] arr4=Arrays.copyOf(arr3,3);
System.out.println(Arrays.toString(arr4));
// 长度长的
System.out.println("长度长的");
int[] arr5=Arrays.copyOf(arr3,10);
System.out.println(Arrays.toString(arr5));
// 查找指定元素的下标
System.out.println("查找指定元素的下标:");
System.out.println(Arrays.binarySearch(arr3,56));
}
}
本文含有隐藏内容,请 开通VIP 后查看