算法 正则表达式 异常

一.算法

1.排序算法

(1)冒泡排序

(2)选择排序

这里i作为的是比较者,j表示的是被比较者的下标

---

优化:指向第一个数字时,找到后面数字的小值,来和第一个数字比较,以此类推

2.查找算法

二分查找(折半查找)!

二.正则表达式

1.概述

eg.验证qq号码是否正确

(1)正常创建方法判断

(2)正则表达式判断

2.书写规则

3.应用案例(判断合法)

eg1

eg2

第一个\为了证明第二个\就是\,而第二个\为了证明此处是“.”(.在正则表达式里有特殊含义)

4.用于查找信息

5.用于搜索替换 分割内容

----

()里面的为一组,()里面是.就是任意字符,可以是我,编,程;然后\\1就是把这个组定义为1组

----

三.异常

1.认识异常

jvm是main方法的上层方法


异常是会传递的 所以该方法直接抛出但其他的方法调用这个方法时还会报错 所以需要用到try—catch

特性throws(声明抛出)try-catch(捕获处理)
核心行为声明方法可能抛出的异常,不处理,交给上层调用者捕获异常并自行处理,异常不会向上传播
语法位置方法声明处(方法名后)方法体内部(包裹可能抛异常的代码)
异常传播异常会向上抛给调用者,调用者必须处理(要么try-catch,要么继续throws异常被拦截,不会向上传播
适用场景方法无法处理异常(比如工具方法),需要调用者决定如何处理方法能明确处理异常(比如打印日志、返回默认值)
代码示例public void readFile() throws IOException {}try { 读文件 } catch (IOException e) { 处理 }
throwstry-catch
工具类 / 通用方法(无法确定异常处理逻辑)业务方法(明确知道如何处理异常,比如返回友好提示)
运行时异常(无需声明,默认抛)检查型异常(必须处理,且当前方法能处理)
异常需要上层统一处理(比如全局异常拦截)异常需要立即处理(比如释放资源、记录日志)

2.自定义异常

(1)运行时异常

(2)编译时异常


3.异常的两种处理方式

(1)信息反馈

||||||||

运行过程

如果纠正时间问题

--------------------------------

实际代码中 具体指出每个异常不方便 优化代码为Exception(所有异常的父类)

(2)修复异常

||||||||||