第十二天的日常更新--数组

上一次分享了数组的一些小知识,今天接着分享.

二维数组

二维数组表示的就是在数组中嵌套数组

那什么样的类型是二维数组呢?
1.数据类型[][] +数组名: int[][] arr;
2.数据类型 +数组名[][]: int arr[][];

二维数组的初始化;

动态初始化

:
1.数据类型[][] +数组名 = new 数据类型[一维长度][二维长度];—这边表示的是每一位的二维长度是相同的.
例如:arr[][]=new int[1][2];对它的一个赋值:arr[0][0]=1;arr[0][1]=1;arr[1][0];.
2.数据类型[][]+数组名=new 数据类型[一维的长度[][];第二位的每一个小数组的长度可以不同,因为第二位小数组还没有创建.
arr[外层数组索引]=new 数据类型[长度] …一维数组创建方式
例如: String[][] arr2=new String[3][];
arr2[0]=new String[2];
arr2[0][0]=“李”;
arr2[0][1]=“四”;
arr2[1]=new String[]{“李四”};
arr2[2]=new String[]{“哈哈”,“呵呵”,“嘻嘻”};

静态初始化

1.数据类型[][] 数组名 = new 数据类型[][]{{1,2},{1},{1,2,3}…};
它的遍历如下:
int[][] arr3 = new int[][]{{1,2},{1},{1,2,3}};
for(int[] a:arr3){
for(int s:a){
System.out.println(s);
}
}
2.数据类型[][] 数组名 = {{1,2},{1},{1,2,3}…};

二维数组的遍历

双重for循环嵌套.
for(int[] a:arr){
for(int s:a){
System.out.println(s);
}
}

下面在分享一个 Arrays的方法使用

Arrays.sort 对指定int类型的数组按数字的升序进行排序.
static void sort(int[] a)
int[] arr={3,4,1,6,8};
Arrays.sort(arr);

Arrays.toString 返回指定数组内容的字符串表现形式.
static String toString(int[] a)
System.out.println(Arrays.toString(arr));

Arrays.binarySearch 使用二分检索法来搜索指定int 行数组,以获得指定的值.
static int binarySearch(int[] a, int key);
System.out.println(Arrays.binarySearch(arr, 3));

boolean[] arr2=new boolean[5];
Arrays.fill(arr2,ture) 将这段booiean值分配给指定 boolean型数组的每一个元素.
static void fill(boolean[] a, boolean val)

static void fill(boolean[] a, int fromIndex, int toIndex, boolean val)
Arrays.fill(arr2,1,4,false);将指定boolean值分配给指定boolean型数组指定的范围中的每个元素.

我在说说异常吧.
异常可以理解为程序生病了.具体分为两大类.
Error:这类错误一般是虚拟机生产或脱出的,是程序员无法控制的.
Exception:分为两类:检查时异常和运行时异常.
检查时异常|编译时异常 Checked Exception:如果遇到,必须要进行处理,赋值程序无法运行,发生在编译期.
运行时异常:RuntimeException:程序运行才知道是否有异常 ,要增强程序的健壮性.if…else…

下面是一些运行时的异常
1.空指针异常NullPointerException
2.数组下标越界 ArrayIndexOutOfBoundsException
3.负数异常 NegativeArraySizeException
4.数学异常 ArithmeticException
5.字符串索引越界异常 StringIndexOutOfBoundsException

异常的处理方法的两种方法:
1.抛出异常:throws把异常抛到上一层.
2.捕获异常:try{可能会出现的异常} catch{如果出现…异常,执行以下代码}finally{无论try中的代码是否有异常,finally中的内容一定会执行.}.
需要注意3个要点
1.try后面可以接一个或多个catch,捕获不同类型的异常.
2.把大范围的catch写在最后,小范围的写在前面,否则永远都不会执行到.
3.如果try中一旦出现异常,try中的代码都不会执行,执行对应的catch的内容.

还有一个自定义异常
我们需要了解的就是如何处理异常
编译时异常:1)throws 2)try…catch
运行时异常:1)增强程序健壮性 2)throws 3)try…catch

今天就先分享这么多吧.

猜你喜欢

转载自blog.csdn.net/weixin_45116848/article/details/91352239
今日推荐