数组
1)常见的异常:
Throwable 类 :
error: 严重错误,无法直接解决 (内存溢出),可以通过第三方的技术避免!
Exception:表示程序异常了
RuntimeException:运行时期异常;不是RunTimeException异常,编译时期异常
ArrayIndexOutOfBoundsException:数组角标越界异常 (运行时期异常);出现这个异常的原因:访问了数组中的不存在的角标
NullPointerException:也属于运行时期异常
出现异常的原因:对象都不存在了或者为null,还有通过对象访问数组中的元素值,肯定出现问题了
二维数组
二维数组的概念:二维数组的元素就是一个一维数组,以及一维数组对应的长度
定义格式1:动态初始化
数据类型[][] 数组名称 = new 数据类型[m][n] ; (推荐第一种)
数据类型 数组名称[][] = new 数据类型[m][n] ;
定义格式2:
数据类型[][] 数组名称 =new 数据类型[m][] ;
定义格式3 :给定具体的元素内容,静态初始化
基本格式
数据类型[][] 数组名称 = new 数据类型[][]{{元素1,元素2…},{元素1,元素2…},{元素1,元素2…}…} ;
简写格式
数据类型[][] 数组名称 = {{元素1,元素2…},{元素1,元素2…},{元素1,元素2…}…} ;
二维数组的遍历:
class BianLi{
public static void main(String[]args){
int[] arr={{1,2,3},{4,5,6},{7,8,9}};
Array2(arr);
}
public static void Array2(int[][] arr){
for(int x=0;x<arr.length;x++){
for(int y=0;y<arr[x].length;y++){
System.out.print(arr[x][y]+" ")
}
}
}
}
数组的应用
一维数组的最大值最小值:
class MaxMin{
public static void main(String[]args){
int[] arr={1,12,13,45,3};
int max=Max(arr);
System.out.println(“数组中最大的值是:”+max);
int min=Min(arr);
System.out.println(“数组中最小的值是:”+min);
}
public static int Max(int[] arr){
int max=arr[0];
for(int x=0;x<arr.length;x++){
if(arr[x]>max){
max=arr[x];
}
}
return max;
}
public static int Min(int[] arr){
int min=arr[0];
for(int x=0;x<arr.length;x++){
if(arr[x]<min){
min=arr[x];
}
}
return min;
}
}
数组的元素逆序:
class NiXu{
public static void main(String[]args){
int[] arr={2,12,9,6,1};
System.out.println(“排序前:”);
Array(arr);
System.out.println();
System.out.println(“排序后:”);
NiXu(arr);
Array(arr);
}
public static void Array(int[] arr){
System.out.print("[");
for(int x=0;x<arr.length;x++){
if(x==arr.length-1){
System.out.pritn(arr[x]+"]");
}else{
System.out.print(arr[x]+",");
}
}
}
public static void NiXu(int[] arr){
for(int x=0;x<arr.length/2;x++){
int temp=arr[x];
arr[x]=arr[arr.length-1-x];
arr[arr.length-1-x]=temp;
}
}
}
}
来源:CSDN
作者:Lliang_xin
链接:https://blog.csdn.net/Lliang_xin/article/details/103809865