lambda表达式以及异常

lambda表达式

简化匿名内部类*****

前提:

​ 函数式接口 : 只有一个被重写的抽象方法的接口

​ @FunctionalInterface 强制检测一个接口是否为函数式接口

语法:

​ ()-> {}

​ ():重写抽象方法的参数列表

​ ->:箭头函数,lambda符号

​ {} :重写抽象方法的方法体

函数式编程:将函数的实现作为参数传递

为接口类型的引用赋值的时候

  1. 是否为函数式接口,如果是
  2. 可以通过lambda表达式进行赋值

写法1:标准写法

/*Swim swim = ()->{
	System.out.println("边喝水边游泳....");
};*/

写法2 : 当lambda体中语句只有一句,前后的{}可以省略

//Swim swim = (x,y)->System.out.println("边喝水边游泳...."+(x+y));

写法4 : 当参数只有一个,前后的()可以省略

//Swim swim = x->System.out.println("边喝水边游泳...."+(x));

写法5 : lambda体中语句只有一句,并且这个语句是return语句,前后的{}与return关键字可以一起省略

// Swim swim = x->x>=18;

异常

异常 :
异常机制
异常一旦出现就会影响程序的运行

异常体系 :
Throwable

​ / \

​ Error Exception

Error : 一般是由虚拟机生成并脱出的,不由程序猿控制解决

Exception : 异常

​ 编译时异常|检查时异常 : CheckedException

​ 发生在程序编译期间,如果不处理程序无法运行---->标准的异常处理方案

​ 运行时异常 : RuntimeException

​ 发生在运行期间,如果不处理程序无法继续运行 ---->标准的异常处理方案 | 增强程序健壮性if

说出5种运行时异常 :

  1. 空指针异常
  2. 类型转换异常
  3. 数组索引越界异常
  4. 数组长度负数异常
  5. 数学异常

异常处理方案 : *****

​ 异常抛出 : throws : 将异常从方法的内部抛出到方法上面,由调用方法的位置解决这个异常

​ 在方法上通过throws抛出某种类型的异常,代表当前方法执行过程中有可能出现的问题

​ 异常捕获:try-catch

try{
   有可能出现异常的代码段;
}catch(FileNotFoundException e){
   遇到对应类型的异常对象出现,捕获执行{}中的代码;
}catch(NullPointerException e){
   遇到对应类型的异常对象出现,捕获执行{}中的代码;
}....
catch(Exception e){
   相当于else,default...
}finally{
   无论是否遇到异常,都会执行finally中的代码;
}

​ 一个try的后面可以跟1~n个catch,没有个数限制

​ 多个catch捕获的异常类型要求从小到大

​ try中的代码可以回遇到异常可以不会

​ 从上到下执行try中的代码,如果一旦遇到异常,停止try中代码的执行,直接从上到下的判断catch,执行对应的catch后面的{}

​ 如果执行try中代码时,没有遇到异常,不会执行catch

​ jdk7中,可以将多个catch合并为一个,简化try-catch代码结构

自定义异常 :

​ 自定义的异常类型继承自异常体系

​ 自定义的编译时异常需要继承自Exception,或者Exception下的子类(不能继承自RuntimeException)

​ 自定义的运行时异常需要直接或者间接的继承自RuntimeException

​ 制造异常 throw

异常学习重点掌握 :

​ 1.异常体系

​ 2.异常处理方案

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值