二维数组的结构,常用方法以及异常和处理方式

本文介绍了二维数组的两种声明结构,包括动态和静态初始化方式,并讲解了二维数组的遍历方法。此外,文章还列出了数组常用的操作方法,如排序、转换为字符串等。对于异常部分,讨论了error和exception的区别,重点分析了运行时异常,如空指针和数组下标越界,并阐述了异常处理机制,包括throw、throws、try-catch-finally的使用,以及自定义异常的创建。

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

二维数组
结构:
①数据类型【】【】 数组名;
②数据类型 数组名【】【】;
两种都可以,任选

数组的初始化(赋值)
动态:
数据类型【】【】 数组名=new 数据类型【一维长度】【二维长度】;//表示创建了一维和二维的具体长度,但是数组中的值没有赋值(默认为0)
数据类型【】【】 数组名=new 数据类型【一维长度】【】;//表示只给一维数组确定长度,二维数组还未被创建

静态:
数据类型【】【】 数组名=new 数据类型【】【】{{1,2},{1},{2,3}};
数据类型【】【】 数组名={{1,2},{1},{2,3}};//一般推荐此结构
//表示创建出精确的每个维数组的具体数值以及长度
二维数组的遍历:使用双重for循环(可以使用增强for或者寻常的for循环)

数组的一些常用操作方法:
①Arrays.sort(arr);对指定的数组进行升序排序
②Arrays.toString(arr);返回指定数组内容的字符串表示形式
③Arrays.deepToString 深度打印
④Arrays.binarySearch 二分搜索法,用于更快搜索指定的值
⑤Arrays.copyOf 复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度
⑥Arrays.copyOfRange 复制指定的在一个确定范围内的数组
⑦Arrays.equals 比较一维数组的内容是否相同
⑧Arrays.deepEquals 比较一维以及二维数组的内容

异常:
error和exception
error属于虚拟机造成的错误,无法控制
exception:①检查或者编译时异常(CheckedException)必须处理,否则程序午饭继续运行
使用throws或try…catch来处理
②运行时异常(RuntimeException),运行之后才能知道的问题
使用throws和try…catch或增强程序健壮性来处理

常遇异常:

  1. 空指针异常 NullPointerException
  2. 数组下标(索引)越界 ArrayIndexOutOfBoundsException
  3. 负数异常 NegativeArraySizeException
  4. 数字异常 ArithemticException
  5. 字符串索引越界异常 StringIndexOutofBoundsException

异常处理方式:
throw:制造异常
抛出异常:throws(把异常抛到上一层
捕获异常:结构
try{
可能异常代码
}catch(异常问题){
}…
catch(Exception e){
接收除了以上其他异常,执行此代码
}finally{
无论是否出现异常,有finally的话一次会执行此处代码
}
注:catch可以有多个,大范围异常若处于上面,则会覆盖下面小范围异常,使其无法执行。try中若出现异常,后面的代码都不会执行,然后会执行catch中的对应异常类型

**自定义异常:**自我编写除了程序提供的异常
异常也属于一种类,需要继承异常类 Exception

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值