JAVASE基础知识之数组、异常

一、数组
1、定义
多个相同数据类型数据的有序集合
2、作用
存储多个数据
3、特点
(1)引用数据类型
(2)是定长的,长度一旦确定不可改变
(3)存储的多个数据类型相同
(4)有序的,有索引
4、索引
(1)连续的内存空间中每一个小空间的序号
(2)从0开始,每次+1
(3)每个数组的第一个空间索引: 0
(4)每个数组的最后一个空间索引: 数组名.length-1
5、数组长度
数组名.length
6、语法
(1)声明
数据类型[] 数组名; ->推荐
数据类型 数组名[];
数据类型 : 规定存储的数据的类型
(2)初始化
动态初始化
先创建数组,后赋值
数据类型[] 数组名 = new 数据类型[长度];
数组只创建不赋值存在默认值
整数->0 小数->0.0 布尔:false 字符:空字符 引用:null
(3)静态初始化
创建数组的同时赋值
数据类型[] 数组名 = new 数据类型[]{值列表};
数据类型[] 数组名 = {值列表};
7、遍历
(1)普通for循环
条件i是索引,需要根据索引操作数组中的数据
(2)增强for循环|for…each
for(数据类型 变量名:数组名|集合名){
变量名 : 存储数组中的每一个数据
}
(3)增强for与普通for循环使用区别
普通for循环遍历的是索引,操作索引,使用索引,根据索引操作数组中的数据
增强for只能从前到后的获取每一个数据,但是不能操作使用索引
(4)注意
数组中能够存储任意类型的数据
一维数组
数组中直接存放数据值
8、二维数组
数组中放数组
(1)声明
数据类型[][] 数组名; -> 推荐
数据类型 数组名[][];
数据类型[] 数组名[];
(2)初始化
动态初始化
先创建数组,后赋值
数据类型[][] 数组名 = new 数据类型[外层的二维数组的长度][内层一维的长度];
数据类型[][] 数组名 = new 数据类型[外层的二维数组的长度][];
静态初始化
创建数组的同时赋值
数据类型[][] 数组名 = new 数据类型[][]{{1,2,3},{4,5},{6}…};
数据类型[][] 数组名 = {{1,2,3},{4,5},{6}…};
(3)操作数组中的数据
数组名[外层二维索引][内层一维索引]
(4)遍历
普通for嵌套普通
普通for嵌套增强
增强for嵌套普通
增强for嵌套增强

二、异常
1、含义
程序生病了,有问题
2、异常体系
(1)Error
错误一般为虚拟机生成并脱出的,不由程序员管理
(2)RuntimeException
运行时异常
运行时期锁产生的异常
一般通过增强程序健壮性的代码处理 if
(3)CheckedException
检查时异常或编译时异常
发生在编译期间
只能通过异常处理方案处理
如果不处理程序无法运行
3、注意
如果一旦遇到异常,如果不处理程序无法继续向下执行
4、常见的运行时异常
空指针异常
NullPointerException
数组索引越界异常
ArrayIndexOutOfBoundsException
字符串索引越界异常
StringIndexOutOfBoundsException
索引越界异常
IndexOutOfBoundsException
数学异常
ArithmeticException
类型转换异常
ClassCastException
数字转格式异常
NumberFormatException
异常处理方案
异常抛出 throws
把异常抛出到上一层处理
异常捕获
try {
有可能出现异常的代码段;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
} …
catch (Exception e) { --> 接盘侠
e.printStackTrace();
} finally{
一般为资源的关闭等等
}
如果try中的代码一旦出现异常,try后面的代码不执行,直接执行catch进行捕获
从上到下的判断catch,哪一个catch能够捕获当前异常对象,就执行对应catch后面的{}中的代码
如果所有的catch都不满足,这个异常最终没有处理,依旧影响执行的继续执行
一个try后面可以跟1~n个catch
catch从上到下,要求类型范围从小到大
finally
无论try中是否遇到异常,最后都会执行finally中的代码
自定义异常
自定义的异常类型都会直接或者间接的继承自Exception
直接继承自Exception为编译时异常
继承自RuntimeException为运行时异常
throw 制造异常

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值