学习第十四天

复习

基本数据类型传递:数据值传递
引用数据类型传递:地址值的传递

一:异常:
Throwable
/
Error Exception

Error: 这类不需要程序员关注,一般是由虚拟机生成并脱出的
Exception: 异常
RuntimeException:运行时异常,运行期间发生的异常,编译时没有问题
可以通过增强程序的健壮性来处理 if…else
常见的运行时异常:
空指针异常NullPointerException :当对象无法正常存在使用,会发生空指针
类型转换异常 ClassCastException -->intansceof
数组下标越界
数组长度负数异常
数学异常 ArithmeticException
数字转换异常 NumberFormatException

CheckedException: 检查时异常|编译时异常:发生在编译期间
	如果不处理,程序无法运行

什么是异常:程序无法正常执行完毕
异常的分类:运行时|检查时
异常的不同分类的特点:
异常的处理: ****
throws 异常抛出 抛给上一层处理,当前不处理
try…catch 异常捕获
try{
可能会出现异常的代码;
}catch(NullPointerException e){ //捕获空指针类型的对象,或者多态
如果出现这个异常,执行的代码…
}catch(FileNotFoundException e){
如果出现这个异常,执行的代码…
}…
catch(Exception e){
任意类型的异常都可以捕获
}finally{
无论try中是否出现异常,都会执行finally中的代码
}

try中一旦遇到异常,try后面的代码不会继续执行,直接去找对应的catch,如果存在多个catch,从上倒下依次判断
一个try后面可以跟1~多个catch,至少有一个
如果出现多个catch,捕获异常类型的范围要从小到大

throw 制造异常
前提:异常对象的类型需要继承自Throwable
自定义异常:
直接或者间接的继承自Exception
运行时异常: 继承自RuntimeException
编译时异常: Exception或者某一个编译时异常的子类

二:

Arrays 包含了很多操作数组的方法,是一个静态工厂
常用方法:
Arrays.toString(数组) 把数组中的内容以字符串的形式返回
Arrays.equals(arr1, arr2) 比较两个数组内容是否相等
–从索引为0的位置开始
static int[] copyOf(int[] original, int newLength) 拷贝,截取,填充的效果
–从索引为指定的位置开始
static int[] copyOfRange(int[] original, int from, int to) 从原数组的指定位置开始拷贝,拷贝到指定to位置
注:结束位置不包含
static void fill(int[] a, int val) 数组中的所有位置,使用val数值填充
static void fill(int[] a, int fromIndex, int toIndex, int val)
static void sort(int[] a) 对指定的 int 型数组按数字升序进行排序。
static int binarySearch(int[] a, int key) 查找数据出现的索引 返回值: -插入点 - 1
使用前提:先升序排序

三:
数组:
变量:存储单个数据
数组:存储多个数据

在内存中是一段连续的内存空间
相同数据类型数据的有序集合

数组的特点:
1.数组是一个容器,是一个引用数据类型,堆中
2.数组中的所有数据要求数据类型相同
3.长度一旦确定不可改变
4.有序 根据序号使用(索引|下标)

创建数组:
1.数组的声明
数据类型 变量名;
数据类型[] 数组名;
数据类型 数组名[];—不推荐
数据类型 :数组中所有数据的数据类型
[]->数组
数组名:标识符

2.初始化
动态初始化: 创建的时候不确定数组中的数据值,可以先创建,后续确定了数据值的时候再赋值
数据类型[] 数组名 = new 数据类型[长度];
默认值:整型0 小数0.0 boolean->false char->’ ’ 引用数据类型null
静态初始化: 创建数组的同时赋值
数据类型[] 数组名 = new 数据类型[]{值1,值2,值3…};
数据类型[] 数组名 ={值1,值2,值3…}; --简单,不够灵活

根据索引操作数组中的数据
数组名[下标|索引]->定位数组中指定索引位置的空间,就可以赋值|获取值
数组中最后一个数据的索引
数组名.length-1
属性:
数组名.length 这个数组的数据的个数
数组的遍历:依次的拿出数据的中每一个数据操作
1.for普通for循环
2.增强for循环:for…each
for(数据类型 变量名 : 数组名|容器名){
变量名 ->代表数组中的从前到后的每一个数据
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值