javase20190607

本文深入讲解二维数组的概念、声明、初始化及遍历方法,包括动态与静态初始化,通过具体实例演示了如何操作二维数组,并介绍了异常处理的基本原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二维数组:

数组中嵌套数组就是二维数组

 二维数组的声明
数据类型[][] 数组名;  --推荐
数据类型  数组名[][];

初始化:
动态:
	数据类型[][] 数组名 = new 数据类型[一维的长度][二维的长度];--每一个第二位的小数组长度相同
	数据类型[][] 数组名 = new 数据类型[一维的长度][];--第二位的每一个小数组的长度可以不同,第   二位的小数组还没有创建
		每个数组  arr[外层数组索引]=new 数据类型[长度] |...一维数组创建方式

静态:
	数据类型[][] 数组名 = new 数据类型[][]{{1,2},{1},{1,2,3}...};
	数据类型[][] 数组名 = {{1,2},{1},{1,2,3}...};
二维数组的遍历:
	双重for循环嵌套

实例:
public class TwiceArray {

  public static void main(String[] args) {
	//二维数组定义
	//动态方法
	//1.确定长度:
	int[][] a=new int[2][3];
	a[0][0]=2;
	a[0][1]=3;
	a[0][2]=5;
	a[1][0]=4;
	a[1][1]=6;
	a[1][2]=7;
	for(int i=0;i<a.length;i++){
		for(int j=0;j<a[i].length;j++){
			System.out.println(a[i][j]);
		}
	}
	System.out.print("-------------");
	//2.先定义外围,不确定内部,后赋值
	int[][] b=new int[2][];
	b[0]=new int[3];
	b[1]=new int[2];
	b[0][0]=2;
	b[0][1]=3;
	b[0][2]=5;
	b[1][0]=4;
	b[1][1]=6;
	for(int i=0;i<b.length;i++){
		for(int j=0;j<b[i].length;j++){
			System.out.println(b[i][j]);
		}
	}
	System.out.print("---------------");
	//静态方法
	//1.带new,能直接确定式数组
	int[][] c=new int[][]{{3,3},{9,5,8},{2,9}};
	for(int[] i:c){
		for(int j=0;j<i.length;j++){
			System.out.println(i[j]);
		}
	}
	System.out.println("-------------------");
	int[][] d={{2,3},{3,8,6},{9,12}};
	for(int[] i:d){
		for(int j:i){
			System.out.print(j);
		}
	}
	for(int[] i:d){
		int num=100;
		for(int j=0;j<i.length;j++){
			i[j]+=100;
			num++;
		}
	}
}
}

异常:程序生病了

	Throwable
	/		\
Error	 Exception 
			/ 	\
CheckedException  RuntimeException
Error:这类错误一般是虚拟机生产或脱出的,程序员无法控制,不需要管
Exception:
检查时异常|编译时异常 CheckedException:如果遇到,必须进行处理,否则程序无法运行,发生在编译  期
运行时异常 RuntimeException:程序运行才知道是否有异常  增强程序的健壮性处理  if..

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

throw :制造异常

 异常处理方式:
抛出异常: throws 把异常抛到上一层
捕获异常: 
try{
	可能会出现异常的代码
}catch(ClassNotFoundException e){ //= new ClassNotFoundException();
	如果出现ClassNotFoundException类型的异常,执行这里的代码....
}catch(NullPointerException e){
	如果出现NullPointerException异常,执行这里的代码
}...
 catch(Exception e){
	接收除了以上的其他的异常,执行这里的代码
}finally{
	无论try中的代码是否出现异常,finally中这里的内容一定会执行
}
注意:
1.try后面可以接一个到多个catch,捕获不同类型的异常
2.把大范围的catch写在最后,小范围写在前面,否则永远执行不到
3.如果try中一旦出现异常,try中的后面的代码都不会执行,执行对应catch中的代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值