数组——多维数组、Arrays类讲解
多维数组
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。
二维数组
int a[][] = new int[2][5];
解析:以上二维数组a可以看成一个两行五列的数组。
public static void main(String[] args) {
//[4][2] 面向对象
/*
* 1,2 array[0]
* 2,3 array[1]
* 3,4 array[2]
* 4,5 array[4]
**/
int[][] array = {{1,2},{2,3},{3,4},{4,5}};
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.println(array[i][j]);
}
}
}
//输出结果
1
2
2
3
3
4
4
5
Process finished with exit code 0
Arrays类
数据的工具类java.util,Arrays
由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。
查看JDK帮助文档
Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用"而不是"不能")
具有以下常用功能:
-
给数组赋值:通过fill方法。
-
对数组排序:通过sort方法,按升序。
-
比较数组:通过equals方法比较数组中元素值是否相等。
-
查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。
代码示例:
public static void main(String[] args) {
int[] a = {12,3,99,555,6452,312,11,20};
System.out.println(a); //[I@1b6d3586
System.out.println("====================");
//打印数组元素Arrays.toString
System.out.println(Arrays.toString(a));
System.out.println("====================");
printyArray(a);
System.out.println("====================");
//数组进行排序:升序
Arrays.sort(a);
System.out.println(Arrays.toString(a));
System.out.println("====================");
//数组填充,例如将下标为2到4的元素,填充为0
Arrays.fill(a,2,4,0);
System.out.println(Arrays.toString(a));
}
//我们也可以自己写一个打印数组元素的方法
public static void printyArray(int[] a) {
for (int i = 0; i < a.length; i++) {
if (i==0) {
System.out.print("[");
}
if (i==a.length-1) {
System.out.println(a[i]+"]");
}else {
System.out.print(a[i]+", ");
}
}
}
//输出结果
[I@1b6d3586
====================
[12, 3, 99, 555, 6452, 312, 11, 20]
====================
[12, 3, 99, 555, 6452, 312, 11, 20]
====================
[3, 11, 12, 20, 99, 312, 555, 6452]
====================
[3, 11, 0, 0, 99, 312, 555, 6452]
Process finished with exit code 0
每日Java面试题
一、error和exception有什么区别?
error表示系统级的错误,是java运行环境内部错误或者硬件问题,不能指望程序来处理这样的问题,除了退出运行外别无选择,它是Java虚拟机抛出的。
exception表示程序许哟啊捕捉、需要处理的异常,是由于程序设计的不完善而出现的问题,程序必须处理的问题。
二、说出5个你常见的RuntimeException?
-
Java.lang.NullPointerException:空指针异常;出现原因:调用了未经初始化的对象或者是不存在的对象。
-
Java.lang.NumberFormatException:字符串转换为数字异常;出现原因:字符型数据中包含非数字型字符。
-
Java.lang.IndexOutOfBoundsException:数组角标越界异常,常见于操作数组对象时发生。
-
Java.lang.IllegalArgumentException:方法传递参数错误。
-
Java.lang.ClassCastException:数据类型转换异常。
三、throw和throws的区别?
throw:
-
throw语句用在方法体内,表示抛出异常,由方法体内的语句处理。
-
throw是具体向外抛出异常的动作,所以它抛出的是一个异常实例,执行throw一定是抛出了某种异常。
throws:
-
@throws语句是用在方法声明后面,表示如果抛出异常,由该方法的调用者来进行异常的处理。
-
throws主要出现异常的一种可能性,并不一定会发生这种异常。